论文名称:R1-Searcher: Incentivizing the Search Capability in LLMs via Reinforcement Learning
机构:人大高瓴人工智能学院
Github代码链接:github.com/RUCAIBox/R1…
简介
R1-Searcher提出一种基于Reinforce++算法的两阶段RL框架,通过自主调用外部搜索工具增强LLM的回答能力。该框架无需过程奖励或蒸馏,实验显示其性能显著优于现有 RAG 方法,甚至超越闭源模型 GPT-4o-mini。
两阶段RL
Stage-1:学会用外部检索
采用retrieve-reward和format reward 来激励模型使用外部检索工具进行回答作业,而不考虑最终答案的准确性,最后的reward scroe为两者之和。
- Retrieve reward:n表示检索调用的次数,只要大于等于1(说明模型去使用检索工具了),就有奖励得分,因为就是要激励模型去发起搜索查询。
-
Format reward:首先肯定要定义什么是正确的格式,有三个判断条件
- 模型的思考过程和最终答案应分别包含在
<think>...</think>和<answer>...</answer>标签中,并且<answer>...</answer>标签中只允许使用最后的简短答案。 - 生成的输出必须没有任何乱码或不可读的内容。
- 调用检索时,模型应提出查询并将查询封装在
<begin_of_query>...</end_of_query>标签中,并且模型无法在不调用 retrieval 的情况下直接生成文档。
- 模型的思考过程和最终答案应分别包含在
Stage-2:根据检索结果准确回答
采用 answer reward & format reward,激励模型学习有效地利用外部检索结果来正确解决问题,最后的reward scroe为两者之和。
- Format reward:判断条件与stage-1里面的一致,但奖励分数的机制变了。
- Answer reward:使用参考以及预测答案的F1分数计算,其中PN 表示预测答案的字数,RN表示参考答案的字数,IN表示两个答案之间交集的字数。
模型训练
数据集
- In-Domain: HotpotQA、 2WikiMultiHopQA
训练只用域内的两个数据集,然后会将这两个数据集里面的数据进行难度分级:简单(少于10次rollouts)、中等(10到20次rollouts)、困难(超过20次rollouts)。表1是两阶段用到的训练数据数量以及难度分布情况。
- Out-of-Domain: Musique、 Bamboogle
域外的两个数据集,用于评估训练后模型的泛化能力。
模型选型
论文强调R1-Searcher需支持Base和Instruct两类模型,所以base和instruct都要做实验。
- Baseline Model:GPT-4o-mini、Llama-3.1-8BInstruct
- Backbone Model:Qwen-2.5-7B-Base、Llama-3.1-8B-Instruct
Prompt
- For Base Model
转成中文版本如下:
用户提出问题,助手解决问题。助手首先在脑海中思考推理过程,然后为用户提供最终答案。
推理过程和最终答案的输出格式分别用<think> </think>和<answer> </answer>标签括起来,即“<think>推理过程在此</think><answer>最终答案在此</answer>”。
在思考过程中,**助手可以在必要时进行搜索**,格式为“<|begin_of_query|>搜索查询(仅列出关键词,如“关键词_1 关键词_2 ...”)<|end_of_query|>”。**一个查询必须只涉及一个三元组**。然后,搜索系统将以“<|begin_of_documents|> ...搜索结果... <|end_of_documents|>”的格式为助手提供检索信息。
- For Instruct Model
转成中文版本如下:
你是一个乐于助人的助手。当给出一个问题时,你应该先在脑海中思考推理过程,然后给出最终答案。
推理过程和最终答案的输出格式分别用<think> </think>和<answer> </answer>标签括起来,即“<think>推理过程在此</think><answer>最终答案在此</answer>”。
你应该进行分解、反思、头脑风暴、验证、细化和修订等思考过程。此外,如果有必要,你可以用“<|begin_of_query|>搜索查询(仅关键词)在此<|end_of_query|>”的格式进行不确定知识的搜索。然后,搜索系统将以“<|begin_of_documents|>……搜索结果……<|end_of_documents|>”的格式为你提供检索信息。
搜索内容Mask
作者指定了 <|begin_of_documents|>…<|end_of_documents|> 作为特殊标记,并在训练期间屏蔽了它们。这可以防止外部知识影响损失计算,确保不会干扰模型的内在推理和生成过程。
实验结果
评测方式
- ACC_R:Cover Exact Match,关键词精确匹配,评估预测答案中是否包含Groud Truth所必需的关键实体。
- ACC_L:LLM-as-Judge,使用GPT-4o-mini来评估预测的正确性,Judge的Prompt如下
转成中文版本如下:
给定一个问题及其标准答案,验证预测答案是否正确。如果预测答案与标准答案的含义和关键信息完全一致,则预测正
确。若预测正确,请回答 True,否则回答False。
问题:{question}
标准答案:{ground_truth}
预测答案:{predicted_answer}
关键结论
R1-Searcher通过两阶段RL框架,在复杂推理(HotpotQA)、多跳知识整合(2Wiki)及冷启动(RL-Zero)任务 中均显著优于现有方法。
Key Insights
GRPO vs Reinforce++
- GRPO:域外泛化能力更好,在长文本和检索频率方面有明显优势。
- Reinforce++:域内效果好,在对域内数据的训练上具有更高的学习效率。
RL vs SFT
- RL在域内和域外效果均优于SFT。
- SFT虽然可以帮助模型生成检索查询,但查询的时机和相关性不如RL训练产生的查询。
Reward Design: Why F1 Score?
基于F1的答案奖励能产生更长的响应长度(图3)和更好的最终结果(表5)。
Data Difficulty Distribution
使用更难的数据会执行更长的检索,生成更长的内容,能增强模型的推理能力。
Data Diversity
训练数据集的多样性显著影响训练效率和泛化性,因此作者怀疑2Wiki数据多样性不好,导致过拟合,效果不佳。