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

ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning

在这里插入图片描述

🧠 一、论文背景:为什么需要 ReSearch?

🌍 大语言模型(LLM)的问题:

尽管 GPT、Claude、Qwen 等 LLMs 在推理上取得了巨大进展,但它们仍面临几个关键挑战:

  1. 信息孤岛:模型知识固定于预训练阶段,无法访问最新信息;
  2. 复杂推理难题:多跳推理(multi-hop QA)要求模型一步步查找信息、推理中间结论,再得出最终答案;
  3. 传统 RAG 的局限
    • Retrieval-Augmented Generation(RAG)方法通过外部检索补充知识,但:
      • 多步检索依赖人工 prompt 设计;
      • 很难自动控制何时检索、检索什么;
      • 不具备「交互式推理+检索」的一体化策略。

🔁 二、核心思想:Reason with Search + Reinforcement Learning

📌 ReSearch 做了什么?

目标:训练一个 LLM 学会「何时思考、何时搜索、如何使用搜索结果继续思考」,而不是硬编码流程。

🧩 关键设计:

组成内容
🔍 外部搜索模型可自由调用 Wikipedia 检索(通过 <search> 标签)
🧠 内部推理每一步生成 <think> 推理内容
📦 强化学习不依赖人工标注,仅用奖励引导模型学习出推理-搜索交互行为
🎯 GRPO 策略Group-based 强化学习优化搜索与推理策略,避免训练不稳定

🤖 核心组件:

  1. 推理链格式(如 <think>, <search>, <result>, <answer>):

    • 统一格式使得模型知道何时检索、如何控制流程;
    • 类似编程语言中的「控制流」。
  2. 奖励设计

    • 正确答案奖励(F1);
    • 格式合规奖励(必须出现 boxed 答案)。

🔬 三、方法细节总结

🔍 图 2(a):GRPO 强化学习训练流程(整体架构)

请添加图片描述

(Figure 2)展示了 ReSearch 框架的训练流程,分为两个部分:


🧩 (a) GRPO Pipeline:基于强化学习的整体训练框架

这是 ReSearch 所用的 Group Relative Policy Optimization (GRPO) 策略训练流程。

流程解释:
  1. Question 输入:用户提出一个多跳问题 (x),例如“Who was president of the United States in the year that Citibank was founded?”

  2. LLM Policy + Search Module

    • 模型在生成过程中可以选择执行 <search>...</search> 操作。
    • 这些搜索指令会被送到搜索模块(如 Wikipedia 检索系统),返回 <result>...</result>
    • 这种生成与搜索交替进行,形成完整的推理轨迹(rollout)( y_1, y_2, …, y_G )。
  3. Reward Calculation:每个生成的 rollout 会通过奖励函数进行评分 ( r_1, …, r_G ),包括:

    • ✅ 答案是否正确(Answer Reward)
    • 🧩 格式是否合规(Format Reward)
  4. Reference Model + KL Penalty

    • 使用参考模型对比当前策略,计算 KL 散度,防止训练过度偏移。
  5. Group Computation

    • 使用 GRPO 策略,根据组内 rollout 的相对优势 ( A_1, …, A_G ) 来更新 LLM 策略,优化方向是产生更高奖励的策略。

🔁 (b) Rollout Generation 过程:一个具体推理示例

这个部分详细展示了 ReSearch 如何逐步交替生成思考与搜索操作

示例任务:

“Who was president of the United States in the year that Citibank was founded?”

步骤说明:
  1. Step ①: Generate till <search> or <eos>

    • 模型首先生成内部思考 <think>
      “To answer this question, I need… I will start by searching for the founding year of Citibank.”
    • 然后生成 <search>
      “when was Citibank founded”
  2. Step ②: Retrieve Search Result

    • 检索模块处理查询,返回 <result>
      “Citibank was founded in 1812…”
  3. Step ③: Concat then Continue

    • 将检索结果与已有文本拼接,模型继续生成下一轮 <think> + <search>,直到得出最终答案。
最终输出:
  • 包含多轮 <think><search><result> 的推理链。
  • 答案位于 <answer>\boxed{James Madison}</answer> 中,格式统一、便于评分。

🧠 图标/模块说明:

图标/模块含义
🔄 LLM Policy当前策略模型,负责生成推理链
🔍 Search触发外部搜索(如 Wikipedia)
🧊 Reference Model旧模型,用于 KL 约束参考
🧮 Reward Calculation答案+格式评估,决定奖励值
🧑‍⚖️ Group ComputationGRPO 策略,基于 group 计算相对优势
🧠 <think>模型思考内容
🔍 <search>搜索查询
📚 <result>搜索返回内容
<answer>最终输出答案

🧪 四、实验表现

在这里插入图片描述
Figure 1展示了 ReSearch 框架在四个多跳问答基准数据集上的性能对比,使用了 LLM-as-a-Judge 作为评估指标(越高越好)。

📊 图表结构解析

Y轴:

  • LLM-as-a-Judge (%):由 GPT-4 等高质量语言模型自动判断回答是否正确的比例。

X轴:

  • 四个多跳问答数据集:
    • HotpotQA
    • 2Wiki
    • MuSiQue
    • Bamboogle

柱状图颜色(方法):

颜色方法
深蓝ReSearch-Qwen-32B-Instruct(最强)
ReSearch-Qwen-32B(无 Instruct 微调)
中蓝Iter-RetGen:基于检索-生成交替
浅蓝IRCoT:检索-推理交错的提示法
浅灰Naive RAG:直接拼接搜索结果
深灰Naive Generation:完全不检索,只靠 LLM 生成

🧠 总结图像的价值:

这张图直观体现出:

方法类型是否可控推理表现(平均)特点
ReSearch✅ 强化学习 + 搜索推理链★★★★★无需监督标签,RL 训练
IRCoT / Iter-RetGen❌ 提示策略(提示工程)★★依赖 prompt 工程设计
Naive❌ 无推理能力无法处理复杂任务

📈 性能结果:

相比 Naive Generation / RAG / IRCoT 等基线方法,ReSearch 有 8.9%~22.4% 的大幅提升,并且:

  • 泛化强:只在 MuSiQue 上训练,也能迁移到其他任务;
  • 模型规模敏感:32B 指令微调模型效果最好。

🧠 五、与其他方法对比

方法特点局限
Naive RAG检索+拼接无推理链、不可控
IRCoT交替的 CoT + 检索依赖 prompt 工程
ReSearch自动学会何时检索与推理无需监督标注

🌟 六、创新点总结

创新点描述
✅ 推理+搜索结合搜索被当作推理链一部分处理,而非外部操作
✅ 无需监督数据使用强化学习激发推理结构与搜索调用策略
✅ 结构化格式统一 <think><search> 等标签格式
✅ 自我反思能力模型在搜索失败后能“意识到错误”并自我修正(见 case study)

相关文章:

  • 二叉树的路径总和问题(递归遍历,回溯算法)
  • 小米MiMo-7B大模型:解锁推理潜力的新传奇!
  • 安凯微以创新之芯,赋能万物智能互联新时代
  • 住宅代理与数据中心代理有什么区别
  • 正点原子STM32H743单片机实现ADC多通道检测
  • 0.安装两个版本的JDK8和JDK17并配置环境变量
  • StreamingLLM:让LLM拥有无限长生成能力
  • dubbo泛化调用时transient字段失效问题
  • Queue系列之SynchronousQueue源码分析:原理剖析与实战对比
  • 【默子速报】DeepSeek新模型 Prover-V2 报告解读
  • 从Oculus到Meta:Facebook实现元宇宙的硬件策略
  • 二、OrcaSlicer用户预设
  • 电容的作用
  • 对js的Date二次封装,继承了原Date的所有方法,增加了自己扩展的方法,可以实现任意时间往前往后推算多少小时、多少天、多少周、多少月;
  • 使用atomic实现无锁方式的全局变量访问
  • 借助电商 API 接口实现电商平台商品数据分析的详细步骤分享
  • Python第四周作业
  • 力扣-数组-238 除自身以外数组的乘积
  • tbb parallel_for 使用教程2之 tbb::blocked_range
  • 【Android】Android签名解析
  • 网警查处编造传播“登顶泰山最高可得3万奖金”网络谣言者
  • 十二届上海市委第六轮巡视全面进驻,巡视组联系方式公布
  • 浪尖计划再出发:万亿之城2030课题组赴九城调研万亿产业
  • “乐购浦东”消费券明起发放,多个商家同期推出折扣促销活动
  • 昂立教育:去年减亏1.39亿元,今年以“利润持续增长”为核心目标
  • 中消协发布“五一”消费提示:践行“光盘行动”,抵制餐饮浪费