文章标题:R1-Searcher:通过强化学习激励大语言模型的搜索能力
作者:Huatong Song, Jinhao Jiang, Yingqian Min, Jie Chen, Zhipeng Chen, Wayne Xin Zhao, Lei Fang, Ji-Rong Wen
机构:中国人民大学高瓴人工智能学院, 数据画布Alaya NeW

A1 主要贡献

本文旨在解决现有大型推理模型(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)和在线搜索场景中取得优异表现,证明模型学到的是通用的检索与推理结合能力,而非记忆特定解决方案。
* 该方法对基础模型和指令微调模型均有效。

A3 背景知识与设计原则

2.1 数据筛选

目标与挑战。本研究旨在通过基于结果的强化学习方法,在检索环境中增强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> 标签内,即:“ 推理过程在此 最终答案在此 ”。你的思考过程应包括分解、反思、头脑风暴、验证、提炼和修正。此外,如有必要,你可以使用“<|begin_of_query|> 搜索查询(仅关键词)在此 <|end_of_query|>”的格式来搜索不确定的知识。然后,搜索系统将以“<|begin_of_documents|> ...搜索结果... <|end_of_documents|>”的格式为你提供检索信息。


表1: RL训练期间使用的数据信息。

A2 方法细节

2.2 两阶段基于结果的强化学习

为了逐步提升LLM的搜索能力,我们提出了一种两阶段、基于结果的强化学习训练方法。在第一阶段,训练模型有效利用外部检索系统。在第二阶段,训练模型在推理过程中结合搜索来准确解决问题。

2.2.1 奖励设计

两阶段奖励机制。由于训练数据中缺乏中间过程的标注,强化学习过程主要受结果奖励的影响。通过在两个阶段设置不同的奖励,模型能逐步学会调用外部检索系统,并有效地将检索到的文档整合到推理过程中以回答问题。

第一阶段奖励。在第一阶段,奖励函数包含一个检索奖励和一个格式奖励。此阶段的主要目标是让模型认识到它能够调用外部检索系统并学会如何使用它,而不考虑模型答案的正确性。模型被明确鼓励发起搜索查询,因此在此阶段不设置答案奖励。具体来说,检索奖励定义如下:


其中 $n$ 代表检索调用的次数。对于格式奖励,我们首先定义正确格式如下:
1. 模型的思考过程和最终答案应分别被 <think>...</think><answer>...</answer> 标签包裹。此外,<answer>...</answer> 标签内只允许包含最终的简短答案。
2. 生成的输出必须没有任何乱码或不可读内容。
3. 在调用检索时,模型应提出一个查询,并将查询包裹在 <begin_of_query>...</end_of_query> 标签内。此外,模型不能在未调用检索的情况下直接生成文档。
基于以上格式要求,格式奖励定义如下:

因此,第一阶段的最终奖励是检索奖励和格式奖励之和。

第二阶段奖励。在第二阶段,我们移除了检索奖励,并加入了答案奖励。我们采用与第一阶段相同的格式判断标准,但惩罚方式不同:


对于答案奖励,我们利用真实答案和预测答案之间的F1分数进行计算,公式如下:

其中,$PN$ 是预测答案的词数,$RN$ 是参考答案的词数,$IN$ 是两者交集的词数。因此,第二阶段的最终奖励是答案奖励和格式奖励之和。

2.2.2 训练算法

基于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> 标签内,即:“ 推理过程在此 最终答案在此 ”。在思考过程中,助手可以在必要时使用“<|begin_of_query|> 搜索查询(只列出关键词,例如“关键词_1 关键词_2 ...”)<|end_of_query|>”的格式来搜索不确定的知识。一个查询必须只涉及一个三元组。然后,搜索系统将以“<|begin_of_documents|> ...搜索结果... <|end_of_documents|>”的格式向助手提供检索信息。

基于检索掩码的损失计算。在训练过程中,我们采用上述解决方案来计算RL损失,这涉及到奖励、KL散度和优势函数(advantages)。当模型执行检索时,检索到的文档被整合到推理过程中,作为环境的观察结果。模型的目的不是生成这些文档。为了减轻环境的影响,我们将<begin_of_documents>...<end_of_documents>指定为特殊标记(special tokens),并在训练期间对它们进行掩码(mask)处理。这可以防止这些外部标记影响损失计算,确保检索到的文档不会干扰模型的内在推理和生成过程。

A4 实验环境

  • 数据集
    • 训练数据:从HotpotQA和2WikiMultiHopQA的训练集中筛选,共8148个样本。第一阶段训练使用350个中等难度样本;第二阶段使用7798个中等和困难样本。
    • 评估数据:使用四个多跳问答数据集进行评估。
      • 域内数据集:HotpotQA, 2WikiMultiHopQA。
      • 域外数据集:Musique, Bamboogle,用于评估模型的泛化能力。
  • 模型架构
    • R1-Searcher骨干模型:Llama-3.1-8B-Instruct 和 Qwen-2.5-7B-Base。
    • 基线模型:基于GPT-4o-mini和Llama-3.1-8B-Instruct的多种方法,包括朴素生成、标准RAG、分支方法、摘要方法、自适应检索方法、RAG-CoT方法、测试时扩展方法以及推理模型。
  • 硬件配置
    • 论文未明确提及具体的硬件配置(如GPU型号/数量)。
  • 软件配置与实现细节
    • 代码实现:所有基线模型均在ReARTeR框架下,使用FlashRAG【索引35, Flashrag: A modular toolkit for efficient retrieval-augmented generation research, 2024, by Jiajie Jin et al.】进行评估。
    • 检索语料库:使用KILT【索引36, KILT: a benchmark for knowledge intensive language tasks, 2021, NAACL-HLT】提供的2019年英文维基百科,分割成2900万个100词的段落。
    • 文本检索器:BGE-large-en-v1.5。
    • 在线搜索:针对Bamboogle数据集,使用Google Web Search API进行在线网页搜索。
    • 训练参数
      • 框架:DeepSpeed Zero-2【索引37, Zero: Memory optimizations toward training trillion parameter models, 2020, by Samyam Rajbhandari et al.】。
      • 超参数:每个样本进行16次rollout,训练批次大小为256,rollout批次大小为64,学习率为2e-6,采样温度为1.0,最大检索次数为8,训练轮次为1。
      • KL散度:Qwen-2.5-7B-Base设为0,Llama-3.1-8B-Instruct设为1e-4。
      • 折扣因子γ:设为1。

A4 实验结果

3.4 主要结果

实验设置:在四个多跳问答基准上,将R1-Searcher与一系列基线模型进行比较。评估指标为Cover Exact Match (ACC_R) 和 LLM-as-Judge (ACC_L)。

实验结果与分析(见表2):

  1. 在多跳问答任务上实现显著性能提升

    • 结果:与其他基线相比,ReARTeR表现出色,显示了测试时扩展方法的优势。然而,R1-Searcher在使用相同的LLaMA-3.1-8B-Instruct骨干模型时,性能显著超越了ReARTeR。具体而言,在LLM-as-Judge指标上,R1-Searcher在HotpotQA上提升了48.2%,在2WikiMultiHopQA上提升了21.7%,在Bamboogle上提升了4.0%。
    • 结论:该方法能有效促进模型在推理过程中进行准确的检索调用,且相比MCTS等方法开销更小。
  2. 支持从基础大语言模型进行无冷启动的强化学习

    • 结果:使用强大的基础模型(如Qwen-2.5-7B-Base)从头开始进行强化学习训练,取得了更好的效果,在大多数域内和域外数据集上都获得了最佳性能,甚至超越了闭源的GPT-4o-mini。
    • 结论:这证明了我们设计的两阶段RL方法在指导LLM学习过程中的有效性。
  3. 保持强大的泛化能力

    • 结果:模型仅使用来自HotpotQA和2WikiMultiHopQA训练集的8148个样本进行RL训练,不仅在这些域内数据集上表现出色,还在域外数据集(如Musique和Bamboogle)上展现了强大的泛化能力。
    • 结论:这表明模型通过RL训练中的探索,有效地学习了检索并将其与推理相结合,从而能够在需要检索的新测试数据集上表现稳健。此外,该模型还能无缝泛化到在线搜索场景。


表2: R1-Searcher与基线模型在四个多跳QA基准上的性能比较。粗体表示最佳性能。GPT、Qwen和Llama分别指GPT-4o-mini、Qwen-2.5-7B-Base和Llama-3.1-8B-Instruct。

4. 进一步分析

4.1 基础训练方法对比

  • GRPO vs. Reinforce++
    • 实验内容:比较GRPO和Reinforce++两种RL算法在RAG任务上的表现。
    • 实验结果(图2,表3):GRPO生成的文本更长,检索频率更高,在域外数据集(Bamboogle)上表现更好,可能具有更优的泛化能力。而Reinforce++在域内测试集(HotpotQA, 2Wiki)上表现更优,表明其对域内数据有更高的学习效率。
  • RL vs. SFT
    • 实验内容:对比强化学习(RL)和监督微调(SFT)对模型能力的提升效果。
    • 实验结果(表4):无论是在域内还是域外测试集,RL的性能均优于SFT。案例分析表明,SFT倾向于依赖模型错误的内部知识,而RL能更有效地学习何时以及如何进行相关的查询。
    • 结论:RL在增强模型的检索技能方面比SFT更有效。


图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的缩写。

4.2 奖励设计分析

  • 答案奖励
    • 实验内容:比较使用精确匹配(EM)、覆盖精确匹配(CEM)和F1分数作为答案奖励对RL训练的影响。
    • 实验结果(图3,表5):基于F1的奖励产生了更长的响应和更优的最终结果,平均性能比基于EM的奖励高出52.6%。EM因其过于严格而不适用于开放式问题生成场景。
    • 结论:F1分数为该场景提供了更平衡的答案准确性度量,是更有效的基于结果的奖励。
  • 格式奖励
    • 观察:严格的格式奖励对于防止“奖励 hacking”和生成不合理方案至关重要。
    • 解决的问题:通过精心设计的格式奖励,成功解决了模型在训练中出现的几种异常行为,如:1)不生成查询而直接伪造检索文档;2)生成无意义的输出;3)完全跳过检索过程;4)生成包含大量无关信息的冗长答案。
    • 结论:格式奖励保证了RL训练过程的稳定性。


图3: Qwen-2.5-7B-Base模型使用不同指标计算结果监督奖励时的奖励、响应长度和检索次数日志。


表5: Qwen-2.5-7B-Base模型使用不同指标计算结果监督奖励在三个多跳QA基准上的性能比较。

4.3 训练数据分析

  • 难度分布
    • 实验内容:比较使用包含困难问题的数据集(w. Difficult)和不包含困难问题的数据集(w/o Difficult)进行训练的效果。
    • 实验结果(图4,表6):使用包含困难问题的数据集训练,模型会进行更多的检索,生成长度更长,并且在评估集上取得了更好的性能(平均CEM性能提升3.4%)。
    • 结论:更具挑战性的问题能增强模型的推理能力,数据难度分布对模型性能至关重要。
  • 数据多样性
    • 实验内容:比较使用HotpotQA和2Wiki的混合数据集与单一数据集进行训练的效果。
    • 实验结果(图5,表7):在混合数据集上训练的模型检索次数更多,响应更长,并在测试集上得分更高(平均CEM性能提升高达10.9%)。仅使用2Wiki数据集训练的模型表现出过拟合迹象。
    • 结论:训练数据的多样性显著影响训练效果和泛化能力。


图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模型在不同数据集上训练时的奖励、响应长度和检索次数日志。

4.4 对在线搜索的泛化能力

  • 实验内容:为评估模型在训练知识范围之外的泛化能力,在Bamboogle任务上测试其在线搜索性能。当模型需要检索时,使用Google API进行在线搜索,并将网页摘要整合到推理中。
  • 实验结果(图6):
    • 与使用本地检索系统相比,在线搜索使模型的性能提升了18.2%(基于相同的Qwen-2.5-7B-Base骨干)。
    • 与使用在线搜索的更大模型Search-o1(32B)相比,性能提升了11.4%。
  • 结论:R1-Searcher使模型学会了在推理过程中检索信息的能力,而不仅仅是记忆响应格式,因此能够很好地适应在线搜索场景。


图6: 我们的模型(使用本地搜索和在线搜索)与基线模型在Bamboogle数据集上的偏好比较。Search-o1使用在线搜索,所有其他基线使用本地搜索。指标为CEM(覆盖精确匹配)。

5. 案例研究

  • RL vs. SFT(表8):与SFT相比,RL能更好地在不确定时调用外部检索。SFT倾向于受内部知识影响,直接使用错误的内部知识回答,导致最终答案错误。
  • Qwen vs. Llama(表9):经过RL训练后,Qwen-2.5-7B-Base模型比Llama-3.1-8B-Instruct模型更有效地分解复杂问题。它通过将多步问题分解为子问题并依次检索相关信息来优化推理过程,从而提高了检索到相关文档的可能性和准确性。


表8: 来自Bamboogle数据集的案例研究,比较了使用RL和SFT训练的Qwen-2.5-7B-Instruct模型。


表9: 来自Bamboogle数据集的案例研究,比较了使用RL训练的Qwen-2.5-7B-Instruct和Llama-3.1-8B-Instruct模型。

A5 结论

本文提出了R1-Searcher,一个将RAG与RL相结合的新颖框架。该框架采用两阶段、基于结果监督的RL方法,通过精心设计的奖励机制,使模型学会在推理过程中调用外部搜索引擎获取相关知识。该方法完全依赖RL,无需指令微调进行冷启动,模型通过探索自主学习。它展示了从域内训练数据到域外测试数据的强大泛化能力,并能无缝切换到在线搜索以获取最新信息。此外,R1-Searcher对基础模型和指令微调模型均适用。在多个数据集上的大量实验表明,R1-Searcher的性能优于传统的RAG方法和其他推理方法。同时,我们从训练方法、数据和奖励设计等多个方面对训练过程进行了分析。

7. 未来工作

未来工作计划从两个关键领域改进我们的训练方法:
1. 探索更复杂的数据课程:鉴于训练数据的分布和难度对学习过程有显著影响,我们将探索比简单数据混合更结构化的方法,以进一步提升性能。
2. 扩展模型规模:计划将模型扩展到当前7B配置以上,研究更大规模的模型(如32B),以更好地评估我们方法的有效性。

方法细节中的引用汇总

  • 引用位置: 2.2.2 训练算法
  • 索引: [20]
  • 文献信息: Jian Hu. Reinforce++: A simple and efficient approach for aligning large language models, 2025.
  • 原文描述: "Our training algorithm is based on the Reinforce++ algorithm..." (我们的训练算法基于Reinforce++算法...),用于说明其RL训练算法的基础。