论文与代码
摘要
将推理与外部搜索过程集成颇具挑战,尤其是针对复杂多跳问题。本文提出ReSearch框架,通过强化学习训练大语言模型(LLMs)进行搜索式推理,且无需推理步骤的监督数据。该框架把搜索操作融入推理链,以基于文本的思维引导搜索,搜索结果又影响后续推理。实验显示,ReSearch在多跳问答基准测试中显著优于基线方法。
概览
在ReSearch框架里,推理链不再仅仅像DeepSeek-R1那样由基于文本的思维(即被<思考></思考>包围)构成,还涵盖了搜索查询(即被<搜索></搜索>包围)和检索结果(即被<结果></结果>包围)。搜索操作被视为链状推理过程的关键部分,它与基于文本的思维相互作用。具体而言,何时以及如何执行搜索由之前的文本思维决定,而搜索结果又会对后续的文本思维产生影响。此外,该框架并未为大语言模型提供用于模仿推理步骤的监督数据,而是借助强化学习(即GRPO)激励大语言模型通过搜索进行推理。研究人员基于Qwen2.5-7B(-Instruct)和Qwen2.5-32B(-Instruct)从头开始训练ReSearch。
方法
强化学习
主要思路是对多个包含搜索的推理链(即rollouts)进行采样,优化策略(即大语言模型),从而最大化生成奖励更高的推理链的概率。具体情况如下图所示:(a)GRPO管道;(b)推出生成过程的细节。
组相对策略优化(GRPO)
GRPO被用作学习算法,它从一组推理链中估计基线,而不像近端策略优化(PPO)那样训练一个单独的价值网络(critic model)。给定现有策略$\pi_{\theta}^{old}$和参考策略$\pi_{\theta}^{ref}$,基于$G$个推理链,
对于每个输入$x \sim D$,GRPO的目标是通过最大化以下目标来优化策略$\pi_{\theta}$:
其中$A_{i} = r_{i} - \frac{\text{mean}(\{ r_{j} \}_{j = 1}^{G})}{\text{std}(\{ r_{j} \}_{j = 1}^{G})}$是当前组中第$i$个推理链的归一化优势,$\epsilon$是削波比,$\beta$是KL散度损失系数。
推出搜索
与传统推理链仅包含基于文本的推理不同,ReSearch中的推理链还包含搜索查询和检索结果。推出生成过程是基于文本的思维、搜索查询和检索结果之间的迭代过程。当生成过程遇到</search>标签时,最后一个<search>和当前</search>标签之间的查询将作为搜索查询,用于检索相关事实信息,检索结果会被<result>和</result>标签括起来。然后,已有的推理链会与检索结果连接,作为下一次迭代生成后续响应的输入,直到生成过程遇到句尾(eos)标签(即Qwen-2.5模型中的<im_end>或<endoftext>)。
检索结果掩码
在原始GRPO中,损失是根据整个推理链中生成的所有令牌计算的。然而在ReSearch中,推理链包含的检索结果并非由训练策略生成,而是由搜索环境检索得到。因此,在计算损失时会对检索结果进行掩码处理,避免训练策略偏向检索结果。
训练模板
为了帮助大语言模型理解这种推理链格式,尤其是指示何时调用搜索操作的标签,研究人员创建了两个提示模板:一个用于基础(即预训练)模型,另一个用于指令微调模型。
基础模型提示模板
用户和助手之间的对话。用户提出问题,助手解答。助手首先在脑海中思考推理过程,然后向用户提供答案。思考过程中,如果有需要,助手可以调用维基百科搜索工具搜索特定主题的事实信息。推理过程和答案分别用<思考></思考>和<答案></答案>标签括起来,搜索查询和结果分别用<搜索></搜索>和<结果></结果>标签括起来。例如:
<思考>这是推理过程。</思考>
<搜索>搜索查询内容</搜索>
<结果>搜索结果内容</结果>
<思考>这是推理过程。</思考>
<答案>最终答案是\boxed{答案内容}</答案>。在答案的最后部分,最终的确切答案用\boxed{}(LaTeX格式)括起来。
用户:[具体问题]。助手:
指令微调模型系统提示模板
你是一个乐于助人的助手,可以借助维基百科搜索工具逐步解决给定的问题。收到问题后,你需要先思考推理过程,然后提供答案。思考过程中,如果有需要,可以调用维基百科搜索工具搜索特定主题的事实信息。推理过程和答案分别用<思考></思考>和<答案></答案>标签括起来,搜索查询和结果分别用<搜索></搜索>和<结果></结果>标签括起来。例如:
<思考>这是推理过程。</思考>
<搜索>搜索查询内容</搜索>
<结果>搜索结果内容</结果>
<思考>这是推理过程。</思考>
<答案>最终答案是\boxed{答案内容}</答案>。在答案的最后部分,最终的确切答案用\boxed{}(LaTeX格式)括起来。
对于基础模型,填充了特定用户问题的此模板将直接作为大语言模型的输入。对于指令微调模型,其提示模板作为系统提示,与指令微调大语言模型的相应聊天模板结合使用。
奖励建模
奖励函数考虑两个部分:答案奖励和格式奖励。
答题奖励
通过F1分数计算最终答案(即\boxed{}中的答案)与真实答案的正确性。
格式奖励
检查推理链是否正确遵循提示模板中定义的格式,主要检查标签的正确性以及答案中是否存在\boxed{}。具体来说,对于一个推理链的最终奖励:
其中$a_{pred}$是\boxed{}中的最终答案,$a_{gt}$是真实答案,$f1(a_{pred}, a_{gt})$是$a_{pred}$和$a_{gt}$之间的F1分数。
实验
实施
在Qwen2.5-7B、Qwen2.5-7BInstruct、Qwen2.5-32B和Qwen2.5-32B-Instruct上进行训练和评估。强化学习框架基于verl构建。使用MuSiQue的训练集(19938个样本)进行训练,训练轮数为2。检索环境基于FlashRAG(一种RAG研究的标准工具包),使用E5-base-v2作为检索器,2018年12月的维基百科数据作为知识库。所有语料库的索引和嵌入都由FlashRAG进行了预处理。在训练和评估的推理链生成过程中,对每个查询检索前5个结果。
结果
下表展示了基于不同规模大语言模型的方法:
从上表可以得出以下结论:
重新搜索的有效性
与所有基线方法相比,ReSearch在所有基准测试中都取得了显著改进。对于7B参数的Qwen2.5模型,ReSearch相对于最佳基线在精确匹配上的平均提升为15.81%,在“大语言模型作为评判者”(LLM-as-a-judge)指标上的平均提升为17.56%。对于32B参数的Qwen2.5模型,精确匹配的平均提升率为14.82%,“大语言模型作为评判者”指标的平均提升率为15.46%。
基本模型和指令调整模型之间的比较
分别使用7B和32B参数的基础模型和指令调整模型训练ReSearch,需要注意的是,这些模型都是通过从头开始的强化学习进行训练,没有进行任何监督微调。
泛化能力
在强化学习过程中,ReSearch学习到了与特定知识或多跳模式无关的搜索推理能力,这种能力具有泛化性。
分析
响应长度和搜索操作次数
下图展示了训练期间的响应长度和搜索操作数量:
结果表明,在整个训练过程中,响应长度和搜索操作的数量总体上呈上升趋势。
培训和验证奖励
下图展示了ReSearch强化学习期间的培训和验证奖励:
奖励在前20个训练步骤中急剧增加,之后逐渐上升。对于7B和32B模型的指令调整模型,冷启动奖励更高。对于7B模型,基础模型和指令调整模型的奖励收敛到相似水平;而对于32B模型,指令调整模型的训练奖励高于基础模型。
结论
本文介绍了ReSearch这一新颖框架,它通过强化学习训练大语言模型进行搜索式推理,无需任何关于推理步骤的监督数据。该方法将搜索操作整合为推理链的一部分,基于文本的思维引导搜索的执行时机和方式,搜索结果进而影响后续推理。在多个多跳问答基准测试上的大量实验表明,ReSearch相较于基线方法有显著改进。
参考文献
ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning by Chen et al.arXiv:2503.19470
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。