Training-Free Long-Context Scaling of Large Language Models

📄 arXiv: 2402.17463v2 📥 PDF

作者: Chenxin An, Fei Huang, Jun Zhang, Shansan Gong, Xipeng Qiu, Chang Zhou, Lingpeng Kong

分类: cs.CL

发布日期: 2024-02-27 (更新: 2024-05-29)

🔗 代码/项目: GITHUB


💡 一句话要点

提出双块注意力机制以解决长文本处理问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 长文本处理 双块注意力 大型语言模型 无训练模型 自然语言生成

📋 核心要点

  1. 现有大型语言模型在处理超过预训练长度的输入时,生成能力显著下降,微调成本高昂。
  2. 本文提出双块注意力机制(DCA),通过块状模块分解注意力计算,有效捕捉长序列的位置信息。
  3. DCA在长上下文任务中的表现与微调模型相当,且无训练模型性能达到了gpt-3.5-16k的94%。

📝 摘要(中文)

大型语言模型(LLMs)在处理超过预训练长度的输入时,其生成连贯文本的能力显著减弱。针对长序列微调成本高昂的问题,本文提出了双块注意力机制(DCA),使Llama2 70B能够支持超过10万标记的上下文窗口,而无需持续训练。DCA通过将长序列的注意力计算分解为基于块的模块,有效捕捉同一块内(块内)和不同块间(块间)的相对位置信息,并与Flash Attention无缝集成。DCA在实际长上下文任务中的表现与微调模型相当,甚至更优。与专有模型相比,我们的无训练70B模型达到了gpt-3.5-16k性能的94%,显示出其作为开源替代方案的可行性。

🔬 方法详解

问题定义:本文旨在解决大型语言模型在处理超过预训练长度的输入时生成能力下降的问题。现有方法在长序列的微调上成本高昂且效果有限。

核心思路:论文提出的双块注意力机制(DCA)通过将长序列的注意力计算分解为块状模块,能够有效捕捉块内和块间的相对位置信息,从而提升长文本处理能力。

技术框架:DCA的整体架构包括两个主要模块:块内注意力和块间注意力。块内注意力负责处理同一块内的标记关系,而块间注意力则处理不同块之间的关系。该机制与Flash Attention相结合,进一步提升了计算效率。

关键创新:DCA的最大创新在于其双块结构设计,使得长序列的注意力计算更加高效,能够在不进行额外训练的情况下支持超长上下文的处理。这一设计与传统的全局注意力机制形成了鲜明对比。

关键设计:在DCA中,关键参数设置包括块的大小和注意力计算的方式,损失函数采用标准的交叉熵损失,网络结构则基于Llama2 70B进行调整,以适应长序列的处理需求。通过这些设计,DCA能够在保持性能的同时,显著降低计算复杂度。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,DCA在长上下文任务中的表现与微调模型相当,甚至更优。具体而言,训练无关的70B模型在性能上达到了gpt-3.5-16k的94%,显示出其作为开源替代方案的强大潜力。这一结果不仅验证了DCA的有效性,也为大型语言模型的应用提供了新的思路。

🎯 应用场景

该研究的潜在应用领域包括自然语言处理中的长文本生成、对话系统以及信息检索等场景。通过提高大型语言模型处理长上下文的能力,DCA能够为实际应用提供更高效的解决方案,推动智能助手和内容生成工具的发展。未来,DCA的设计理念也可能被应用于其他类型的序列模型中,进一步拓展其影响力。

📄 摘要(原文)

The ability of Large Language Models (LLMs) to process and generate coherent text is markedly weakened when the number of input tokens exceeds their pretraining length. Given the expensive overhead of finetuning large-scale models with longer sequences, we propose Dual Chunk Attention (DCA), which enables Llama2 70B to support context windows of more than 100k tokens without continual training. By decomposing the attention computation for long sequences into chunk-based modules, DCA manages to effectively capture the relative positional information of tokens within the same chunk (Intra-Chunk) and across distinct chunks (Inter-Chunk), as well as integrates seamlessly with Flash Attention. In addition to its impressive extrapolation capability, DCA achieves performance on practical long-context tasks that is comparable to or even better than that of finetuned models. When compared with proprietary models, our training-free 70B model attains 94% of the performance of gpt-3.5-16k, indicating it is a viable open-source alternative. All code and data used in this work are released at \url{https://github.com/HKUNLP/ChunkLlama}.