Transformer 到底解决了传统序列模型的哪些问题
围绕 RNN 顺序处理和 Transformer 全局注意力的对比,解释顺序依赖、长距离信息和并行训练之间的关系。
相关工具
Transformer 不是凭空出现的
在 Transformer 之前,RNN 及其变体是处理文本序列的重要方法。它们按照词元出现的顺序读取输入,每处理一个位置,就把当前信息和上一时刻的隐藏状态合并,再传给下一位置。这个思路直观,也天然带有顺序,但计算依赖同样成为限制。
资料 把 Transformer 放回机器翻译场景理解:输入是一种语言的句子,输出是另一种语言的句子。Transformer 的目标不是简单换一个模块,而是重新组织序列信息,让模型能够直接建立远距离关系,并尽可能利用矩阵计算的并行能力。

RNN 依赖前一时刻状态,Transformer 可以把多个位置组织成矩阵并行计算注意力。
顺序依赖为什么会拖慢训练
RNN 处理第 t 个位置之前,通常需要先完成第 t-1 个位置。即使硬件可以同时计算很多矩阵,序列内部的时间步仍然要按顺序推进。句子越长,等待的步骤越多,批量训练的并行空间也越小。
Transformer 的自注意力把整个序列表示为矩阵,多个位置可以同时生成 Q、K、V,并一次计算位置之间的关系。训练时,编码器的多个位置和带因果掩码的解码器多个位置都能参与同一轮矩阵运算,顺序约束由掩码和目标排列负责。
长距离信息为什么容易衰减
在顺序模型中,句首信息要影响句尾,通常需要沿着一串隐藏状态逐步传递。距离越长,信息经历的更新步骤越多,早期内容可能在后续传递中变弱。门控结构可以改善这个问题,但并没有完全改变顺序传递的基本路径。
自注意力提供了更直接的连接:当前位置可以与远处位置计算相关性,再从对应 Value 中取回信息。距离很远并不代表一定会被关注,模型仍要从数据中学习关系,但信息不必只能经过所有中间位置才能到达。
Transformer 也需要额外补上顺序
注意力可以同时查看多个位置,但它本身不会自动知道词元先后。如果把序列中的词重新排列,只依靠词嵌入和无序的注意力操作,模型很难分辨原来的顺序。因此 Transformer 需要位置编码,把顺序信息加到输入表示中。
这说明 Transformer 的优势不是彻底摆脱顺序,而是把顺序信息从逐步读取改成显式的数值表示。位置编码告诉模型词元在哪里,因果掩码则在解码时规定未来不可见。二者共同补上注意力架构需要的顺序边界。

自注意力提供全局读取能力,位置编码让模型能够区分序列中的先后关系。
全局连接带来了什么代价
Transformer 并不是在所有方面都更省。自注意力需要建立位置之间的关系矩阵,序列长度为 L 时,标准注意力会产生 L×L 的位置关系,长序列下计算和内存成本会快速增加。
因此,Transformer 是用更大的全局关系计算,换取更短的信息路径和更强的并行训练能力。短序列或中等长度场景下,这种交换很有价值;序列特别长时,就需要关注注意力复杂度、批次组织和缓存等问题。
从一个序列模型到 Encoder-Decoder
Transformer 仍然可以完成编码和生成,但把两件事拆成了编码器和解码器。编码器用自注意力理解完整源序列,解码器用掩码自注意力处理目标前缀,再用交叉注意力读取编码器记忆。
这套结构同时利用了源序列的全局理解和目标序列的因果生成。源句可以双向查看,目标端不能看未来,两侧通过交叉注意力连接。它不是把 RNN 的隐藏状态简单替换成一个注意力层,而是重新设计了信息流。

Transformer 用编码器、解码器和交叉注意力组织源序列理解与目标序列生成。
Transformer 并没有消除所有顺序问题
训练阶段的目标位置可以并行计算,但推理时的自回归生成仍然需要一个词一个词推进,因为后一个词依赖前一个词。Transformer 解决的是训练中的顺序依赖和信息传递路径问题,并没有让未知的未来答案提前出现。
在推理阶段,缓存可以减少已经计算过的 Key 和 Value,降低每轮成本,但目标序列的生成轮次仍然存在。理解这个边界,可以避免把 Transformer 的并行优势误解成所有场景都完全并行。
该怎样概括 Transformer 的改进
可以把 Transformer 的主要改变概括成三点:用自注意力让位置之间直接建立关系,用位置编码和掩码补充顺序信息,用矩阵计算提高训练阶段的并行程度。它因此更容易处理长距离联系,也更适合现代硬件的大规模计算。
这些改变同时带来新的成本:注意力矩阵会随序列长度增长,推理生成仍有自回归依赖,模型还需要学习如何使用全局关系。Transformer 的价值不在于没有代价,而在于它把序列建模的瓶颈换成了更适合扩展和优化的形式。
常见问题
Transformer 完全不需要顺序处理吗?
训练时多个位置可以并行计算,但需要位置编码和因果掩码保留顺序信息;推理时目标序列仍然按自回归方式逐步生成。
Transformer 一定比 RNN 更适合所有任务吗?
不一定。Transformer 在全局关系和并行训练方面有优势,但注意力对长序列的计算和内存成本较高,具体选择要看任务和资源。
Transformer 为什么还要保留解码器的因果顺序?
生成目标词时,未来答案尚未产生。因果掩码保证训练条件与推理条件一致,避免模型提前读取真实目标。