LongPO: Long Context Self-Evolution of Large Language Models through Short-to-Long Preference Optimization
作者: Guanzheng Chen, Xin Li, Michael Qizhe Shieh, Lidong Bing
分类: cs.CL, cs.LG
发布日期: 2025-02-19 (更新: 2025-03-01)
备注: ICLR 2025
🔗 代码/项目: GITHUB
💡 一句话要点
LongPO:通过短到长偏好优化实现大语言模型长上下文自进化
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 长文本处理 自进化学习 偏好优化 大语言模型 上下文扩展
📋 核心要点
- 现有大语言模型在长文本处理上存在对齐不足的问题,导致性能下降,且人工标注长文本成本高昂。
- LongPO通过让模型学习自身生成的短到长文本偏好数据,实现短上下文能力向长上下文的迁移。
- 实验表明,LongPO在保持短文本性能的同时,显著提升了长文本处理能力,甚至超越了更大规模的模型。
📝 摘要(中文)
大型语言模型(LLMs)通过预训练和对齐展现了卓越的能力。然而,优秀的短上下文LLM在长上下文场景中可能表现不佳,这是由于缺乏充分的长上下文对齐。由于人工标注扩展上下文的不切实际以及平衡短上下文和长上下文性能的难度,这种对齐过程仍然具有挑战性。为了解决这些挑战,我们引入了LongPO,它使短上下文LLM能够通过内部转移短上下文能力来自我进化,从而在长上下文任务中表现出色。LongPO利用LLM从自我生成的短到长偏好数据中学习,这些数据包括为具有长上下文输入和压缩的短上下文输入的相同指令生成的配对响应。这种偏好揭示了LLM在短上下文对齐期间培养的能力和潜力,这些能力和潜力可能在未充分对齐的长上下文场景中减弱。此外,LongPO结合了短到长KL约束,以减轻长上下文对齐期间的短上下文性能下降。当应用于从128K到512K上下文长度的Mistral-7B-Instruct-v0.2时,LongPO完全保留了短上下文性能,并且在长上下文和短上下文任务中都大大优于naive SFT和DPO。具体来说,经过LongPO训练的模型可以在长上下文基准测试中获得与甚至超过涉及广泛长上下文注释和更大参数规模的卓越LLM(例如,GPT-4-128K)的结果。我们的代码可在https://github.com/DAMO-NLP-SG/LongPO获得。
🔬 方法详解
问题定义:论文旨在解决大型语言模型(LLMs)在长上下文场景中表现不佳的问题。现有的短上下文LLMs虽然在短文本任务中表现出色,但由于缺乏充分的长上下文对齐,在处理长文本时性能会显著下降。此外,人工标注长文本数据成本高昂,难以实现有效的长上下文对齐。
核心思路:LongPO的核心思路是让LLM通过学习自身生成的短到长文本偏好数据,实现短上下文能力向长上下文的迁移。具体来说,模型会比较在长上下文和压缩后的短上下文中,针对同一指令生成的不同响应,从而学习到长上下文场景下的更优策略。这种自学习的方式避免了对大量人工标注数据的依赖。
技术框架:LongPO的整体框架包括以下几个主要步骤:1) 使用LLM针对同一指令,分别生成长上下文和短上下文的响应;2) 构建短到长偏好数据集,其中包含配对的长上下文响应和短上下文响应;3) 使用偏好优化算法(如DPO)训练LLM,使其学习长上下文响应的偏好;4) 引入短到长KL散度约束,防止长上下文对齐过程中短上下文性能的下降。
关键创新:LongPO最重要的技术创新点在于利用LLM自身生成偏好数据,实现长上下文的自对齐。与传统的依赖人工标注数据的方法相比,LongPO能够更有效地利用LLM的现有知识,降低了数据标注成本,并提升了长上下文对齐的效率。
关键设计:LongPO的关键设计包括:1) 短上下文的压缩方式,需要保证压缩后的文本能够保留关键信息;2) 偏好优化算法的选择,DPO是一种常用的选择,但也可以尝试其他算法;3) KL散度约束的强度,需要根据实际情况进行调整,以平衡长上下文和短上下文的性能。
🖼️ 关键图片
📊 实验亮点
LongPO在Mistral-7B-Instruct-v0.2模型上进行了实验,将其上下文长度从128K扩展到512K。实验结果表明,LongPO在保持短上下文性能的同时,显著提升了长上下文处理能力,在长上下文基准测试中取得了与GPT-4-128K相当甚至更好的结果,而GPT-4-128K需要大量长上下文标注和更大的参数规模。
🎯 应用场景
LongPO具有广泛的应用前景,可用于提升LLM在需要处理长文本的各种场景下的性能,例如长篇文档摘要、代码生成、对话系统等。该方法降低了长文本对齐的成本,有助于推动LLM在更多实际应用中的部署。
📄 摘要(原文)
Large Language Models (LLMs) have demonstrated remarkable capabilities through pretraining and alignment. However, superior short-context LLMs may underperform in long-context scenarios due to insufficient long-context alignment. This alignment process remains challenging due to the impracticality of human annotation for extended contexts and the difficulty in balancing short- and long-context performance. To address these challenges, we introduce LongPO, that enables short-context LLMs to self-evolve to excel on long-context tasks by internally transferring short-context capabilities. LongPO harnesses LLMs to learn from self-generated short-to-long preference data, comprising paired responses generated for identical instructions with long-context inputs and their compressed short-context counterparts, respectively. This preference reveals capabilities and potentials of LLMs cultivated during short-context alignment that may be diminished in under-aligned long-context scenarios. Additionally, LongPO incorporates a short-to-long KL constraint to mitigate short-context performance decline during long-context alignment. When applied to Mistral-7B-Instruct-v0.2 from 128K to 512K context lengths, LongPO fully retains short-context performance and largely outperforms naive SFT and DPO in both long- and short-context tasks. Specifically, LongPO-trained models can achieve results on long-context benchmarks comparable to, or even surpassing, those of superior LLMs (e.g., GPT-4-128K) that involve extensive long-context annotation and larger parameter scales. Our code is available at https://github.com/DAMO-NLP-SG/LongPO.