文章标题:R1-Searcher:通过强化学习激励大语言模型的搜索能力
作者:Huatong Song, Jinhao Jiang, Yingqian Min, Jie Chen, Zhipeng Chen, Wayne Xin Zhao, Lei Fang, Ji-Rong Wen
机构:中国人民大学高瓴人工智能学院, 数据画布Alaya NeW
本文旨在解决现有大型推理模型(LRM)在处理对时间敏感或知识密集型问题时,因依赖内部知识而导致的不准确和幻觉问题。尽管检索增强生成(RAG)技术被广泛研究以解决此问题,但现有方法存在一些局限性:基于提示的方法依赖于闭源大模型,基于监督微调(SFT)的方法泛化能力有限,而基于蒙特卡洛树搜索(MCTS)的测试时扩展方法则会带来巨大的推理开销。
为了克服这些挑战,本文提出了 R1-Searcher,一个旨在通过强化学习(RL)增强大语言模型(LLM)搜索能力的新颖框架。其核心思想是在训练过程中集成外部检索环境,激励模型通过探索学会有效利用检索来解决问题。
核心贡献如下:
1. 提出 R1-Searcher 框架:该框架采用一种新颖的、基于结果的两阶段强化学习方法,使模型能够在推理过程中自主调用外部搜索系统以获取相关知识。
* 第一阶段:通过“检索奖励”激励模型执行检索操作,使其快速学会正确的检索调用格式,而不考虑最终答案的准确性。
* 第二阶段:引入“答案奖励”,鼓励模型学习如何有效利用外部检索系统来正确解决问题。
2. 纯强化学习训练,无需冷启动:该方法完全依赖基于结果的强化学习,模型通过自主探索和学习来提升能力,无需任何过程奖励或通过SFT进行蒸馏来冷启动。同时,本文提出了一种基于Reinforce++的改进型RL训练方法,包含基于RAG的Rollout和基于检索掩码的损失计算。
3. 显著的性能提升和泛化能力:
* 在四个多跳问答数据集上的实验表明,R1-Searcher 显著优于现有的强RAG方法,甚至在某些任务上超越了闭源的GPT-4o-mini。
* 该方法表现出强大的泛化能力,能够从未在训练中见过的领域外数据集(如Bamboogle)和在线搜索场景中取得优异表现,证明模型学到的是通用的检索与推理结合能力,而非记忆特定解决方案。
* 该方法对基础模型和指令微调模型均有效。
目标与挑战。本研究旨在通过基于结果的强化学习方法,在检索环境中增强LLM解决问题的搜索能力。然而,在强化学习训练过程中,检索环境的独立性可能导致模型生成的查询超出其范围,这对成功解决问题和训练效率构成了挑战。为解决此问题,我们进行了数据筛选,并整合了不同难度级别的问题。
筛选过程。我们从两个代表性的多跳问答数据集——HotpotQA 【索引5, Hotpotqa: A dataset for diverse, explainable multi-hop question answering, 2018, EMNLP】 和 2WikiMultiHopQA 【索引6, Constructing a multi-hop qa dataset for comprehensive evaluation of reasoning steps, 2020, COLING】 的训练集中筛选数据。我们使用配备本地检索系统的Qwen-2.5-7B-Instruct模型,并根据提供的提示(Prompt 2.1)引导模型利用外部检索系统解决问题。根据正确回答一个问题所需的rollout次数,我们将数据分为三个难度等级:简单(少于10次rollouts)、中等(10到20次rollouts)和困难(超过20次rollouts)。这些不同难度的数据随后被组合成我们的训练数据集,具体构成如表1所示。
用于数据筛选的系统提示
你是一个有帮助的助手。给定一个问题,你应该先在脑海中思考推理过程,然后提供最终答案。推理过程和最终答案的输出格式应分别包含在 <think> </think> 和 <answer> </answer> 标签内,即:“
表1: RL训练期间使用的数据信息。
为了逐步提升LLM的搜索能力,我们提出了一种两阶段、基于结果的强化学习训练方法。在第一阶段,训练模型有效利用外部检索系统。在第二阶段,训练模型在推理过程中结合搜索来准确解决问题。
两阶段奖励机制。由于训练数据中缺乏中间过程的标注,强化学习过程主要受结果奖励的影响。通过在两个阶段设置不同的奖励,模型能逐步学会调用外部检索系统,并有效地将检索到的文档整合到推理过程中以回答问题。
第一阶段奖励。在第一阶段,奖励函数包含一个检索奖励和一个格式奖励。此阶段的主要目标是让模型认识到它能够调用外部检索系统并学会如何使用它,而不考虑模型答案的正确性。模型被明确鼓励发起搜索查询,因此在此阶段不设置答案奖励。具体来说,检索奖励定义如下:
其中 $n$ 代表检索调用的次数。对于格式奖励,我们首先定义正确格式如下:
1. 模型的思考过程和最终答案应分别被 <think>...</think> 和 <answer>...</answer> 标签包裹。此外,<answer>...</answer> 标签内只允许包含最终的简短答案。
2. 生成的输出必须没有任何乱码或不可读内容。
3. 在调用检索时,模型应提出一个查询,并将查询包裹在 <begin_of_query>...</end_of_query> 标签内。此外,模型不能在未调用检索的情况下直接生成文档。
基于以上格式要求,格式奖励定义如下:
因此,第一阶段的最终奖励是检索奖励和格式奖励之和。
第二阶段奖励。在第二阶段,我们移除了检索奖励,并加入了答案奖励。我们采用与第一阶段相同的格式判断标准,但惩罚方式不同:
对于答案奖励,我们利用真实答案和预测答案之间的F1分数进行计算,公式如下:
其中,$PN$ 是预测答案的词数,$RN$ 是参考答案的词数,$IN$ 是两者交集的词数。因此,第二阶段的最终奖励是答案奖励和格式奖励之和。
基于Reinforce++的改进算法。我们的训练算法基于Reinforce++算法【索引20, Reinforce++: A simple and efficient approach for aligning large language models, 2025, by Jian Hu】,并针对我们的检索增强生成场景进行了修改。在推理过程中,模型会调用外部检索系统来解决问题,并在正确解决问题时获得奖励。我们通过最大化这个奖励来增强模型在推理过程中利用检索的能力。我们的目标是让模型在面临不确定性时能自主访问外部知识,从而有效地整合推理与检索。为了无缝地整合检索到的文档并确保模型的合理优化,我们对原始算法进行了两项修改:基于RAG的Rollout和基于检索掩码的损失计算。
基于RAG的Rollout。如Prompt 2.2.2所示,我们通过使用<begin_of_query>...<end_of_query>标签来指示搜索工具的调用,从而引导模型在生成过程中利用外部检索系统。当模型生成<end_of_query>时,生成过程会暂停,以便提取查询并用于检索。检索到的文档被封装在<begin_of_documents>...<end_of_documents>标签内,并整合到模型的推理过程中。这种方法确保了检索能够无缝地融入推理过程,使模型能够在检索到的文档基础上继续进行推理而不会中断。
基础模型的系统提示
用户提出一个问题,助手来解决它。助手首先在脑海中思考推理过程,然后向用户提供最终答案。推理过程和最终答案的输出格式应分别包含在 <think> </think> 和 <answer> </answer> 标签内,即:“
基于检索掩码的损失计算。在训练过程中,我们采用上述解决方案来计算RL损失,这涉及到奖励、KL散度和优势函数(advantages)。当模型执行检索时,检索到的文档被整合到推理过程中,作为环境的观察结果。模型的目的不是生成这些文档。为了减轻环境的影响,我们将<begin_of_documents>...<end_of_documents>指定为特殊标记(special tokens),并在训练期间对它们进行掩码(mask)处理。这可以防止这些外部标记影响损失计算,确保检索到的文档不会干扰模型的内在推理和生成过程。
实验设置:在四个多跳问答基准上,将R1-Searcher与一系列基线模型进行比较。评估指标为Cover Exact Match (ACC_R) 和 LLM-as-Judge (ACC_L)。
实验结果与分析(见表2):
在多跳问答任务上实现显著性能提升:
支持从基础大语言模型进行无冷启动的强化学习:
保持强大的泛化能力:
表2: R1-Searcher与基线模型在四个多跳QA基准上的性能比较。粗体表示最佳性能。GPT、Qwen和Llama分别指GPT-4o-mini、Qwen-2.5-7B-Base和Llama-3.1-8B-Instruct。
图2: Llama-3.1-8B-Instruct在使用GRPO和Reinforce++进行训练时的奖励、响应长度和检索次数日志。
表3: 使用GRPO和Reinforce++训练的Llama-3.1-8B-Instruct在三个多跳QA基准上的性能比较。
表4: 使用RL和SFT训练的Qwen-2.5-7B-Base和Llama-3.1-8B-Instruct在三个多跳QA基准上的性能比较。Qwen-Base和Llama-Instruct分别是Qwen-2.5-7B-Base和Llama-3.1-8B-Instruct的缩写。
图3: Qwen-2.5-7B-Base模型使用不同指标计算结果监督奖励时的奖励、响应长度和检索次数日志。
表5: Qwen-2.5-7B-Base模型使用不同指标计算结果监督奖励在三个多跳QA基准上的性能比较。
图4: Qwen-2.5-7B-Base模型在不同难度级别的数据集上训练时的奖励、响应长度和检索次数日志。
表6: Qwen-2.5-7B-Base模型在不同难度级别的数据集上训练后在三个多跳QA基准上的性能比较。
表7: Qwen-2.5-7B-Base模型在不同数据集上训练后的性能比较。
图5: Qwen-2.5-7B-Base模型在不同数据集上训练时的奖励、响应长度和检索次数日志。
图6: 我们的模型(使用本地搜索和在线搜索)与基线模型在Bamboogle数据集上的偏好比较。Search-o1使用在线搜索,所有其他基线使用本地搜索。指标为CEM(覆盖精确匹配)。
表8: 来自Bamboogle数据集的案例研究,比较了使用RL和SFT训练的Qwen-2.5-7B-Instruct模型。
表9: 来自Bamboogle数据集的案例研究,比较了使用RL训练的Qwen-2.5-7B-Instruct和Llama-3.1-8B-Instruct模型。
本文提出了R1-Searcher,一个将RAG与RL相结合的新颖框架。该框架采用两阶段、基于结果监督的RL方法,通过精心设计的奖励机制,使模型学会在推理过程中调用外部搜索引擎获取相关知识。该方法完全依赖RL,无需指令微调进行冷启动,模型通过探索自主学习。它展示了从域内训练数据到域外测试数据的强大泛化能力,并能无缝切换到在线搜索以获取最新信息。此外,R1-Searcher对基础模型和指令微调模型均适用。在多个数据集上的大量实验表明,R1-Searcher的性能优于传统的RAG方法和其他推理方法。同时,我们从训练方法、数据和奖励设计等多个方面对训练过程进行了分析。
未来工作计划从两个关键领域改进我们的训练方法:
1. 探索更复杂的数据课程:鉴于训练数据的分布和难度对学习过程有显著影响,我们将探索比简单数据混合更结构化的方法,以进一步提升性能。
2. 扩展模型规模:计划将模型扩展到当前7B配置以上,研究更大规模的模型(如32B),以更好地评估我们方法的有效性。