R1-Searcher使用强化学习增强语言模型解决问题的搜索能力
R1-Searcher:Incentivizing the Search Capability in LLMs via Reinforcement Learning 2025.3
https://github.com/RUCAIBox/R1-Searcher
针对的问题:
现有大型推理模型在时间敏感或知识密集型问题上通常仅使用模型内部知识,导致回答不准确甚至出现幻觉。
思路:
让模型自行学会“何时检索+ 如何利用结果”。
实现方法:
用纯 RL、不需要过程奖励或冷启动的蒸馏;激励大语言模型在推理过程中主动调用外部检索系统,提升解答能力。训练分为两个阶段:
第一阶段专注于让模型学会如何正确地发起检索请求。奖励包括两部分:检索奖励和格式奖励。
检索奖励:
n代表检索次数。
格式奖励:
正确的格式为:
第一阶段鼓励模型发起检索操作,并不关心模型答案的正确性。
第二阶段专注模型答案的正确性,让模型有效利用检索结果来回答问题。奖励包括答案奖励和格式奖励。
答案奖励:
利⽤了ground-truth 答案和预测答案的 F1 分数:
格式奖励:
相比于第一阶段的格式奖励,第二阶段加大了对格式的惩罚力度。
实验结果:
算法采用REINFORCE++。Backbone使用Qwen2.5-7B和Llam-3.1-8B,训练采用的是本地检索数据库。
其中HotpotQA和2Wiki是训练数据,Bambogle是域外数据。实验表明,GRPO在域外数据上表现好。REINFORCE++在域内数据上表现好。
在线搜索的扩展:
使用在线检索测试域外数据,具体,使用 Google API 检索网页,并用 GPT-4o-mini 总结长网页内容后融入推理模型。
[?为什么还要额外引入一个摘要模型,他自己不会总结吗]
作者给出的解释:经过CoT训练的模型(无论是sft还是rl),总结能力都会有所下降。
RL vs SFT
面对不确定的问题,RL倾向于利用检索来寻找答案,而SFT则倾向于利用模型内部不正确的知识进行回答。
总结:
论文提出了⼀种将 RAG 与 RL 相结合的 R1-Searcher 框架。该框架采⽤两阶段结果监督 RL方法,通过设计的奖励机制,使模型能够在推理过程中学习调用外部搜索引擎以获取相关知识。所提出的方法完全依赖于RL ,允许模型通过探索自主学习,而不需要任何指令微调冷启动。它展示了从域内训练数据集推⼴到域外测试数据集的能力,同时无缝切换到在线搜索以获取最新信息。