开源发布 RAG-CoT:结合检索增强生成与思维链的经验研究
RAFT 方法结合检索增强生成(RAG)与思维链(CoT),通过监督微调优化小规模模型的推理能力。该方法在训练数据中引入干扰文档与思维链答案,提升模型信息提取与逻辑推理性能。实验表明,RAFT 在长答案及中文任务上表现优异,优于零样本提示及传统基线方法。

RAFT 方法结合检索增强生成(RAG)与思维链(CoT),通过监督微调优化小规模模型的推理能力。该方法在训练数据中引入干扰文档与思维链答案,提升模型信息提取与逻辑推理性能。实验表明,RAFT 在长答案及中文任务上表现优异,优于零样本提示及传统基线方法。

自 2022 年年底,以 ChatGPT 为代表的生成式对话模型迅速成为日常生活和工作中的重要工具。为了增强生成式对话模型解决复杂问题的能力,RAFT 方法被提出。本文在原研究的基础上,扩展了该方法的训练和应用范围,特别是弥补了其在处理长答案和中文文本方面的不足。同时,分析了 RAFT 方法对于不同类型推理任务中的性能提升差异,进行了较为全面的优化和评估。
当前对于生成式对话模型性能提升的研究已经提出了多种具有前景的方法,主要包括检索增强生成(RAG)和思维链(CoT)。
检索增强生成法通过整合外部数据库中的知识,使得模型从外部信息库获取信息,进而提升生成式对话模型的性能和可靠性。由于检索增强生成的性能依赖于检索器的准确性和效率,因此低质量或不相关的检索结果反而会影响生成内容。另外,如何有效地将检索到的信息与模型的先验知识进行整合也是该方法面临的一大挑战。
思维链将复杂推理任务分解为多个中间步骤依次进行计算,从而获得最终结果。当前思维链的常见应用方法——思维链提示法,通常需要依赖约 100B 参数量级的模型才能充分释放模型的推理能力。这一参数量级的模型不论是用于研究还是实际应用,都对计算资源有着较高的要求。
RAFT 方法将 RAG 与 CoT 相结合用于小规模模型的微调(SFT),从而优化生成式对话模型在推理任务中的表现。该方法不仅规避了思维链提示法对模型参数规模的需求,同时也缓解了检索增强生成方法对检索器性能的依赖以及知识整合的难点,提高了模型的复杂信息提取能力以及逻辑推理能力。
如果用考试来类比生成式对话模型的问答任务,那么监督微调(SFT)是一场课后的闭卷考试,在考试时不借助任何参考资料,仅利用课上学到的解题方法进行答题;检索增强生成法(RAG)是一场开卷考试,在考场上根据考题内容从外部知识库中寻找相关段落并推理出答案。RAFT 方法则相当于让模型在考试前首先习得从相关信息中推理计算出结果的能力,从而在开卷考试中模型可以更快速、更准确地根据参考资料推理出答案。
具体来说,我们用特定的 RAFT 训练数据集对模型进行微调。RAFT 方法具有以下两个核心特点:
我们对开源数据集 HotpotQA、PubMedQA 和 DuReader_robust 进行了数据集重构用于 RAFT 微调。重构过程主要涉及以下步骤:
{
"question": "What is the capital of the country where the author of 'The Great Gatsby' was born?",
"documents": [
{"text": "F. Scott Fitzgerald was an American novelist...", "relevant": true},
{"text": "The Eiffel Tower is located in Paris.", "relevant": false}
],
"answer_chain_of_thought": "First, identify the author of 'The Great Gatsby', which is F. Scott Fitzgerald. Second, determine his birthplace, which is Saint Paul, Minnesota, USA. Third, find the capital of the USA, which is Washington D.C.",
"final_answer": "Washington D.C."
}
我们分别在开源数据集 HotpotQA、PubMedQA 和 DuReader_robust 上对 RAFT 方法进行了评估,并采用了 zero-shot prompting、zero-shot prompting+ RAG、DSF、DSF+RAG 四个基线作为对照。以 EM 分数和 F1 分数为评估指标,统计了 RAFT 方法在包括长、短答案任务,中英文任务以及支持型、对比型等不同类型推理任务中的表现差异。此外,我们从 RAFT 的训练数据集中去除了思维链答案进行消融实验以验证思维链在 RAFT 方法中的作用。
实验结果表明,RAFT 方法在各个数据集上的性能始终优于四个基线方法。尤其是在长答案评估和中文数据集评估中均表现出了优异的性能。消融实验的结果也表明,思维链在 RAFT 方法中起到了十分关键的作用,加入思维链可以有效地引导模型从繁杂的信息中找到正确信息,还可以提升模型的思维严谨性与准确性。
RAFT 方法,不仅提高了模型对于信息的提取和处理能力,同时也增强了模型面对复杂推理任务时的逻辑思维能力,在包括长、短答案任务,中英文任务以及支持型、对比性等不同类型推理任务中均展现出了优越的性能。更多实验结果的细节及分析,请见原文。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online