Why Does the Effective Context Length of LLMs Fall Short?
作者: Chenxin An, Jun Zhang, Ming Zhong, Lei Li, Shansan Gong, Yao Luo, Jingjing Xu, Lingpeng Kong
分类: cs.CL
发布日期: 2024-10-24
💡 一句话要点
提出STRING,通过转移旋转位置嵌入显著提升LLM长文本处理能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 长文本处理 位置嵌入 大型语言模型 推理优化 上下文长度 旋转位置编码 性能提升
📋 核心要点
- 现有开源LLM的有效上下文长度远低于其训练长度,限制了长文本处理能力。
- 论文提出STRING方法,通过转移训练良好的位置嵌入来覆盖无效位置,从而提升性能。
- 实验表明,STRING在Llama3.1 70B和Qwen2 72B上显著提升了长文本基准的性能,达到SOTA。
📝 摘要(中文)
大型语言模型(LLM)在分布式训练和高效注意力机制的推动下,上下文窗口大小得到了显著扩展。然而,最近的研究表明,开源LLM的有效上下文长度通常不足,通常不超过其训练长度的一半。本文将此限制归因于LLM预训练和后训练阶段形成的相对位置的左偏频率分布,这阻碍了它们有效收集远距离信息的能力。为了解决这个挑战,我们引入了ShifTed Rotray position embeddING(STRING)。STRING在推理过程中转移训练良好的位置以覆盖原始无效位置,从而提高其现有训练长度内的性能。实验结果表明,在没有额外训练的情况下,STRING显著提高了最新的大型模型(如Llama3.1 70B和Qwen2 72B)的性能,在流行的长上下文基准RULER和InfiniteBench上提高了10多个点,为开源LLM建立了新的最先进的结果。与商业模型相比,使用STRING的Llama 3.1 70B甚至实现了比GPT-4-128K更好的性能,并明显超过了Claude 2和Kimi-chat。
🔬 方法详解
问题定义:现有大型语言模型(LLM)虽然具有较大的上下文窗口,但实际有效利用的上下文长度往往远小于训练长度。这意味着模型在处理长文本时,无法有效利用远距离的信息,导致性能下降。这种现象的根本原因是模型在预训练和后训练阶段形成的相对位置的频率分布存在左偏性,使得模型对某些位置的信息学习不足。
核心思路:论文的核心思路是通过调整位置嵌入,使得模型能够更好地利用长距离的上下文信息。具体来说,STRING方法将训练良好的位置嵌入转移到原本效果不佳的位置上,从而增强模型对这些位置信息的感知能力。这种方法无需额外的训练,即可在推理阶段提升模型的长文本处理能力。
技术框架:STRING方法主要在推理阶段进行,不需要修改模型的训练过程。其核心步骤是:1. 分析模型的位置嵌入,确定哪些位置的嵌入效果不佳(例如,频率较低的位置)。2. 将训练良好的位置嵌入(例如,频率较高的位置)转移到这些效果不佳的位置上。3. 使用调整后的位置嵌入进行推理。整个过程简单高效,易于集成到现有的LLM推理流程中。
关键创新:STRING方法的关键创新在于其简单而有效的思想:通过转移已学习好的位置嵌入来增强模型对长距离上下文信息的利用。与传统的微调或重新训练方法相比,STRING无需额外的训练成本,即可显著提升性能。此外,STRING方法直接作用于位置嵌入,避免了对模型其他部分的修改,具有良好的通用性和可移植性。
关键设计:STRING方法的关键设计在于如何选择需要转移的位置嵌入以及如何进行转移。论文中可能探讨了不同的转移策略,例如:1. 基于频率的转移:将频率最高的位置嵌入转移到频率最低的位置。2. 基于距离的转移:将距离较近的位置嵌入转移到距离较远的位置。3. 基于学习效果的转移:通过某种指标(例如,注意力权重)评估每个位置嵌入的学习效果,并将效果最好的嵌入转移到效果最差的嵌入。具体的参数设置可能包括转移的比例、转移的阈值等。
🖼️ 关键图片
📊 实验亮点
实验结果表明,STRING方法在Llama3.1 70B和Qwen2 72B等大型语言模型上取得了显著的性能提升。在RULER和InfiniteBench等长文本基准测试中,性能提升超过10个点,达到了新的SOTA水平。更令人瞩目的是,使用STRING的Llama 3.1 70B甚至超越了GPT-4-128K,并明显优于Claude 2和Kimi-chat等商业模型。
🎯 应用场景
STRING方法可以广泛应用于需要处理长文本的各种场景,例如:长篇小说续写、法律文档分析、金融报告解读、科研论文总结等。通过提升LLM对长距离上下文信息的利用能力,STRING可以显著改善这些应用场景的性能,提高工作效率和决策质量。此外,该方法无需额外训练,易于部署和应用,具有很高的实际价值。
📄 摘要(原文)
Advancements in distributed training and efficient attention mechanisms have significantly expanded the context window sizes of large language models (LLMs). However, recent work reveals that the effective context lengths of open-source LLMs often fall short, typically not exceeding half of their training lengths. In this work, we attribute this limitation to the left-skewed frequency distribution of relative positions formed in LLMs pretraining and post-training stages, which impedes their ability to effectively gather distant information. To address this challenge, we introduce ShifTed Rotray position embeddING (STRING). STRING shifts well-trained positions to overwrite the original ineffective positions during inference, enhancing performance within their existing training lengths. Experimental results show that without additional training, STRING dramatically improves the performance of the latest large-scale models, such as Llama3.1 70B and Qwen2 72B, by over 10 points on popular long-context benchmarks RULER and InfiniteBench, establishing new state-of-the-art results for open-source LLMs. Compared to commercial models, Llama 3.1 70B with \method even achieves better performance than GPT-4-128K and clearly surpasses Claude 2 and Kimi-chat.