R47 · 并行算训练位置,不等于并行知道未来词
完整结构已经能输出下一词分布。现在分别看训练与生成手里已有的信息,定位并行究竟发生在哪个阶段、哪条轴上。
状态 b0
训练答案已知,右移后各行合法前缀可同时构造。mask仍约束未来连接。
状态 b1
并行的是同层已知位置,后一层继续依赖前一层输出。观察并行轴与层间等待的区别。
状态 b2
生成中的后续输入还空着;先选I并接回,下一步输入才成立。未知token依赖没有因矩阵化消失。
公式与算例详情
训练与生成知道的内容不同
训练时正确目标序列全部来自数据。把输入右移一位,再使用 causal mask,便能在一层里同时计算多个目标位置,分别形成各自的下一词分布与损失。每个位置仍只能利用合法前缀,只是这些前缀已经可由训练数据构造。沿层的依赖没有消失:第 l+1 层需要第 l 层的表示。
自回归生成时,模型没有真实的后续目标 token。给定源句与 BOS,先得到第一个分布并选择 token;把选出的 I 接回后,再得到下一分布。用 greedy、采样或 beam 会改变如何选择候选,但不改变普通自回归分解对前缀的依赖。
因此“Transformer 可以并行”必须说清轴与阶段:训练时同层的序列位置可并行;普通自回归生成的后续 token 仍依赖先前选择。相同输入前缀中哪些计算可缓存,是接下来现代 decoder 运行部分要单独分析的问题。
参考与采用
- Vaswani et al. · Attention Is All You Need:原始 encoder–decoder Transformer:信息来源、并行性、路径和代价。 复核位置:§3、Table 1/2;本轮核对v7 PDF;首次提交2017-06-12
原课页采用记录:M29 从 block 到 LM 训练。页码均按PDF物理页计。
继续学习
若训练并行与生成逐词看似矛盾,读已知目标与未知后续的区别,给同一位置标出训练时已给定、生成时尚未知的 token。两种时间尺度的路线判断与CLS 02“9 · 2017:并行值得试,胜负仍要测”讨论这一区别怎样影响投入;在LAB 02 D 段核对右移与生成循环,随后 R54–R55 再检查其中可复用的中间量。