【论文解读】ReSearch:让LLM自主学习搜索
1st author: Mingyang Chen | Homepage
paper: [2503.19470] ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning
code: Agent-RL/ReCall: ReCall: Learning to Reason with Tool Call for LLMs via Reinforcement Learning
5. 总结 (结果先行)
ReSearch 框架为我们描绘了一个让LLM通过与环境互动(搜索)来自主学习复杂推理能力的有前景的路径。其核心贡献在于证明了,无需显式的推理步骤监督,仅通过基于最终结果的稀疏奖励,LLM就能学会何时以及如何利用外部知识源来辅助其思考过程。
从更广阔的视角看,这项工作是朝着构建更具自主性和“智能”的AI系统迈出的重要一步。它不仅仅是让模型“会用工具”,而是让模型“理解为什么要用以及怎么用好工具”。
未来的探索方向可能包括:
- 更复杂的工具集: 将搜索扩展到代码执行、API调用等更广泛的工具使用场景。
- 更精细的奖励设计: 虽然简单的奖励已显成效,但探索更细致的奖励机制(如对推理步骤的中间奖励,或引入探索奖励)可能进一步提升性能和学习效率。
- 理论分析: 深入理解RL过程如何催生出反思、纠错等高级认知能力的内在机制。
- 可解释性: 如何更好地理解和信任LLM自主形成的“搜索-推理”策略。
1. 思想
这篇论文的核心思想,是试图将LLM从一个被动的信息“检索-整合者”转变为一个主动的“探究-推理者”。传统的RAG(Retrieval-Augmented Generation)往往依赖于固定的检索策略或人工设计的复杂提示链,这在多跳推理(multi-hop reasoning)等复杂场景下显得捉襟见肘。ReSearch的作者则认为搜索本身就是推理链条中不可或缺的一环,而非一个外部的辅助工具。
作者的目标是让LLM通过强化学习(Reinforcement Learning, RL)自主学会:何时搜索?搜索什么内容?以及如何将搜索结果融入到后续的思考中,整个过程无需人工标注的推理步骤数据。与DeepSeek-R1等工作在思路上有相似之处,即通过结果导向的奖励来激励模型产生复杂的行为,但ReSearch更明确地将“搜索动作”也纳入了模型的生成空间和学习范畴。
2. 方法
ReSearch的框架建立在强化学习之上:
-
智能体 (Agent): LLM 本身。
-
动作空间 (Action Space): 生成文本,其中包括特殊的控制标签,如
<think>...</think>
用于内部思考,<search>...</search>
用于指定搜索查询,以及<answer>...</answer>
用于给出最终答案。搜索结果则由外部环境(如维基百科检索引擎)提供,并以<result>...</result>
标签包裹后反馈给LLM。 -
Rollout 过程:
-
LLM接收问题 X X X。
-
LLM生成思考和搜索查询序列,例如: Y 1 = <think>...</think><search> Q 1 </search> Y_1 = \text{<think>...</think><search>}Q_1\text{</search>} Y1=<think>...</think><search>Q1</search>。
-
当遇到
</search>
时,系统执行搜索 Q 1 Q_1 Q1,得到结果 R 1 R_1 R1。 -
将 R 1 R_1 R1 拼接回上下文,LLM继续生成: } Y 2 = <result> R 1 </result><think>...</think>... Y_2 = \text{<result>}R_1\text{</result><think>...</think>...} Y2=<result>R1</result><think>...</think>...。
-
重复此过程,直到生成最终答案如: <answer>The final answer is \ boxed { A p r e d } </answer> \text{<answer>The final answer is }\backslash {\text{boxed}\{A_{pred}\}\text{</answer>}} <answer>The final answer is \boxed{Apred}</answer>。
其中 A p r e d A_{pred} Apred是最终答案。整个序列 Y = Y 1 Y 2 . . . Y f i n a l Y = Y_1 Y_2 ... Y_{final} Y=Y1Y2...Yfinal 构成一个完整的 rollout。
-
-
GRPO 目标函数:
论文使用GRPO优化策略函数,其目标函数如下:
J ( θ ) = E x ∼ D , { y i } i = 1 G ∼ π θ o l d ( ⋅ ∣ x ) [ 1 G ∑ i = 1 G ( min ( r i ( θ ) A ^ i , clip ( r i ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ i ) − β KL ( π θ ( ⋅ ∣ x ) ∣ ∣ π θ r e f ( ⋅ ∣ x ) ) ) ] J(\theta) = \mathbb{E}_{x \sim D, \{y_i\}_{i=1}^G \sim \pi_{\theta_{old}}(\cdot|x)} \left[ \frac{1}{G} \sum_{i=1}^G \left( \min \left( r_i(\theta) \hat{A}_i, \text{clip}(r_i(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_i \right) - \beta \text{KL}(\pi_{\theta}(\cdot|x) || \pi_{\theta_{ref}}(\cdot|x)) \right) \right] J(θ)=Ex∼D,{yi}i=1G∼πθold(⋅∣x)[G1i=1∑G(min(ri(θ)A^i,clip(ri(θ),1−ϵ,1+ϵ)A^i)−βKL(πθ(⋅∣x)∣∣πθref(⋅∣x)))]
其中:-
π θ \pi_{\theta} πθ 是当前策略(LLM的参数为 θ \theta θ)。
-
π θ o l d \pi_{\theta_{old}} πθold 是采样 rollout 时使用的旧策略。
-
π θ r e f \pi_{\theta_{ref}} πθref 是一个参考策略(通常是预训练模型或SFT模型),用于KL散度惩罚,防止策略偏离过远。
-
r i ( θ ) = π θ ( y i ∣ x ) π θ o l d ( y i ∣ x ) r_i(\theta) = \frac{\pi_{\theta}(y_i|x)}{\pi_{\theta_{old}}(y_i|x)} ri(θ)=πθold(yi∣x)πθ(yi∣x) 是重要性采样权重。
-
ϵ \epsilon ϵ 是PPO中的裁剪参数。
-
β \beta β 是KL散度惩罚的系数。
-
D D D 是输入数据分布。
-
A ^ i \hat{A}_i A^i 是第 i i i 个 rollout y i y_i yi 的优势函数估计。GRPO的 A ^ i \hat{A}_i A^i 是基于一组 G G G 个 rollouts 的奖励来计算的:
A ^ i = R ( y i ) − mean ( { R ( y j ) } j = 1 G ) std ( { R ( y j ) } j = 1 G ) \hat{A}_i = \frac{R(y_i) - \text{mean}\left (\{R(y_j)\}_{j=1}^G\right )}{\text{std}\left (\{R(y_j)\}_{j=1}^G\right )} A^i=std({R(yj)}j=1G)R(yi)−mean({R(yj)}j=1G)- 其中 R ( y j ) R(y_j) R(yj) 是第 j j j 个 rollout 的奖励。这避免了训练一个独立的critic网络。
GRPO 的 A ^ \hat{A} A^ 的计算使用了蒙特卡洛 (Monte Carlo, MC) 近似的思想:
在强化学习中,优势函数 A π ( s , a ) A^{\pi}(s,a) Aπ(s,a) 定义为在状态 s s s 下采取动作 a a a 相对于当前策略 π \pi π 的平均表现的优势,即:
A π ( s , a ) = Q π ( s , a ) − V π ( s ) A^{\pi}(s,a) = Q^{\pi}(s,a) - V^{\pi}(s) Aπ(s,a)=Qπ(s,a)−Vπ(s)
其中:- Q π ( s , a ) = E τ ∼ π , s 0 = s , a 0 = a [ ∑ t = 0 ∞ γ t r t + 1 ] Q^{\pi}(s,a) = \mathbb{E}_{\tau \sim \pi, s_0=s, a_0=a} \left[ \sum_{t=0}^{\infty} \gamma^t r_{t+1} \right] Qπ(s,a)=Eτ∼π,s0=s,a0=a[∑t=0∞γtrt+1] 是动作价值函数,表示从状态 s s s 开始,执行动作 a a a,然后遵循策略 π \pi π 所能获得的期望累积回报。
- V π ( s ) = E τ ∼ π , s 0 = s [ ∑ t = 0 ∞ γ t r t + 1 ] V^{\pi}(s) = \mathbb{E}_{\tau \sim \pi, s_0=s} \left[ \sum_{t=0}^{\infty} \gamma^t r_{t+1} \right] Vπ(s)=Eτ∼π,s0=s[∑t=0∞γtrt+1] 是状态价值函数,表示从状态 s s s 开始,遵循策略 π \pi π 所能获得的期望累积回报。
在 model-free 的强化学习中,通常无法直接计算 Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a) 和 V π ( s ) V^{\pi}(s) Vπ(s),因为我们不知道环境的真实模型(状态转移概率和奖励函数)。因此,我们转而使用从与环境交互中采样得到的经验来估计它们。
在ReSearch这篇论文中,它们关注的是一个完整的生成序列(rollout) y i y_i yi 而不是单步的 ( s , a ) (s,a) (s,a) 对。我们可以将初始输入 x x x 视为“状态”,整个生成的序列 y i y_i yi 视为一个宏观的“动作”或者“轨迹”。
-
R ( y i ) R(y_i) R(yi) 作为 Q π θ o l d ( x , y i ) Q^{\pi_{\theta_{old}}}(x, y_i) Qπθold(x,yi) 的蒙特卡洛估计:
对于给定的输入 x x x,策略 π θ o l d \pi_{\theta_{old}} πθold 会生成一个完整的序列 y i y_i yi(一个rollout)。这个rollout获得的最终奖励 R ( y i ) R(y_i) R(yi) 是对“从输入 x x x 开始,生成特定序列 y i y_i yi 所能获得的期望回报”的一次蒙特卡洛采样。也就是说, R ( y i ) R(y_i) R(yi) 是 Q π θ o l d ( x , y i ) Q^{\pi_{\theta_{old}}}(x, y_i) Qπθold(x,yi) 的一个无偏(但可能高方差)的估计。这里我们假设折扣因子 γ = 1 \gamma=1 γ=1 或者奖励是针对整个序列末端给出的。 -
mean ( { R ( y j ) } j = 1 G ) \text{mean}(\{R(y_j)\}_{j=1}^G) mean({R(yj)}j=1G) 作为 V π θ o l d ( x ) V^{\pi_{\theta_{old}}}(x) Vπθold(x) 的蒙特卡洛估计:
对于同一个输入 x x x,我们从策略 π θ o l d \pi_{\theta_{old}} πθold 中采样 G G G 个不同的rollouts { y j } j = 1 G \{y_j\}_{j=1}^G {yj}j=1G。它们的平均奖励 R ˉ ( x ) = 1 G ∑ j = 1 G R ( y j ) \bar{R}(x) = \frac{1}{G} \sum_{j=1}^G R(y_j) Rˉ(x)=G1∑j=1GR(yj) 是对“从输入 x x x 开始,遵循策略 π θ o l d \pi_{\theta_{old}} πθold 所能获得的期望回报”的蒙特卡洛估计。这可以看作是对 V π θ o l d ( x ) V^{\pi_{\theta_{old}}}(x) Vπθold(x) 的估计,即 V π θ o l d ( x ) ≈ R ˉ ( x ) V^{\pi_{\theta_{old}}}(x) \approx \bar{R}(x) Vπθold(x)≈Rˉ(x)。 -
A ^ i \hat{A}_i A^i 作为 A π θ o l d ( x , y i ) A^{\pi_{\theta_{old}}}(x, y_i) Aπθold(x,yi) 的蒙特卡洛估计:
因此, R ( y i ) − mean ( { R ( y j ) } j = 1 G ) R(y_i) - \text{mean}(\{R(y_j)\}_{j=1}^G) R(yi)−mean({R(yj)}j=1G) 就构成了对特定rollout y i y_i yi 相对于从同一输入 x x x 生成的平均rollout的优势的蒙特卡洛估计。
A ^ i ′ = R ( y i ) − mean ( { R ( y j ) } j = 1 G ) ≈ Q π θ o l d ( x , y i ) − V π θ o l d ( x ) = A π θ o l d ( x , y i ) \hat{A}_i' = R(y_i) - \text{mean}(\{R(y_j)\}_{j=1}^G) \approx Q^{\pi_{\theta_{old}}}(x, y_i) - V^{\pi_{\theta_{old}}}(x) = A^{\pi_{\theta_{old}}}(x, y_i) A^i′=R(yi)−mean({R(yj)}j=1G)≈Qπθold(x,yi)−Vπθold(x)=Aπθold(x,yi)论文中进一步对这个原始的优势估计进行了标准化:
A ^ i = R ( y i ) − mean ( { R ( y j ) } j = 1 G ) std ( { R ( y j ) } j = 1 G ) + δ \hat{A}_i = \frac{R(y_i) - \text{mean}(\{R(y_j)\}_{j=1}^G)}{\text{std}(\{R(y_j)\}_{j=1}^G) + \delta} A^i=std({R(yj)}j=1G)+δR(yi)−mean({R(yj)}j=1G)
(通常会加一个小的 δ \delta δ 防止除以零)
这种标准化操作本身并不改变其作为MC估计的本质,而是为了稳定训练过程,减少不同批次间优势估计的方差,并使学习信号的尺度更加一致。
-
-
奖励建模 (Reward Modeling):
奖励函数 R R R 设计得非常简洁,主要包含两部分:- 答案奖励 (Answer Reward): 最终答案 A p r e d A_{pred} Apred 与标准答案 A g t A_{gt} Agt 之间的 F1 分数。
R a n s = F1 ( A p r e d , A g t ) R_{ans} = \text{F1}(A_{pred}, A_{gt}) Rans=F1(Apred,Agt) - 格式奖励 (Format Reward): 检查rollout是否遵循了预定义的标签格式(如正确使用
<think>
,<search>
,\boxed{}
等)。
论文中给出的最终奖励 r r r 定义为:
r = { F1 ( a p r e d , a g t ) , if F1 score ≠ 0 0.1 , if F1 score = 0 and 格式正确 0 , if F1 score = 0 and 格式错误 r = \begin{cases} \text{F1}(a_{pred}, a_{gt}), & \text{if F1 score} \ne 0 \\ 0.1, & \text{if F1 score}= 0 \text{ and 格式正确} \\ 0, & \text{if F1 score} = 0 \text{ and 格式错误} \end{cases} r=⎩ ⎨ ⎧F1(apred,agt),0.1,0,if F1 score=0if F1 score=0 and 格式正确if F1 score=0 and 格式错误
其中 a p r e d a_{pred} apred 是模型在\boxed{}
内给出的答案, a g t a_{gt} agt 是标准答案。这个0.1的小奖励鼓励模型至少学会正确的交互格式。
- 答案奖励 (Answer Reward): 最终答案 A p r e d A_{pred} Apred 与标准答案 A g t A_{gt} Agt 之间的 F1 分数。
-
检索结果屏蔽 (Retrieval Result Masking):
一个重要的细节。在计算损失时,模型不应对检索到的<result>...</result>
内容负责,因为这些内容不是模型生成的。因此,在计算策略梯度时,这些token的loss会被mask掉。 -
训练模板 (Training Template):
对于预训练的Base模型和指令微调模型,分别设计了两种模板。
3. 优势
- 自主学习与适应性: LLM能够根据任务需求动态决定搜索策略,而不是依赖固化规则。这使得模型在面对新颖或复杂问题时更具鲁棒性。
- 数据高效: 无需昂贵的、人工标注的推理步骤数据。仅依赖最终答案的正确性作为奖励信号。
- 强大的泛化能力: 论文强调,模型仅在MuSiQue一个数据集上训练,却能在HotpotQA、2WikiMultiHopQA、Bamboogle等多个基准上取得良好表现,这证明了其学习到的“搜索-推理”能力的通用性。
- 涌现能力: 实验分析表明,ReSearch能够自然地引导出LLM的某些高级推理能力,如反思 (reflection) 和 自我纠错 (self-correction)。例如,在案例分析中,模型会意识到之前的搜索查询有误,并主动修正查询以获取更相关的信息。这种能力并非来自预设的启发式规则,而是RL过程中的自然涌现。
- 紧密集成: 将搜索视为推理链的内生部分,使得思考、搜索和结果整合更为流畅和高效。
4. 实验
- 模型: Qwen2.5-7B(-Instruct) 和 Qwen2.5-32B(-Instruct)。
- 训练数据: 仅使用MuSiQue训练集。
- 评估基准: HotpotQA, 2WikiMultiHopQA, MuSiQue, Bamboogle。
- 评估指标: 精确匹配 (Exact Match, EM) 和 LLM-as-a-Judge (LJ)。
- 主要发现:
- ReSearch 模型在所有基准上均显著优于基线方法(如Naive RAG, Iter-RetGen, IRCOT),EM和LJ得分均有大幅提升 (例如,7B模型平均EM提升15.81%,LJ提升17.56%;32B模型平均EM提升14.82%,LJ提升15.46%)。
- 基于指令微调 (Instruct) 的模型作为ReSearch的起点,通常能取得更好的性能。
- 训练过程中,模型的响应长度和平均搜索次数均呈现增长趋势,表明模型在学习进行更深入的思考和更充分的信息获取。