ReSearch:基于强化学习的搜索推理训练框架

2025年04月01日 由 alex 发表 4690 0

将推理与外部搜索过程相结合仍然具有挑战性,尤其是对于需要多个检索步骤的复杂多跳问题而言。为了解决这一问题,本文提出了ReSearch,这是一个全新的框架,它通过强化学习来训练大语言模型(LLM),使其能够借助搜索进行推理,且在推理步骤上不使用任何有监督的数据。


概述

  • 在这个框架中,推理链不仅像DeepSeek-R1那样由基于文本的思考内容(即由<think></think>括起来的部分)组成,还包括搜索查询内容(即由<search></search>括起来的部分)和检索结果(即由<result></result>括起来的部分)。
  • 将搜索操作视为链状推理过程的一部分,并且搜索操作会与基于文本的思考内容相互作用。具体来说,何时以及如何执行搜索将由之前基于文本的思考内容来引导,而搜索结果将影响后续基于文本的思考内容。
  • 没有为大语言模型提供任何关于推理步骤的有监督数据以供模仿,而是利用强化学习(即通用相对策略优化算法,GRPO)来激励大语言模型借助搜索进行推理。
  • 在通义千问2.5–7B(-指令型)和通义千问2.5–32B(-指令型)上从头开始训练ReSearch。


方法


强化学习

这里的主要思路是对多个借助搜索的推理链(即轨迹采样)进行采样,并优化策略(即大语言模型),以使生成具有更高奖励的轨迹采样的概率最大化,如下图所示,其中(a)为通用相对策略优化算法(GRPO)流程。(b)为轨迹采样生成过程的详细信息。 


1


a) 群体相对策略优化(GRPO)

GRPO被用作学习算法,它从一组轨迹采样中估计基线,而不是像近端策略优化(PPO)算法那样训练一个单独的评判模型。


给定一个现有的策略πθ旧和一个参考策略πθ参考,基于G个轨迹采样 。 


2


对于每个服从分布\(D\)的输入\(x\),群体相对策略优化(GRPO)的目标是通过最大化以下目标函数来优化策略\(\pi_{\theta}\): 


3


其中\(A_i = r_i - \frac{\text{mean}(\{r_j\}_{j = 1}^{G})}{\text{std}(\{r_j\}_{j = 1}^{G})}\)是当前组中第\(i\)次轨迹采样的归一化优势值,\(\epsilon\)是裁剪比率,\(\beta\)是KL散度损失系数。


b) 带搜索的轨迹采样

  • 与传统的仅包含基于文本的思考作为推理内容的轨迹采样不同,ReSearch中的轨迹采样还包含搜索查询和检索结果。
  • 轨迹采样过程是基于文本的思考、搜索查询和检索结果之间的一个迭代过程,如前面章节的图中所述。
  • 当生成过程遇到</search>标签时,最后一个<search>标签和当前</search>标签之间的查询内容将被用作搜索查询,以检索相关的事实性信息,检索结果将用<result>和</result>标签括起来。
  • 然后,将现有的轨迹采样与检索结果连接起来,作为下一个输入,以迭代生成后续的回复,直到生成过程遇到句尾(eos)标签(即在通义千问2.5模型中为<endoftext>或<im_end>)。


c) 检索结果掩码处理

  • 在原始的GRPO中,损失是根据整个轨迹采样中生成的所有标记来计算的。
  • 然而,在ReSearch中,轨迹采样包含检索结果,这些检索结果不是由训练策略生成的,而是由搜索环境检索得到的。因此,在计算损失时会对检索结果进行掩码处理,以避免训练策略偏向于检索结果。


训练模板

为了引导大语言模型理解这种轨迹采样格式,特别是那些指示何时调用搜索操作的标签,创建了两个提示模板:一个用于基础(即预训练)模型,另一个用于指令微调模型。 


Prompt Template For Base Model
A conversation between User and Assistant. The user asks a question, and the assistant solves
it. The assistant first thinks about the reasoning process in the mind and then provides the
user with the answer. During thinking, the assistant can invoke the wikipedia search tool
to search for fact information about specific topics if needed. The reasoning process and
answer are enclosed within <think> </think> and <answer> </answer> tags respectively,
and the search query and result are enclosed within <search> </search> and <result>
</result> tags respectively. For example, <think> This is the reasoning process. </think>
<search> search query here </search> <result> search result here </result> <think>
This is the reasoning process. </think> <answer> The final answer is \boxed{answer here}
</answer>. In the last part of the answer, the final exact answer is enclosed within \boxed{}
with latex format. User: prompt. Assistant:


System Prompt Template For Instruction-Tuned Model
You are a helpful assistant that can solve the given question step by step with the help of the
wikipedia search tool. Given a question, you need to first think about the reasoning process in
the mind and then provide the answer. During thinking, you can invoke the wikipedia search
tool to search for fact information about specific topics if needed. The reasoning process and
answer are enclosed within <think> </think> and <answer> </answer> tags respectively,
and the search query and result are enclosed within <search> </search> and <result>
</result> tags respectively. For example, <think> This is the reasoning process. </think>
<search> search query here </search> <result> search result here </result> <think>
This is the reasoning process. </think> <answer> The final answer is \boxed{answer here}
</answer>. In the last part of the answer, the final exact answer is enclosed within \boxed{}
with latex format.


对于基础模型,这个填入了特定用户问题的模板将作为大语言模型的直接输入。

对于经过指令微调的模型,其提示模板用作系统提示,与该指令微调大语言模型对应的聊天模板结合使用。


奖励建模

奖励函数考虑以下两个部分:答案奖励和格式奖励。


a) 答案奖励

通过F1分数来计算最终答案(在\boxed{} 中)与真实答案的正确性。


b) 格式奖励

检查轨迹采样是否正确遵循了我们在提示模板中所定义的格式,主要检查标签的正确性以及答案中是否存在\boxed{} 。


具体来说,对于一次轨迹采样的最终奖励: 


4


其中\(a_{pred}\)是\(\boxed{}\)中的最终答案,\(a_{gt}\)是真实答案,\(f1(a_{pred}, a_{gt})\)是\(a_{pred}\)和\(a_{gt}\)之间的F1分数。


实验


实现方式

  • 在通义千问2.5–7B、通义千问2.5–7B指令型、通义千问2.5–32B和通义千问2.5–32B指令型上进行训练和评估。
  • 强化学习框架是基于verl搭建的。
  • 使用MuSiQue的训练集(19938个样本)进行训练,训练轮数为2。
  • 检索环境基于FlashRAG [7],这是一个用于检索增强生成(RAG)研究的标准工具包。
  • 使用E5-base-v2作为检索器,并使用2018年12月的维基百科数据作为知识库。
  • 所有的语料库索引和嵌入都已由FlashRAG进行了预处理。
  • 在训练和评估的轨迹采样过程中,我们为每个查询检索排名前5的结果。


结果

下面的表格展示了分别基于不同规模大语言模型的方法。 


5


从上述表格中可得出以下结论:


a) ReSearch的有效性

  • 与所有基线模型相比,ReSearch在所有基准测试中都取得了显著的提升。
  • 对于70亿参数的通义千问2.5模型,ReSearch在精确匹配方面相较于最佳基线模型的平均提升幅度为15.81%,在“大语言模型作为评判者”评估方式下的平均提升幅度为17.56%。
  • 对于320亿参数的通义千问2.5模型,在精确匹配方面的平均提升幅度为14.82% ,在“大语言模型作为评判者”评估方式下的平均提升幅度为15.46%。


b) 基础模型与指令微调模型的比较

  • 分别在70亿参数和320亿参数的基础模型以及指令微调模型上训练ReSearch,需要注意的是,它们都是通过从头开始的强化学习进行训练的,没有进行任何有监督的微调。


c) 泛化能力

  • 在强化学习过程中,ReSearch学习到了借助搜索进行推理的能力,这种能力独立于特定的知识或多跳模式,并且具有可泛化性。


分析

a) 回复长度和搜索操作次数

下面的图表展示了训练过程中的回复长度和搜索操作次数。 


6


结果表明,在整个训练过程中,回复长度和搜索操作的次数总体上是增加的。


b) 训练与验证奖励

下面的图表展示了ReSearch在强化学习过程中的训练奖励和验证奖励。 


7


在最初的20个训练步骤中,奖励大幅提升,随后逐渐增加。对于70亿参数和320亿参数的指令微调模型,其冷启动奖励都更高。


对于70亿参数的模型,基础模型和指令微调模型的奖励收敛到了相近的水平;而对于320亿参数的模型,指令微调模型的训练奖励高于基础模型。


结论

本文介绍了ReSearch,这是一个全新的框架,它通过强化学习来训练大语言模型,使其能够借助搜索进行推理,且无需任何关于推理步骤的有监督数据。

该方法将搜索操作整合为推理链的重要组成部分,其中基于文本的思考会指导何时以及如何执行搜索,而搜索结果随后会影响进一步的推理。

在多个多跳问答基准测试上进行的大量实验表明,与基线方法相比,ReSearch取得了显著的改进。 

文章来源:https://medium.com/@techsachin/research-llm-training-framework-to-reason-with-search-via-reinforcement-learning-bf65478c0fa3
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消