当前位置: 首页 > 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)
http://www.xdnf.cn/news/237565.html

相关文章:

  • 【补题】Codeforces Round 664 (Div. 1) A. Boboniu Chats with Du
  • 西门子PLC S7-1200 的组态软件控制
  • DeepSeek V2:引入MLA机制与指令对齐
  • ZLG嵌入式笔记 | 移动硬盘和虚拟机的那些事儿
  • 深度卷积模型:案例研究
  • 【iPaaS融合集成平台-混合云时代,iPaaS正在成为企业集成的“中央枢纽”】
  • 数据访存性能影响因素:虚拟内存管理和TLB的概念和工作流程
  • 【Java】一篇讲透Java中的集合类
  • 多智能体协同作战:MagenticOne如何指挥一支AI团队
  • 什么是工业互联网平台?
  • kbuild system学习
  • 浮阀塔精馏分离乙醇-水溶液工艺设计研究
  • 从实列中学习linux shell4: shell 脚本中 $0 $1 $2 $3 >> 以及 awk 都是干啥的?
  • FastAPI系列12:使用JWT 登录认证和RBAC 权限控制
  • 前端笔记-Element-Plus
  • python安装和环境配置,开发方法简要步骤。
  • Android 自带的分享功能分享到三方应用
  • ProfiNet转CAN协议转换网关数据交互实现:工业自动化异构网络无缝对接
  • [250429] 免费!DeepSeek-R1T-Chimera 合并 R1 和 V3, 在 OpenRouter 上可用
  • 2025华东杯ABC题赛题已出速拿
  • ​​智能制造中的预测性维护:基于深度学习的设备故障预测​​
  • 矫平机:金属板材精密加工的“整形专家”
  • 在 Linux 系统中,让线程主动放弃当前 CPU 时间片
  • MySQL8.0创建数据库,该如何选择字符集,是选择utf8mb4还是utf8mb3
  • Java 表达式及运算符的优先级与结合性入门
  • 机器学习——特征选择
  • SEO与国际化
  • 简易C++内存追踪方案:监控动态内存分配与释放
  • 添加了addResourceHandlers 但没用
  • 墨西哥游戏出海推广本土网盟cpi广告策略