专栏名称: AI生成未来
AIGC最新技术及资讯
目录
相关文章推荐
北京本地宝  ·  在北京持居住证可以享受的7大便利! ·  3 天前  
北京吃货小分队  ·  庆丰包子铺出自助了!但... ·  3 天前  
最爱大北京  ·  高程履新,系爱国将领程潜外孙女 ·  3 天前  
51好读  ›  专栏  ›  AI生成未来

无比喻,不论文!用「画家流水线」的方式理解Transformer中间层

AI生成未来  · 公众号  ·  · 2024-08-09 00:30

正文

点击下方 卡片 ,关注“ AI生成未来
>>后台回复“GAI”,免费获取AI行业报告和资料!
转载自:新智元
如有侵权,联系删稿

【导读】 Transformer架构层层堆叠,包含十几亿甚至几十亿个参数,这些层到底是如何工作的?当一个新奇的比喻——「画家流水线」,被用于类比并理解Transformer架构的中间层,情况突然变得明朗起来,并引出了一些有趣的发现。

尽管Transformer架构已经主宰了当今几乎所有的大模型,但我们依旧对它的工作原理知之甚少。
而且,基于Transformer的预训练LLM动辄有几十亿参数,很难直接对模型进行可解释性分析。
同时,模型中间层由N个相同的块堆叠在一起,它们之间唯一的区别只有层次位置和权重值,这就让理解中间层更加困难。
然而,最近发表的一篇论文却给出了一个十分通俗易懂的比喻——「画家流水线」。

论文地址:https://arxiv.org/pdf/2407.09298v1
有着「东京AI梦之队」之称的Sakana AI,联合IBM前AI负责人Satya Nitta创始的Emergence AI,两个团队的研究人员用一种新的「打开方式」来解释Transformer架构的中间层。
值得一提的是,这篇论文作者之一Llion Jones同样也是当年Transformer架构的共同创建者之一。
那么,「画家流水线」这个比喻该如何理解呢?
首先,输入被看作是一张画布,输入通过N个组成中间层的块的过程,就像是画布在「画家流水线」上进行传递的过程。
有些画家擅长画鸟,而有些画家则更擅长画鱼。每个画家从前面的画家手中接过画布,然后决定是在画上添几笔,还是直接传给后面的画家。
在这个类比中,非常重要的一点是,每个画家都使用相同的「词汇」来理解画作,因此一个画家可以在流水线上从前一个画家手中接过画作,但不会因为对画面理解不同而造成灾难。
画家们也可以重新排序(调整图层的前后顺序),甚至可以同时添加笔触,就像N个块可以并行运行。
这个类比并不是一个严谨的理论,但可以提供一个帮助我们思考Transformer层的有趣视角。
在这个类比的启发下,研究人员提出了一些假设,并通过实验来验证这些假设是否成立——
  • 不同层是否使用相同的表征空间?

  • 所有的层都是有必要的吗?

  • 中间层是否都在执行相同的功能?

  • 层的顺序重要吗?

  • 我们能并行运行各层吗?

  • 顺序是否对与某些特定任务而言更重要

  • 循环是否有助于并行层?

  • 哪些变体对性能的损害最小?

实验


主要用于实验包括两种预训练LLM,分别是decoder-only架构的Llama2-7B,以及encoder-only架构的BERT。Llama2-7B有70亿个参数和32层(每层含2.02亿个参数),BERT仅有24层和3.4亿个参数。
在下述所有实验过程中,模型都是冻结的。除了对BERT进行GLUE基准测试时进行了标准的微调步骤,参数没有经过任何修改。
评估过程采用了ARC(科学考试题)、HellaSwag(常识)、GSM8K(数学应用题)、LAMBADA(单词预测)等常用基准。
其中LAMBADA任务可以衡量模型困惑度(perplexity),任务最接近预训练时的原始token预测。
结果发现,Transformer的中间层有一定程度的一致性,但不冗余,而且对数学、推理任务而言,各层的运行顺序比在语义任务中有更重要的影响。

各层「说同一种语言」?

Transformer中的不同层是否共享相同的表示空间?
为了回答这个问题,论文采用的方法是让模型跳过特定层或调换相邻层的顺序,观察会不会出现灾难性后果。
图2中展示了Llama 2 7B在跳过或调换一些层后,模型整体在Open-LAMADA基准上的表现。
可以看到,除了起始和末端的几层,模型对这两种架构修改都表现出了相当强的鲁棒性。
因此可以得出初步结论:1)中间层共享同一个表示空间,2)表示空间与「外层」(第一层和最后几层)不同。
为了进一步验证,论文还进入模型内部,测量了不同层中隐藏状态内激活函数的余弦相似度(图3),表明这种一致性在三个模型的所有中间层都成立。
上图还可以很清晰看到,模型各层自然形成了4~5个不同的相似组,比如Llama 2 13B模型中分别是:第0层,1-3层、中间层,以及最后的1层或2层。
据此,Transformer中的所有层可以被大致分为三类:起始层、中间层和结束层。
此外,图3中的矩阵也能和图2中的模型分数相对应,更能有力证明,中间层之间共享语义表达空间。

所有层都必要?

为了进一步检验中间层的重定向空间是否真正共享(除了具有接近的余弦相似性),研究人员尝试跳过多个层。
也就是说,将第N层的输出直接送入第N+M层的输入(其中M>1),从而「跳过」M-1层。
在不进行任何微调的情况下,这个实验是要看看N+M层能否理解来自N层的激活,尽管它在训练中只接受了来自N+M-1层的输入。
结果显示,Llama2-7B和BERT-Large的许多基准性能都出现了一定程度的下降。
那么,所有层都有必要吗?这一问题已经有了答案。
No! 并非所有层都是必要的,至少有几个中间层可以跳过,而不会发生灾难性故障。

左图:Llama2-7B跳过N层~32-N层的基准测试结果(归一化);右图:BERT跳过N层~24-N 层的基准测试结果(未归一化)

中间层功能相同吗?

如果中间层共享一个共同的表征空间,这是否意味着这些层是多余的呢?
为了验证这一点,研究人员重新进行了上一小节的「跳过」实验。
但不同的是,这次不是直接跳过M个中间层,而是用模型最中心的的一层代替全部M个层(Llama是第16层,BERT是第12层),相当于在这一层上循环T-2N+1次,其中T是层的总数。






请到「今天看啥」查看全文