Lecture 05 · 并行之外,还能改变信息走过的路径

R38 · 并行之外,还能改变信息走过的路径

多次读取已经能并列组织,序列内部还一定要靠循环吗?把循环、卷积与全attention放在同一关系上比较,才能找到值得验证的结构机会。

状态 b0

强循环和卷积方案与全attention放在同一六词序列上。先只比较序列内部连接,不预先宣布路线胜负。

这里比较序列内部骨干,三种系统的跨序列读取另计。

序列内部:谁要等谁,远处信息走多远?循环 + attentionGNMT我昨天给她一书hhhhhh局部卷积 + attentionConvS2S我昨天给她一书hhhhhh全 attentionTransformer我昨天给她一书hhhhhh每个位置可读取源位置

状态 b1

追同一远距离关系:循环经过中间状态,局部卷积依靠层叠,全attention可在合法范围内一层直连。

序列内部:谁要等谁,远处信息走多远?循环 + attentionGNMT我昨天给她一书hhhhhh沿时间等待远距沿状态路径传播局部卷积 + attentionConvS2S我昨天给她一书hhhhhh同层位置并行靠局部层叠扩大范围全 attentionTransformer我昨天给她一书hhhhhh同层位置并行一层直接连远位置

状态 b3

卷积也能同层并行,所以额外待测理由是远距交互路径。比较这一机会与二次交互代价,而非把并行当attention专属优势。

卷积也能并行,为什么还值得试全 attention?共同任务:远处的接收者,必须影响当前位置。局部卷积跨远距需叠多层全 attention合法范围内,一层直接读取123456123456预期:长距关系的学习,可能少走几层。代价:密集两两交互 O(n²d);长序列下未必合算。

状态 b2

短路径旁加入两两交互成本。将连接机会与代价同时保留,任务表现还要另测。

序列内部:谁要等谁,远处信息走多远?循环 + attentionGNMT我昨天给她一书hhhhhh沿时间等待远距沿状态路径传播局部卷积 + attentionConvS2S我昨天给她一书hhhhhh同层位置并行靠局部层叠扩大范围全 attentionTransformer我昨天给她一书hhhhhh同层位置并行一层直接连远位置循环变换 O(nd²)局部卷积 O(nkd²)全局交互 O(n²d)

公式与算例详情

连接路径、并行轴与代价

RNN 沿序列更新状态,一层典型计算量为 $O(nd^2)$,位置之间有 $O(n)$ 个先后步骤,远处信息需经过多个状态更新。宽度 k 的普通一维卷积可并行计算同层位置,单层量级为 $O(knd^2)$,但长程交互需叠层扩大感受野;普通局部卷积的路径约为 $O(n/k)$,空洞卷积可缩短为 $O(\log_k n)$,不能把两种条件混为一谈。

全 self-attention 的位置交互项是 $O(n^2d)$,同层各 query 可一起计算,任意两位置可以经一次读取直接相连。投影仍有 $O(nd^2)$ 的成本;表中比较的是相应核心层的典型量级,实际速度还受维度、硬件、实现与长度影响。在 n 小于 d 的常见条件下,论文认为 self-attention 的计算选择有吸引力;长度很大时,二次交互又成为代价。

这不是 RNN 或卷积不再有效的证明。三者的局部性、状态形式、并行性与成本不同,应由任务和预算决定。R48 再用 Vaswani 等人的任务结果检查这种结构机会是否兑现。

参考与采用

原课页采用记录:M23 为什么考虑去掉 recurrence。页码均按PDF物理页计。

继续学习

如果“可并行”与“远处可直接相连”仍混在一起,读三种结构的路径与复杂度,分别画同层依赖和跨位置路径。两种时间尺度的路线判断及CLS 02“9 · 2017:并行值得试,胜负仍要测”把结构机会接到任务选择;在受控实验设计先规定长度、质量、吞吐和内存口径,再比较候选,不把理论量级直接当实测时间。