智源BGE之后再出新品: Activation Beacon将LLM输入长度提升100倍(4K飞跃到400K)


          
论文题目:Soaring from 4K to 400K: Extending LLM’s Contextwith Activation Beacon
          
论文链接:https://arxiv.org/pdf/2401.03462.pdf
          
Github:https://github.com/FlagOpen/FlagEmbedding
          
合作机构:北京智源人工智能研究院与中国人民大学
      

概要

研究背景:

大型语言模型(LLMs)在处理长文本时面临挑战,因为它们通常受到固定上下文长度的限制。尽管可以通过微调来扩展上下文窗口,但这会导致训练和推理时间的显著增加,并可能对LLM在短上下文上的性能产生不利影响。因此,需要探索新机制,既能实现对预训练LLMs上下文长度的成本效益扩展,又能兼容其现有能力。

方案设计:

Activation Beacon通过将LLM的原始激活压缩成更紧凑的形式,使得LLM能够在有限的上下文窗口内感知更长的上下文。Activation Beacon作为一个即插即用的模块引入LLM,它完全保留了LLM在短上下文上的原始能力,同时扩展了处理更长上下文的新能力。此外,它使用短滑动窗口处理长上下文,实现了在训练和推理中具有竞争力的内存和时间效率。Activation Beacon通过在多样化压缩比的信标混合条件下的自回归任务进行学习,可以在仅使用短序列数据的情况下高效训练。

  1. 激活压缩(Activation Condensing):
  • LLM在预测下一个词时,会查询上下文窗口内的键(keys)和值(values)激活信息。
  • 原始激活信息占用大量内存且查询成本高,这限制了上下文窗口的大小。
  • Activation Beacon引入了特殊标记(称为信标,beacons),将LLM的原始激活压缩成更紧凑的形式。
  • 整个上下文被分成长度为L的区间,每个区间末尾部署k个信标(L远大于k),实现原始激活的压缩比α=L/k。
  • 在每个解码层中,信标的输入隐藏状态通过变换来查询区间内的原始KV激活,从而生成压缩激活。
  • 信标自回归(Beaconed Auto-Regression):
  • 压缩后的激活与普通标记的原始激活一起,通过滑动窗口进行流式处理。
  • 每个滑动窗口包含来自过去上下文区间的m个信标和当前上下文区间的普通标记。
  • 下一个词的预测基于信标和前一个普通标记的激活信息。
  • 信标和普通标记在滑动窗口内的相对位置被编码,而不考虑它们在整个上下文中的绝对位置,这样就不需要修改LLM的原始位置编码方案。

实验结论:

实验研究表明,Activation Beacon能够将Llama-2-7B的上下文长度 扩展100倍(从4K到400K) ,同时在长上下文语言建模和理解任务上取得了优越的结果。对比 1) Position Interpolation 2) NTK-Aware Scaled RoPE 3) LongLlama等方法, Activation Beacon取得更好的长上下文生成质量,以及更高的运行效率(内存、时间 )。

picture.image

讨论

1、Activation Beacon是如何在不改变LLM原始参数的情况下引入长上下文信息的?

答案: Activation Beacon通过在LLM的原始参数之上后验学习一组特殊的“信标”(beacons)来实现这一目标。这些信标被部署在上下文的不同位置,用于生成特定区间的压缩激活。在每个解码层中,信标的输入隐藏状态被转换以查询区间内的原始KV激活,从而产生压缩激活。这种方法允许LLM在不改变其原始参数的情况下,通过信标引入长上下文信息。

2、Activation Beacon在处理长上下文时的内存和时间效率如何,与现有方法相比有何优势?

答案: Activation Beacon通过滑动窗口机制处理长上下文,每个滑动窗口包含来自过去上下文区间的信标和当前上下文区间的普通标记。这种方法使得在训练和推理时的内存和时间消耗与窗口大小成线性关系,而不是与上下文长度的平方关系。与全注意力方法(如LongChat-32K)相比,Activation Beacon在长上下文长度下有更小的GPU内存使用和更快的推理时间。此外,它的训练成本也比LongAlpaca-16K低。

3、Activation Beacon在不同上下文长度下的性能表现如何,尤其是在处理超长上下文时?

答案: Activation Beacon在处理不同长度的上下文时表现出色,能够逐渐提高语言建模性能,尤其是在上下文长度从4K扩展到32K时。它在长上下文理解任务(如问答和摘要)上与微调全注意力方法相当。更重要的是,Activation Beacon能够处理长达100K和400K的上下文,这表明它在处理超长上下文时仍然有效,而许多其他方法在上下文长度超过32K时会变得无效或内存不足。


推荐阅读


欢迎关注我的公众号“ PaperAgent ”, 每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。

0
0
0
0
评论
未登录
暂无评论