现有方法通常涉及使用合成数据对大型语言模型(LLM)进行微调,这依赖于人类专家或如GPT-4等高级模型的标注,从而限制了进一步的进步。为了解决这一问题,本文提出了SEALONG方法,这是一种使LLM在长文本推理中实现自我提升的方法。该方法包括为每个问题采样多个输出,使用最小贝叶斯风险(Minimum Bayes Risk)对这些输出进行评分,然后基于这些输出进行监督微调或偏好优化。
LLM在长文本推理中的潜力
i) 长文本推理的提示策略
研究了以下策略:
a) 默认策略:向LLM提供长文本和一个问题。
b) 直接回答:要求LLM基于长文本直接回答问题。
c) 分步思考:向LLM提供文本、问题以及一个指示,要求其分步进行思考。
d) 事实与反思:向LLM提供长文本、问题以及一个指示,要求其首先从长文本中识别相关信息,然后进行分步推理并提供答案。
e) 计划与解决:向LLM提供长文本、问题以及一个指示,要求其首先制定计划,然后按照计划分步解决问题。
ii) LLM正确进行长文本推理的潜力
上图显示,即使只有8个输出,最佳性能(oracle performance)与贪婪搜索(greedy search)之间也存在显著差距。当样本数量增加到128个时,正确率达到了90%以上。
上述结果强调了LLM在长文本推理方面的潜力,并激励我们开发能够使LLM在这一领域自我提升的方法。
SEALONG
SEALONG方法概述如下图所示:
SEALONG方法包含以下两个阶段:
i) 自监督阶段
s(y) 是赋给输出 y 的分数,其中 x 表示输入,包括长文本、问题和指令。项 π
θ(y∣x) 代表LLM的策略分布,而效用度量 u(y,y ∗ ) 则基于 y∗ 来评估 y。
ii) 微调阶段
a) 监督微调
其中 y 表示MBR解码的输出。
b) 偏好优化
其中,σ 表示sigmoid函数,而oddsθ(y∣x)衡量的是y被生成的可能性与不被生成的可能性的比值。
实验
i) 实现
ii) 结果
a) SEALONG提升了各种模型
b) SEALONG与以往数据集的比较
我们将SEALONG与几个以往的数据集进行了比较,结果基于在相应数据集上微调后的Llama-3.1-8B-Instruct模型。
我们观察到SEALONG带来了性能提升(从50.8提升到55.0),这表明自我改进是有前景的。
数据集统计信息如下表所示:
c) 评分方法
比较了各种评分方法和贪婪搜索。每种评分方法都对从Llama-3.1–8B-Instruct中采样的16个输出进行了评估。
结果显示,基于MBR的方法优于无参考的自我评估,即使使用简单的基于N-gram的ROUGE也是如此。
d) 合成示例的数量
下图显示了SEALONG在不同数量的合成训练示例下的长文本性能,评估基于在相应数据集上微调的Llama-3.1–8B-Instruct模型。
SEALONG展现出了强大的数据效率,仅需1K个示例就能达到有竞争力的性能,之后增加示例带来的额外收益有限。
e) 每个示例的样本数量
下图显示了SEALONG在数据合成过程中每个示例具有不同样本数量时的长文本性能,评估基于在相应数据集上微调的Llama-3.1–8B-Instruct模型。
将N从8增加到32可以持续提高性能,这可能是因为MBR(最大后验概率)估计更加准确。
f) 短文本性能
提升长文本推理能力不应牺牲短文本性能。
局限性
结论
我们研究了LLM在长文本推理中自我提升的潜力,并为此提出了SEALONG方法。该方法在多个长文本推理任务上取得了显著改进。