八问八答:Transformer内部运作原理揭秘
八问八答:Transformer内部运作原理揭秘
七年前,一篇名为《Attention is all you need》的论文提出了Transformer架构,彻底改变了深度学习领域。如今,各大AI模型都基于Transformer架构构建,但其内部运作机制仍然是一个未解之谜。最近,Transformer论文作者之一Llion Jones创立的Sakana AI发布了一篇题为《Transformer Layers as Painters》的论文,通过类比画家作画的过程,深入探讨了预训练Transformer中的信息流,并对仅解码器和仅编码器冻结Transformer模型进行了实验研究。
画家作画类比
研究将Transformer的内部机制类比为画家作画的流水线。在这个类比中,画布(输入)被传递给一系列画家,每个画家都有其专长,比如画鸟类或轮子。画家们可以选择在画布上添加笔触,或者直接将其传递给下一位画家(通过剩余连接)。这个类比虽然不是严格的理论,但为理解Transformer层提供了一个有用的视角。
实验设计与假设验证
研究者基于这个类比提出了多个假设,并通过实验进行验证:
- 各层是否都在使用相同的表征空间?
- 所有层都是必要的吗?
- 中间层都执行相同的功能吗?
- 层的顺序重要吗?
- 这些层可以并行运行吗?
- 对于某些任务来说,顺序是否比其他因素更重要?
- 循环有助于层并行吗?
- 哪些变体对模型性能影响最小?
研究者在预训练LLM上进行了一系列实验,包括标准Transformer执行策略的变化,并在仅解码器(Llama)和仅编码器(BERT)模型的各种基准上测量这些变化对模型性能的影响。
实验结果
各层是否都在使用相同的表征空间?
研究者测试了Transformer在跳过特定层或切换相邻层顺序时的稳健性。实验表明,除了第一层和最后几层之外,Llama2-7B的各层对跳层或切换层都相当稳健。这表明中间层共享一个表征空间,而"外围层"(第一层和最后几层)拥有不同的表征空间。
所有层都是必要的吗?
研究者尝试了"跳过层"的实验,即将第N层的输出直接发送到第N+M层的输入中。实验结果显示,Llama2-7B和BERT-Large在许多基准测试上性能出现适度下降,但并未发生灾难性故障。这表明至少可以删除一些中间层而不会导致系统崩溃。
中间层都执行相同的功能吗?
研究者通过替换中间层权重的实验发现,随着被替换层数的增加,模型在基准测试的得分迅速下降。这表明中间层执行的是不同的功能,让中间层之间共享权重并不可行。
层的顺序重要吗?
研究者设计了两组实验:反向运行中间层和随机顺序运行中间层。结果显示,模型在所有基础测试集中都显示出了逐渐下降的趋势,但随机打乱层的顺序比完全反过来效果更好。这表明层的顺序对模型来说有一定的重要性,但即使改变了顺序,这些层仍然能够发挥作用。
这些层可以并行运行吗?
研究者设计了一个实验,将中间层并行运行并将它们的平均结果发送给最终的N层。实验结果显示,这种方法在大多数情况下都是有效的,但对于需要顺序逻辑理解的数学问题,这种方法可能不太适用。
对于某些任务来说,顺序是否比其他因素更重要?
研究发现,对于抽象推理(ARC)或数学推理(GSM8K)基准测试,模型往往显示出最陡峭的下降趋势。这可能源于逐步推理任务对于模型层级顺序的敏感度远高于那些主要依赖语义理解的常识性任务。
循环有助于层之间并行吗?
研究者通过将并行层的平均输出反馈到同一层中进行固定次数的迭代来测试这一点。结果显示,循环并行3次的结果显著优于单次迭代(并行层)。最佳迭代次数与并行化层数成正比。
如何调整层,对模型性能的影响最小?
研究者将所有实验中对Transformer的"改造"进行了比较。结果显示,中间重复(用相同数量的中间层副本替换中间层)表现最差,很快降到了随机基线的性能。相反,循环并行和随机层顺序的影响最小。
结论
这些实验整体上显示出平缓的性能下降,但研究者仍然不清楚为什么这些层在大多数扰动下还能保持一定的稳健性,这个问题还需在未来的研究中进一步探讨。