R1-searcher:如何通过强化学习从零激活大语言模型的搜索能力?完整技术解析
R1-searcher如何通过强化学习从零激活大语言模型的搜索能力完整技术解析【免费下载链接】R1-SearcherR1-searcher: Incentivizing the Search Capability in LLMs via Reinforcement Learning项目地址: https://gitcode.com/gh_mirrors/r1/R1-SearcherR1-searcher是一个创新的开源项目它通过强化学习技术从零开始激活大语言模型的搜索能力让模型能够在推理过程中智能调用外部搜索工具获取信息显著提升模型在知识密集型任务中的表现。 为什么大语言模型需要搜索能力大型推理模型LRMs如OpnAI-o1和Deepseek-R1已展示出强化学习在增强模型长步骤推理能力方面的显著影响。然而当面对知识密集型问题特别是多跳问题和时间敏感问题时这些模型可能缺乏必要的知识。因此让LLMs能够在推理过程中调用网络搜索获取外部信息变得至关重要。R1-searcher的核心创新我们提出的R1-searcher采用两阶段结果监督强化学习方法使模型学会在推理过程中调用网络搜索首先让模型学习如何调用网络搜索然后教它如何有效使用该搜索引擎。这种方法不需要任何冷启动的指令微调同时兼容现有的Base LLMs或Chat LLMs。图R1-searcher在HotpotQA、2WikiMultiHopQA、Bamboogle和Musique等数据集上的性能对比展示了其相对于其他方法的显著优势 R1-searcher的关键见解仅依靠结果监督强化学习我们可以仅使用查询-答案对激活模型的内在搜索能力无论我们处理的是Base LLMs还是Chat LLMs最新的强化学习算法如GRPO、PPO和Reinforce都能有效激活LLMs的内部搜索能力训练过程中不需要复杂的提示工程或过程监督Base LLMs的能力在很大程度上影响模型是否可以从零开始直接训练RL之后的LongCoT推理是比现有的基于树搜索的方法如蒙特卡洛树搜索更有效和高效的测试时间扩展方法通过使用本地检索进行RL训练模型可以很好地泛化到其他数据集和在线搜索场景最终的7B参数LLMs相比现有的复杂方法甚至闭源LLMs如GPT-4o-mini实现了显著的性能提升️ R1-searcher的实现方法整体框架我们采用两阶段奖励引导RL训练方法阶段1仅使用格式奖励学习调用搜索阶段2使用格式奖励和答案奖励学习通过调用搜索解决问题算法细节我们仅使用结果监督强化学习进行训练主要考虑两个方面(1)强化学习算法(2)奖励设计。RL算法我们使用改进版的reinforce特别是通过模仿GRPO算法。对于每个问题我们平均n个样本的奖励这稳定了训练过程。对于解决方案格式我们使用/think.../RichMediaReference标签进行思考begin_of_search...end_of_search用于调用搜索工具以及begin_of_documents...end_of_documents用于返回检索文档。奖励设计我们利用基于F1的规则奖励。我们还尝试了精确匹配EM和覆盖精确匹配CEM作为奖励然而这些指标不能作为这些任务的良好基准更详细的分析即将发布。对于答案奖励我们使用黄金答案和预测答案之间的F分数。对于格式奖励在阶段1中如果模型执行检索且解决方案满足格式要求则在答案奖励中添加0.5分。在阶段2中移除检索要求如果解决方案不满足格式要求则从答案奖励中减去2分。详细实现包括超参数可以在我们的代码中找到。图R1-searcher使用的Ray架构展示了Actor模型、Reference模型和Reward模型之间的关系及GPU分配训练数据我们选择HotpotQA和2WikiMultiHopQA训练集中的一部分作为我们的训练数据。我们使用Qwen-2.5-7B-Instruct在训练数据集上执行rollouts。根据正确回答问题所需的rollouts数量我们将数据分为三类简单10次rollouts、中等10且20次rollouts和困难20次rollouts。然后将这些类别按特定比例混合形成我们的训练数据。所有训练数据可在以下位置找到训练数据 评估结果遵循ReARTeR我们选择了四个代表性基准HotpotQA、2WikiMultiHopQA、Musique和Bamboogle。HotpotQA和2WikiMultiHopQA被视为域内数据因为我们使用了它们的训练集而Musique和Bamboogle被归类为域外数据使我们能够评估模型的泛化能力。我们从HotpotQA、2WikiMultiHopQA和Musique的开发集中随机抽取500个示例作为我们的测试集。对于Bamboogle我们使用所有测试集125个样本作为我们的测试集。所有数据集的检索语料库均为维基百科段落具体采用KILT发布的2019年8月维基百科语料库。此外由于Bamboogle包含的知识具有时效性我们还进行了在线网络搜索测试以进一步评估我们的模型与在线搜索能力的对齐程度。对于评估指标我们使用ACC_RCover-Exect-Match和ACC_LLLM-as-Judge。图R1-searcher在各数据集上的详细评估结果展示了与其他方法的对比可以看出当使用相同的LLaMA-3.1-8B-Instruct基础模型时我们的方法相比现有方法取得了显著改进甚至超过了GPT-4o-mini等闭源模型。此外当切换到更强大的基础模型Qwen-2.5-7B-Base时我们直接从零开始进行强化学习。最终我们可以取得更好的结果并在所有域内和域外数据集上获得最佳性能展示了我们模型出色的泛化能力。对于Bamboogle我们额外利用Google进行在线搜索。可以看出与仅依赖本地知识库相比结合在线搜索产生了更好的结果表明将在线搜索能力无缝集成到我们的模型中是可行的。图R1-searcher在Bamboogle数据集上使用在线搜索的性能对比 快速开始要开始使用R1-searcher首先克隆仓库git clone https://gitcode.com/gh_mirrors/r1/R1-Searcher项目的训练和推理代码主要位于以下目录训练脚本examples/scripts/核心算法实现openrlhf/trainer/数据处理openrlhf/datasets/ 引用如果我们的报告对您的研究有帮助请引用我们的报告。article{R1-searcher, title{R1-searcher: Stimulating the Search Capability of LLM from Zero via Reinforcement Learning}, author{Huatong Song, Jinhao Jiang, Yingqian Min, Jie Chen, Zhipeng Chen, Wayne Xin Zhao, Ji-Rong Wen, Yang Lu, Xu Miu}, url{https://github.com/SsmallSong/R1-searcher}, year{2025} } 许可证本项目以MIT许可证发布。 联系方式如有任何问题或反馈请通过songhuatong123ruc.edu.cn与我们联系。【免费下载链接】R1-SearcherR1-searcher: Incentivizing the Search Capability in LLMs via Reinforcement Learning项目地址: https://gitcode.com/gh_mirrors/r1/R1-Searcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考