长上下文模型(LCMs)在处理长输入序列方面显示出巨大的潜力,能够处理超过1亿个标记的序列。这些模型在上下文中准确定位标记级别的显著信息方面取得了显著进展。然而,LCMs的生成性能仍远未达到满意,可能导致响应不匹配,如幻觉。为了提高LCMs的生成能力,现有的研究已经探讨了数据大小和质量对预训练和指令调整的影响。尽管取得了有意义的改进,但这些方法在有效性或效率方面仍存在不足。
LOGO的介绍
苏州大学计算机科学与技术学院的研究人员介绍了LOGO(通过有效的偏好优化进行长上下文对齐),旨在提升长上下文模型(LCMs)在处理长输入序列时的生成性能。LCMs在准确定位上下文中的关键信息方面表现出色,但在生成任务中的表现并不尽如人意,可能会产生错位的响应,例如幻觉。LOGO通过引入偏好优化来对齐长上下文,以提高这些模型的生成能力。LOGO首次引入了偏好优化,以实现长上下文对齐,克服了现有方法的局限性。
例如,在处理一个长文档时,LCM可能需要从文档中提取关键信息以回答问题。如果模型未能正确对齐上下文,它可能会生成与问题不相关的信息,或者完全编造答案。LOGO通过优化模型的训练过程,使得模型能够更准确地理解和利用长上下文中的信息,从而生成与问题更加对齐的回答。
主要功能和特点
- 偏好优化:LOGO通过区分偏好预测(正确的输出)和非偏好预测(如幻觉等错位输出)来训练模型。
- 数据构建流程:LOGO采用特定的数据构建流程,只涉及开源模型,以提高训练效率。
- 内存效率:LOGO采用了无参考的偏好优化目标和位置索引合成方法,减少了GPU内存的需求。
- 上下文窗口扩展:LOGO能够在提升模型生成性能的同时,扩展模型的上下文窗口大小。
工作原理
- 训练目标:LOGO设计了一个基于SimPO(Simple Preference Optimization)的损失函数,通过最大化偏好响应的对数概率与非偏好响应的平均对数概率之差,引导模型生成期望的输出。
- 数据构建:LOGO通过将上下文分割成等长的块,并根据问题的相关性为每个块打分,然后选择和组合这些块来构建训练数据。
- 位置索引合成:为了模拟长序列输入而不改变实际输入序列,LOGO通过为每个块分配不同的合成位置索引来扩展上下文长度。
方法流程
- 数据准备:
- 使用位置合成方法构建训练数据,将短序列组合成长序列。
- 准备少量的高质量数据(例如0.3B数据)用于训练。
- 模型训练:
- 在单个8×A800 GPU机器上训练模型,使用偏好优化策略进行优化。
- 训练时间为16小时,训练过程中不断调整模型参数以提高生成性能。
- 性能评估:
- 在现实世界的长上下文任务中评估模型的性能,与GPT-4进行对比。
- 评估模型在其他任务上的表现,如语言建模和MMLU,确保模型的多任务能力不受影响。
实验结果
LOGO在以下几个方面展示了显著的改进:
- 生成性能:LOGO允许Llama-3-8B-Instruct-80K模型在现实世界的长上下文任务中达到与GPT-4相当的性能。
- 效率:仅用0.3B数据和16小时的训练时间,LOGO就能够显著提高模型的生成性能。
- 多任务能力:LOGO在提高生成性能的同时,保留了模型在其他任务上的原始能力,如语言建模和MMLU。
- 上下文窗口扩展:LOGO还可以扩展模型的上下文窗口大小,进一步提高其处理长序列的能力。