【LLM Tool Learning】论文分享:R1-Searcher

174 阅读5分钟

论文名称:R1-Searcher: Incentivizing the Search Capability in LLMs via Reinforcement Learning

论文链接:arxiv.org/abs/2503.05…

机构:人大高瓴人工智能学院

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数据多样性不好,导致过拟合,效果不佳。