Transformer自问世后就大放异彩,但有个小毛病一直没解决: 总爱把注意力放在不相关的内容上,也就是信噪比低。 现在微软亚研院、清华团队出手,提出全新改进版Differential Transformer,专治这个老毛病,引起热议。 论文中介绍,整体思路类似差分放大电路或降噪耳机,用两个信号的差值来滤除共模噪声。 具体到在语言模型中,如果句子很长,只有少数token会真正影响当前token的含义。而注意力机制允许每两个词之间产生交互,其中就包含大量噪声了。 团队提出的方法是在注意力层中增加一个Softmax,然后两个Softmax做减法。 这一减,噪音信息就被大幅抵消,让注意力更集中在相关内容上。 语言建模任务上的一系列实验结果显示,仅需约65%的模型大小或训练tokens,DIFF Transformer就能达到与传统Transformer相当的性能。 新架构在长上下文建模、关键信息检索、减少幻觉、提高上下文学习能力以及减少激活异常值等各项指标中,普遍优于Transformer架构。 论文上传到arXiv平台后,有不少学者到划线提问。一作Tianzhu Ye正绝赞在线答疑中。 差分Transformer 与传统Tranformer相比,DIFF Transformer保持宏观架构不变,主要区别在于用差分注意力替换传统softmax注意力。 此外还采用了LLaMA系列中的一些改进,如pre-RMSNorm归一化和SwiGLU激活函数。 在差分注意力模块中,需要先给Q和K分成两个组,然后分别计算softmax。 第二组乘了一个标量λ,是可学习的参数,在同一层的注意力头之间共享。 λ的引入是为了在差分操作中平衡两组注意力的贡献,使得差分注意力机制能够更好地适应不同的任务需求和数据分布。 接下来是一系列实验结果。 语言建模评估在1T tokens上训练3B大小的DIFF Transformer,遵循 StableLM-3B-4E1T的配方,在各种下游任务中与以前训练良好的Transformer模型相比表现出优势。 可扩展性评估只需约65%的模型参数或训练tokens来匹配Transformer的性能。 长上下文能力评估在额外1.5B tokens上训练3B大小的DIFF Transformer,扩展上下文长度至64k。 随着上下文长度增加,累计平均负对数似然(NLL)持续降低,并且比传统Transformer的NLL值更低。 表明DIFF Transformer可以有效利用不断增加的上下文。 关键信息检索能力评估也就是多个“针”的大海捞针试验,设置不同的上下文长度(4K和64K)来模拟不同复杂程度的信息检索场景。 在4K上下文长度下,随着插入 “针” 数量和查询数量的增加,DIFF Transformer的准确率保持稳定,而Transformer 的准确率显著下降。 在64K上下文长度下,DIFF Transformer在不同答案针深度(即关键信息在长上下文中的位置)和上下文长度下都能保持稳定性能,且在关键信息位于上下文前半部分时优势明显。 特别是当关键信息位于25%深度时,DIFF Transformer比Transformer的准确率提高了 76%。 上下文学习能力评估分为两个角度来评估,分别是多样本分类和上下文学习的稳健性。 多样本分类任务,同样使用64K上下文长度的3B参数模型,DIFF Transformer的准确率始终高于Transformer,提升幅度从5.2%到21.6%不等 上下文学习稳健性采用排列顺序任务,DIFF Transformer的结果方差远小于传统Transformer。 上下文幻觉评估主要关注输入中包含正确事实,但模型仍然无法产生准确输出的情况。 将模型输出与ground-truth一起发给GPT-4o,让GPT-4o来判断是否存在幻觉,此前试验表明GPT-4o与人类评判结果一致率较高,相对可靠。 在不同数据集上DIFF Transformer的准确率更高,幻觉更少。 激活异常值分析Transformer中的激活异常值,导致模型在训练和推理过程中难以量化。 试验比较了注意力logits和隐藏状态两种激活类型下的最大激活值,DIFF Transformer都表现出更低的顶部激活值,即产生更少的激活异常值。 在对注意力logits进行量化实验时,DIFF Transformer在降低比特宽度量化时仍能保持较高性能,而Transformer在6-bi 量化时准确性显著下降。 4-bit的DIFF Transformer能达到与6-bit的Transformer相当的准确性,且比4-bit的Transformer准确率提高约 25%。 代码已开源, 降噪耳机类比引热议 对于目前读者的疑问,作者已做出几点答复 问题1:Diff Transformer与每个注意力头温度可学习的方法有什么不同?与门控注意力对比如何? 作者回应在实验中,可学习温度效果不大。而本文方法是门控注意力的改进。 问题2:差分注意力是否意味着将标准注意力矩阵参数翻倍? 作者澄清,单个注意力头维度翻倍,但是注意力头数量减半,总体在参数和FLOPS上都是对齐的。 问题3:第二组Softmax乘可学习参数lambda的研究思路。 作者也做出详细回应。 DIFF Transformer在纯学术圈之外也引起非常多的讨论,有不少人困惑论文中将方法与降噪耳机的类比。 降噪耳机采集环境噪声并生成相反的信号,在这种情况下哪些信号属于噪声是已知的,但差分注意力中并不能事先确定哪些是噪声。 一种解释是,低注意力分数的噪声也有很低的梯度,因此模型其实已知哪些是噪声,只是单个Softmax无法输出0,所以噪声很难去除。 也有人提出,比起降噪耳机,其实专业音频中“平衡线”,或者USB、网卡等传输方式更适合一些。 使用两条信号线传输正负信号,接收器只对比他们之间的差异,由于在空间中离得很近,受到的干扰是相同的。 有用的正负信号相减会被放大,相同的噪声相减却被抵消,大大增强抗干扰能力。 总之,DIFF Transformer代码已开源在微软unilm项目下,其中还包含魔改版支持差分注意力的FlashAttention-2的代码。 感兴趣的可以试起来了。
本文来源:量子位 |
原创栏目
IT百科
网友评论
聚超值•精选