《COLM 2025》Search-R1:Train your LLMs to reason and call a search engine with reinforcement learning
https://github.com/petergriffinjin/search-r1https://arxiv.org/abs/2503.09516Search-R1 提出了一种框架利用强化学习RL训练大模型使其能够自主决定何时使用搜索引擎、如何构造查询并根据搜索结果进行多轮推理最终解决复杂问题与 GRPO、PPO 的区别仅在于引入了搜索引擎作为 environment 的一部分https://arxiv.org/abs/2402.03300文章目录为什么这很重要背景与痛点核心方法交互式环境与 RL实验分析主实验分析实验(a) PPO vs. GRPO(b) Base vs. Instruct(c) Response length响应长度(d) # Valid search有效搜索调用次数 核心总结参考为什么这很重要背景与痛点传统 RAG 的局限 以前我们用 RAG通常是把用户的问题拿去搜索把结果塞给模型。但模型是被动的它不知道这结果好不好也不知道是否需要再搜一次 。Prompting 不够用 虽然可以通过写 Prompt 让模型去搜索比如 ReAct 模式但这种能力没有经过训练内化泛化能力差 。DeepSeek-R1 的启发 DeepSeek-R1 证明了纯 RL 可以激发出强大的推理能力。Search-R1 则是把这种能力扩展到了“带搜索的推理”场景 。核心方法交互式环境与 RL环境定义搜索即环境交互将搜索 API 调用转化为马尔可夫决策过程MDP的状态转移把搜索引擎当作 RL 环境的一部分。模型不仅生成文本还可以生成特殊的标签来触发搜索 。流程Rollout模型生成思考过程 - 生成搜索词 - 环境返回结果 - 模型继续思考 - 最终答案 。关键技术创新检索 Token 掩码 (Retrieved Token Masking) 这是一个非常重要的细节。在训练计算 Loss损失函数时只计算模型自己生成的 Token忽略搜索引擎返回的文本 。具体通常语言模型的训练目标是最大化所有 Token 的概率。但在 Search-R1 中数据流是这样的Prompt→Reasoning→Query→Search Results→Reasoning→Answer其中Search Results 是搜索引擎返回的不是模型生成的。如果不做 Masking 强化学习算法会试图优化模型去“生成”这些搜索结果。但这没有意义因为搜索结果是环境给的模型控制不了。这会导致梯度更新方向错误 。做了 Masking 也就是论文中提到的 I(y_t) 操作。当 Token 是检索内容时I(y_t)0。这样模型只专注于优化它能控制的部分“我该思考什么” 和 “我该搜什么” 。效果奖励机制结果导向 (Outcome-based Reward) 不需要复杂的步骤奖励Process Reward只需要看最后的答案对不对 。 具体做法 如果最终答案和标准答案匹配Exact Match就给奖励否则不给 。这证明了即使只有最终结果的反馈模型也能学会中间复杂的搜索策略实验分析主实验分析实验这组图表展示了大语言模型LLM在强化学习训练过程中的关键表现与行为变化分为四个核心对比维度(a) PPO vs. GRPOGRPO橙色收敛速度更快在训练早期就能快速提升训练奖励Train Reward但在约 300 步后出现明显波动表现出不稳定性。PPO蓝色优化过程更平稳奖励曲线波动小但收敛速度慢需要更多步数才能达到与 GRPO 相近的奖励水平。结论GRPO 适合追求快速迭代PPO 适合需要稳定训练的场景。(b) Base vs. InstructInstruct橙色指令微调模型训练奖励上升更快更早进入收敛状态。Base蓝色基础模型初始奖励更低提升速度更慢但最终能达到与指令微调模型几乎相同的性能上限。结论指令微调能加速训练收敛但不会显著改变模型的最终表现上限。© Response length响应长度左轴蓝色响应长度整体呈现先降→再升→后稳定的趋势训练初期长度波动较大后期稳定在 1000–1100 区间。第一阶段前100步 模型生成的长度变短了。这可能是因为它在去除非必要的废话**适应任务格式 **。 第二阶段100步后 模型生成的长度开始显著变长同时准确率大幅上升。 解读 这说明模型“顿悟”了Grokking。它学会了频繁调用搜索引擎并且把搜索到的内容整合进自己的过程中。因为引入了外部长文本所以总长度增加了 。右轴红色训练奖励随步数持续上升与响应长度的变化趋势对齐说明模型在优化奖励的同时也在调整输出长度以适配任务需求。(d) # Valid search有效搜索调用次数左轴蓝色随着训练推进模型发起有效搜索的次数逐步增加从初始约 1.4 次提升到接近 2.0 次。右轴红色训练奖励同步上升表明模型学会了更频繁地调用搜索工具来提升任务表现。结论强化学习让模型更主动地利用外部搜索能力以获得更高奖励。 核心总结算法层面GRPO 快但不稳PPO 稳但较慢指令微调能加速收敛但不改变最终性能。行为层面训练会让模型调整输出长度、增加工具调用频率这些行为变化与奖励提升高度相关。应用启示若需快速上线可优先用 GRPO 指令微调若追求长期稳定部署PPO 更可靠。参考https://www.xiaohongshu.com/explore/695d3879000000000b010d3c?note_flow_sourcewechatxsec_tokenCBAiS-z1KJqVzXQkA9y1Q1v2luH-TitEKFDF73QSSse9g