LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens

📄 arXiv: 2402.13753v1 📥 PDF

作者: Yiran Ding, Li Lyna Zhang, Chengruidong Zhang, Yuanyuan Xu, Ning Shang, Jiahang Xu, Fan Yang, Mao Yang

分类: cs.CL

发布日期: 2024-02-21


💡 一句话要点

提出LongRoPE以扩展LLM上下文窗口至2048k标记

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

关键词: 大规模语言模型 上下文窗口 位置插值 微调策略 自然语言处理 文本生成 模型优化

📋 核心要点

  1. 现有方法在扩展上下文窗口时面临高微调成本和长文本稀缺等挑战,限制了LLMs的应用。
  2. LongRoPE通过识别位置插值中的非均匀性和渐进扩展策略,首次将上下文窗口扩展至2048k标记。
  3. 在LLaMA2和Mistral上进行的广泛实验表明,LongRoPE在保持短上下文性能的同时,显著提升了上下文窗口的长度。

📝 摘要(中文)

大规模语言模型(LLMs)中的大上下文窗口是一个理想特性。然而,由于高昂的微调成本、长文本的稀缺性以及新标记位置引入的灾难性值,目前扩展的上下文窗口限制在约128k标记。本文首次提出LongRoPE,将预训练LLMs的上下文窗口扩展至2048k标记,仅需在256k训练长度内进行最多1k的微调步骤,同时保持原短上下文窗口的性能。通过三项关键创新实现:识别并利用位置插值中的两种非均匀性,提出渐进扩展策略,以及在8k长度上重新调整LongRoPE以恢复短上下文窗口性能。大量在LLaMA2和Mistral上的实验验证了该方法的有效性。

🔬 方法详解

问题定义:本文旨在解决现有大规模语言模型在上下文窗口扩展时面临的高微调成本和长文本稀缺问题。现有方法通常限制在128k标记,无法满足更大上下文的需求。

核心思路:LongRoPE的核心思路是通过识别和利用位置插值中的非均匀性,结合渐进扩展策略,来有效地扩展上下文窗口至2048k标记。这样的设计可以在保持原有性能的同时,显著提升上下文长度。

技术框架:LongRoPE的整体架构包括三个主要模块:首先,识别位置插值中的非均匀性;其次,实施渐进扩展策略,先微调256k长度的LLM,然后在此基础上进行第二次位置插值;最后,调整LongRoPE以恢复短上下文窗口的性能。

关键创新:LongRoPE的最重要创新在于首次将上下文窗口扩展至2048k标记,并通过有效的搜索方法识别位置插值中的非均匀性,从而提供更好的微调初始化。这与现有方法的本质区别在于其显著降低了微调步骤和训练成本。

关键设计:在参数设置上,LongRoPE在256k训练长度内仅需1k微调步骤,且对位置嵌入进行了轻微修改,保留了大部分现有优化,确保了模型的高效性和可用性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

在LLaMA2和Mistral上的实验结果显示,使用LongRoPE扩展的模型在上下文窗口长度上达到了2048k标记,且在保持短上下文性能的同时,微调步骤仅需1k,显著提高了模型的效率和适用性。

🎯 应用场景

LongRoPE的研究成果在多个领域具有广泛的应用潜力,包括自然语言处理、文本生成、对话系统等。通过扩展上下文窗口,模型能够处理更长的文本输入,提升理解和生成能力,从而在实际应用中提供更为丰富的上下文信息,增强用户体验。未来,LongRoPE可能推动更复杂的语言任务的发展,促进大规模语言模型的进一步应用。

📄 摘要(原文)

Large context window is a desirable feature in large language models (LLMs). However, due to high fine-tuning costs, scarcity of long texts, and catastrophic values introduced by new token positions, current extended context windows are limited to around 128k tokens. This paper introduces LongRoPE that, for the first time, extends the context window of pre-trained LLMs to an impressive 2048k tokens, with up to only 1k fine-tuning steps at within 256k training lengths, while maintaining performance at the original short context window. This is achieved by three key innovations: (i) we identify and exploit two forms of non-uniformities in positional interpolation through an efficient search, providing a better initialization for fine-tuning and enabling an 8x extension in non-fine-tuning scenarios; (ii) we introduce a progressive extension strategy that first fine-tunes a 256k length LLM and then conducts a second positional interpolation on the fine-tuned extended LLM to achieve a 2048k context window; (iii) we readjust LongRoPE on 8k length to recover the short context window performance. Extensive experiments on LLaMA2 and Mistral across various tasks demonstrate the effectiveness of our method. Models extended via LongRoPE retain the original architecture with minor modifications to the positional embedding, and can reuse most pre-existing optimizations.