提高大型语言模型(LLMs)在检索提示信息中的能力仍然是一个活跃的研究领域,尤其在检索增强生成(RAG)和上下文学习(ICL)等应用场景中显得尤为重要。最近,微软研究院和清华大学的研究人员提出了一种新的大语言模型架构——微分Transformer(Diff Transformer),旨在通过放大对相关上下文的关注并过滤掉噪声来提升模型性能。他们的研究成果发表在一篇研究论文中,显示Diff Transformer在多种设置下均优于经典的Transformer架构。
Transformer与“中间迷失”现象
Transformer架构是大多数现代LLMs的基础,它使用注意力机制来衡量生成输出时输入序列不同部分的重要性。注意力机制通过softmax函数将一组值归一化为概率分布,为输入序列中的不同token分配注意力分数。
然而,研究表明,Transformer在从长上下文中检索关键信息方面存在困难。微软研究院的合作伙伴研究经理Furu Wei在接受VentureBeat采访时指出,他们首先研究了所谓的“中间迷失”现象,即LLMs在处理长输入上下文时无法稳健地利用信息,特别是在需要访问长上下文中间相关信息的情况下,性能显著下降。
Wei和他的同事还发现,一些LLM幻觉(即模型在有相关上下文信息的情况下产生错误输出)与虚假的注意力模式有关。他们分析了注意力模式,发现由于softmax瓶颈,Transformer注意力倾向于过度关注不相关的上下文。具体来说,Transformer的注意力机制中使用的softmax函数倾向于将注意力分数分配给所有token,即使那些与任务无关的token。这可能导致模型失去对输入中最重要部分的焦点,尤其是在长上下文中。
微分Transformer的创新
为了解决这一限制,研究人员开发了Diff Transformer,这是一种新的LLM基础架构。核心思想是使用一种“微分注意力”机制,消除噪声并放大对输入中最相关部分的关注。
在经典的Transformer中,注意力机制通过在整个查询和键向量上执行softmax函数来计算注意力分数。而Diff Transformer通过将查询和键向量分成两组,并计算两个独立的softmax注意力图来工作。然后,使用这两个图之间的差异作为注意力分数。这一过程消除了共同噪声,鼓励模型专注于与输入相关的信息。
研究人员将这种方法类比为降噪耳机或电子工程中的差分放大器,其中两个信号之间的差异消除了共模噪声。尽管Diff Transformer涉及与经典Transformer相比的额外减法操作,但由于并行化和优化技术,它保持了效率。在实验设置中,研究人员确保Diff Transformer与Transformer在参数数量和FLOPs上匹配,因为基本操作仍然是softmax,可以受益于广泛使用的FlashAttention CUDA内核以加速计算。
实验结果与实际应用
研究人员在各种语言建模任务上评估了Diff Transformer,包括不同模型大小(从30亿到130亿参数)、训练token数量和上下文长度(高达64,000个token)的设置。实验结果显示,Diff Transformer在不同基准测试中始终优于经典的Transformer架构。例如,一个在1万亿个token上训练的30亿参数Diff Transformer模型与类似大小的Transformer模型相比,表现出几个百分点的持续改进。
进一步的实验表明,Diff Transformer具有良好的可扩展性。一般而言,Diff Transformer只需要经典Transformer所需模型大小或训练token的约65%即可达到相当的性能。研究人员还发现,Diff Transformer在处理增加的上下文长度方面特别有效,能够在关键信息检索、幻觉缓解和上下文学习等方面展现出显著的改进。
尽管初步结果令人鼓舞,但研究团队仍在努力将Diff Transformer扩展到更大的模型大小和训练数据集,并计划将其应用于其他模态,如图像、音频、视频和多模态数据。研究人员已经发布了Diff Transformer的代码,实现了不同的注意力和优化机制。他们相信这种架构可以提高各种LLM应用的性能。
展望未来
通过更准确地关注相关上下文,这些语言模型可以更好地理解上下文信息,减少上下文幻觉。例如,在检索增强生成设置中,如Bing Chat、Perplexity和特定领域或行业的定制模型,Diff Transformer可以通过条件化检索到的文档生成更准确的响应。未来,随着Diff Transformer的进一步发展和应用,我们有望看到更多高效、准确的LLM应用。