当前位置: 首页 > news >正文

【论文解读】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更明确地将“搜索动作”也纳入了模型的生成空间和学习范畴。

Figure 2

2. 方法

ReSearch的框架建立在强化学习之上:

  • 智能体 (Agent): LLM 本身。

  • 动作空间 (Action Space): 生成文本,其中包括特殊的控制标签,如 <think>...</think> 用于内部思考,<search>...</search> 用于指定搜索查询,以及 <answer>...</answer> 用于给出最终答案。搜索结果则由外部环境(如维基百科检索引擎)提供,并以 <result>...</result> 标签包裹后反馈给LLM。

  • Rollout 过程:

    1. LLM接收问题 X X X

    2. 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>

    3. 当遇到 </search> 时,系统执行搜索 Q 1 Q_1 Q1,得到结果 R 1 R_1 R1

    4. 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>...

    5. 重复此过程,直到生成最终答案如: <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(θ)=ExD,{yi}i=1Gπθold(x)[G1i=1G(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(yix)πθ(yix) 是重要性采样权重。

    • ϵ \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 视为一个宏观的“动作”或者“轨迹”。

      1. 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 或者奖励是针对整个序列末端给出的。

      2. 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)=G1j=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)

      3. 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 设计得非常简洁,主要包含两部分:

    1. 答案奖励 (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)
    2. 格式奖励 (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的小奖励鼓励模型至少学会正确的交互格式。
  • 检索结果屏蔽 (Retrieval Result Masking):
    一个重要的细节。在计算损失时,模型不应对检索到的 <result>...</result> 内容负责,因为这些内容不是模型生成的。因此,在计算策略梯度时,这些token的loss会被mask掉。

  • 训练模板 (Training Template):
    对于预训练的Base模型和指令微调模型,分别设计了两种模板。

Table 1

3. 优势

  1. 自主学习与适应性: LLM能够根据任务需求动态决定搜索策略,而不是依赖固化规则。这使得模型在面对新颖或复杂问题时更具鲁棒性。
  2. 数据高效: 无需昂贵的、人工标注的推理步骤数据。仅依赖最终答案的正确性作为奖励信号。
  3. 强大的泛化能力: 论文强调,模型仅在MuSiQue一个数据集上训练,却能在HotpotQA、2WikiMultiHopQA、Bamboogle等多个基准上取得良好表现,这证明了其学习到的“搜索-推理”能力的通用性。
  4. 涌现能力: 实验分析表明,ReSearch能够自然地引导出LLM的某些高级推理能力,如反思 (reflection)自我纠错 (self-correction)。例如,在案例分析中,模型会意识到之前的搜索查询有误,并主动修正查询以获取更相关的信息。这种能力并非来自预设的启发式规则,而是RL过程中的自然涌现。
  5. 紧密集成: 将搜索视为推理链的内生部分,使得思考、搜索和结果整合更为流畅和高效。

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的起点,通常能取得更好的性能。
    • 训练过程中,模型的响应长度和平均搜索次数均呈现增长趋势,表明模型在学习进行更深入的思考和更充分的信息获取。
http://www.xdnf.cn/news/971083.html

相关文章:

  • Qt进阶开发:动画框架的介绍和使用
  • Zynq multi boot及网口远程更新开发
  • Android Studio 问题:Android Studio 一直开在 Updating indexes
  • 【运维】【期末实训】网站简易搭建模拟
  • 核心机制:面向字节流
  • C++:std::is_convertible
  • <7>-MySQL内置函数
  • Python训练营-Day27-函数专题2:装饰器
  • Java如何权衡是使用无序的数组还是有序的数组
  • copilot基于 DeepSeek-R1 思路构建 VLA 自动驾驶强化学习系统
  • 华为云Flexus+DeepSeek征文|体验华为云ModelArts快速搭建Dify-LLM应用开发平台并创建联网大模型
  • QMC5883L的驱动
  • iview组件库:自定义方法去控制Tree树形数据的根节点与叶节点的关联性
  • Android Studio jetpack compose折叠日历日期选择器【折叠日历】
  • IOC和AOP
  • vue实现气泡词云图
  • FastJson的反序列化问题入门
  • Qt使用ODBC连接MySQL数据库
  • R7-1 显示Pascal三角形
  • 【代码模板】从huggingface加载tokenizer和模型,进行推理
  • idea64.exe.vmoptions配置
  • IDEA中配置HTML和Thymeleaf热部署的步骤
  • 蓝桥杯 2024 15届国赛 A组 儿童节快乐
  • 指针与引用参数传递的区别及内存操作流程详解
  • 分散电站,集中掌控,安科瑞光伏云平台助力企业绿色转型
  • 高通录像功能
  • Vim 光标移动命令总览
  • Java中高并发线程池的相关面试题详解
  • 《ZLMediaKit 全流程实战:从部署到 API 调用与前后端集成》
  • 用 LoRA 对 Qwen2.5-VL 模型进行SFT - FORCE_TORCHRUN=1