引言
随着大语言模型(LLMs)的发展,它们在处理长上下文任务(如长文本和代码的摘要、问答等)方面表现出色。然而,要让这些模型更有效地处理长上下文,还需要在类似长度的输入序列上进行指令微调。为了应对这一挑战,我们提出了LongAlign,这是一种用于长上下文对齐的指令数据、训练和评估的完整方案。本文详细介绍了该方法的核心要素和实验结果。
长上下文对齐的挑战
在实现LLMs的长上下文对齐时,我们面临以下几个主要挑战:
- 缺乏长指令数据集:用于监督微调(SFT)的长指令数据集很少,并且缺乏构建这些数据的方法。
- 训练效率低下:长上下文数据的长度分布不均,使得传统的批处理方法在多GPU设置中效率低下。
- 评估基准的缺乏:缺乏有效的基准来评估LLMs在真实世界查询中的长上下文能力。
LongAlign方案
数据构建
为了构建多样化的长指令数据集,我们从九个不同的来源收集长序列,并使用Self-Instruct方法生成长度在8k到64k之间