Transformer 层打乱与跳过机制研究:揭示信息流动与层间关系
最新研究通过实验分析了 Transformer 层跳过、顺序打乱及并行运行的影响。研究发现中间层共享表征空间,但执行不同功能;跳过部分中间层对性能影响较小,而重复单一层权重会导致灾难性后果。层顺序对推理和数学任务更为敏感,语义任务受影响较小。并行运行中间层并迭代可优化性能,且随机顺序优于逆序。该研究揭示了 Transformer 内部信息流动机制,为模型架构优化提供了依据。

最新研究通过实验分析了 Transformer 层跳过、顺序打乱及并行运行的影响。研究发现中间层共享表征空间,但执行不同功能;跳过部分中间层对性能影响较小,而重复单一层权重会导致灾难性后果。层顺序对推理和数学任务更为敏感,语义任务受影响较小。并行运行中间层并迭代可优化性能,且随机顺序优于逆序。该研究揭示了 Transformer 内部信息流动机制,为模型架构优化提供了依据。

Transformer 架构中的信息流动机制,近期被一项名为'Transformer Layers as Painters'的研究深入揭示。该研究由 AI 初创公司 Sakana AI 和 Emergence AI 的团队完成,通过一系列实验解答了关于 Transformer 层结构的关键问题。
研究团队从 Transformer 内部工作原理出发,重点探讨了以下问题:
实验动机源于一个假设:由于训练过程中使用了残差连接,神经网络的中间层可能使用了一个共同的表征空间。如果层能共享一个表征空间,将对后续条件计算或向预训练 Transformer 模型动态添加新知识及下游应用产生重要影响。
实验在 decoder-only 和 encoder-only 模型上进行。
研究人员使用这些模型的标准预训练 checkpoints。在所有实验中,模型都是冻结的,除 BERT 的评估中包含一个标准的微调步骤外,其它情况未通过微调等方法修改模型参数。
性能评估方面,Llama2 提供了基准测试的标准化中位数,将性能从 0 到 1(模型最优性能)进行量化。
为确定不同层是否共享相同的表征空间,研究人员检验了 Transformer 对于跳过特定层或更改相邻层顺序的鲁棒性。
实验发现,除了最前面的和最末尾的几层,Llama2-7B 跳过或改变层序表现出很好的鲁棒性。这表明中间层共享一个表征空间,而中间层与'外层'(最前面的和最末尾的几层)具有独立的表征空间。
为了进一步证实这一假设,研究人员测量了不同模型中不同层的隐藏状态激活之间的平均余弦相似度。结果显示所有中间层之间的一致性较高。例如,底部第四层的激活与顶部第四层的激活高度相似。对于 40 层的 Llama2-13B,可以看到这些层按相似性可划分成 4-5 个组:第 0 层,1-3 层,中间层,然后是最后一两层。
这表明模型可能对'开始'、'中间'和'结束'层具有三个不同的表征空间。高余弦相似度证明有一个共享的表征空间,低相似度表明这些空间不是共享的。这进一步证明了至少中间层的表征空间是共享的。
为了进一步验证中间层的表征空间真正共享,研究人员进行了层跳过实验(未进行任何微调)。
具体来说,将第 N 层的输出直接传递为第 N+M 层的输入(M>1),从而'跳过'了 M-1 层。此类实验中,研究人员正常执行第一层和最后 N-1 层,而跳过或修改第 N+1 到第 T-N 层(T 是模型总层数)。
结果显示,在多个基准测试中,Llama2-7B 和 BERT-Large 的性能均逐渐下降(随着跳过层数递增)。这一结果揭示了:不是所有层都是必要的,至少省略部分中间层不会对整体性能造成严重影响。
如果中间层共享一个共同的表征空间,这些层是否多余?
研究人员重新进行了'跳过'实验,但这次不是跳过中间层,而是用最中心层的权重替换了所有这些中间层的权重。实际上就是在最中心层上循环执行了 T-2N+1 次。
结果基准测试中,随着被替换的层数增加,模型性能迅速下降。而且性能下降速度比仅仅跳过某些层要严重得多,这种权重替换极具破坏性。
因此,中间层各执行不同的功能并非多余,中间层之间共享权重会产生灾难性后果。
上面实验表明中间层虽共享表征空间,却在该空间上执行不同操作。那么这些操作顺序重要吗?研究人员进行了两组实验。
首先,将中间层按照与其训练顺序相反的顺序(逆序)执行。其次,随机排列中间层顺序,并平均 10 个随机种子结果。
结果两种情况模型都呈现出缓慢的性能下降。值得注意的是,随机顺序性能优于逆序。可能是因为逆序与训练时的顺序完全相反,而任何随机顺序都至少保持了一些顺序上的连贯性。
结论是:层顺序调整对性能有一定影响,随机顺序和逆序都表现出一定的性能退化。
如果层的存在没有被跳过,比它们执行的顺序更重要,那么是否可以考虑独立地运行这些层,然后将它们的结果合并?
研究人员进行了一个实验,不是跳过第 N 到第 T-N 层,而是并行运行这些中间层,然后将它们的平均结果传递到最后的 N 层。
结果显示,除了 GSM8K 数学题基准外,所有基准测试都表现出缓慢的性能退化。有趣的是,并行层的表现优于跳过层,但不如逆序运行层。
总之,可以并行运行这些层吗?答案是:可以,数学为主的基准测试除外。
大多数变体(包括逆序、跳过和并行)在抽象推理 ARC 或数学推理 GSM8K 基准中,表现出最快速的性能下降。
可以解释为逐步推理任务比'语义'任务(如 Winogrande 或 HellaSwag)对层顺序的变化更为敏感。这是因为推理任务需要结合结构和语义双重信息,而 HellaSwag 这类任务仅需语义即可完成。
通过实验,研究人员得出结论:数学和推理任务比'语义'任务更依赖顺序。
如果把 Transformer 内部运行机制比作是画一幅画的过程:画布(输入)在一些画家之间传递,每个画家都依次从另一位画家手里接过画布,然后决定对这幅画进行补充,还是将其直接传递给下一位画家(使用残差连接)。
在 Transformer 中,某些层可能只有在接收到适当的输入时才会对前向传递发挥作用。相比于仅执行一次并行层,迭代执行并行层应该会提高性能。
研究人员通过将并行层的平均输出回馈到同一层并固定迭代次数来进行测试。结果显示,并行层迭代 3 次的结果显著优于仅执行一次并行层。
唯一的例外是在 Llama2-7B 的起始层 N 为 15 或 BERT 的起始层 N 为 11 时。在这种情况下,循环并行 3 次的效果相当于仅重复中间层 3 次,此时的并行层等同于完整模型。
结论是:迭代对并行层有帮助,最佳迭代次数与并行层数成比例。
最后,研究人员将实验中的所有不同变体在同一图表上进行了比较。
结果显示,重复单一层效果最差,性能迅速退化至随机基准线。迭代并行和随机层顺序性能退化最小,其中迭代并行在 BERT 和 Llama2-7B 中表现最好。
这项研究不仅揭开了 Transformer 的信息流动机制,还为模型优化提供了实际指导。
该研究论文链接:https://arxiv.org/abs/2407.09298v1
通过对 Transformer 内部机制的深入剖析,我们不仅能提高现有模型的利用效率,还能帮助改进架构开发新的变体,推动大模型技术的发展。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online