论文名称:ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning
机构:百川智能
Github代码链接:github.com/Agent-RL/Re…
简介
这篇论文提出ReSearch,通过RL训练LLMs,将搜索操作作为推理链的一部分,在无需推理步骤监督数据的情况下进行推理,在Qwen2.5系列模型上训练后经实验显示出强泛化性,且在RL过程中自然激发模型的反思和自我修正等高级推理能力。 整体思路与R1-Searcher、Search-R1非常相似,因此只介绍一些核心项。
一阶段RL
-
梯度方法:GRPO
-
外部检索结果:不参与loss计算,与R1-Searcher 设置一致。
-
多轮:同样考虑到了多步Rollouts的情况。
-
Reward Design:
- Answer Reward:采用的是F1 Score,计算预测答案和标准答案的正确性差距。
- Format Reward:主要检查是否正确遵循Prompt里面约束的定义格式。
模型训练
数据集
训练只用域内的数据集,测试的时候是覆盖所有数据集。
- In-Domain:Musique(多跳问答)
- Out-of-Domain:HotpotQA、2WikiMultiHopQA 和 Bamboogle。
模型选型
-
Baseline Model:无
-
Backbone Model:
- Qwen-2.5-7B(Base/Instruct)
- Qwen-2.5-32B(Base/Instruct)
Prompt
- For Base Model
转成中文版本如下:
用户与助手之间的对话。用户提出问题,助手解决问题。助手首先在脑海中思考推理过程,然后为用户提供答案。在思考过程中,如果需要,助手可以调用维基百科搜索工具来搜索特定主题的事实信息。推理过程和答案分别包含在<think> </think>和<answer> </answer>标签中,搜索查询和结果分别包含在<search> </search>和<result> </result>标签中。
例如,<think>这是推理过程</think><search>这里是搜索查询</search><result>这里是搜索结果</result> <think>这是推理过程</think><answer>最终答案是 \boxed {这里是答案} </answer>。
在答案的最后部分,最终的确切答案用 latex 格式包含在 \boxed {} 中。
用户:{prompt}
助手:
- For Instruct Model
转成中文版本如下:
你是一个乐于助人的助手,可以借助维基百科搜索工具逐步解决给定的问题。给定一个问题,你需要先在脑海中思考推理过程,然后提供答案。在思考过程中,如果需要,可以调用维基百科搜索工具搜索特定主题的事实信息。推理过程和答案分别包含在<think> </think>和<answer> </answer>标签中,搜索查询和结果分别包含在<search> </search>和<result> </result>标签中。
例如,<think>这是推理过程</think><search>这里是搜索查询</search><result>这里是搜索结果</result><think>这是推理过程</think><answer>最终答案是\boxed{这里是答案} </answer>。
在答案的最后部分,最终的确切答案用 latex 格式包含在\boxed{}中。
实验结果
评测方式
- EM:Exact Match,精确匹配
- LLM-as-Judge:使用GPT-4o-mini来评估预测的正确性,Judge的Prompt如下
转成中文版本如下:
你将得到一个问题及其真实答案列表,其中每个条目都可以是一个真实答案。给定一个预测答案,你需要根据真实答案列表判断该预测答案是否正确回答了问题。
你应该首先给出判断的理由,然后给出你的判断结果(即“正确”或“错误”)。以下是判断的标准:
1. 预测答案不需要与任何一个真实答案完全相同,但对于该问题来说,语义上应该是相同的。
2. 真实答案列表中的每一个条目都可以被视为该问题的一个真实答案,并且预测答案在语义上应该与其中至少一个真实答案相同。
问题:{问题}
真实答案:{真实答案}
预测答案:{预测答案}
输出应采用以下JSON格式:
```json
{
"rationale": "你判断的理由,以文本形式呈现",
"judgement": "你的判断结果,只能是‘正确’或‘错误’"
}
```
你的输出:
关键结论
- 可以看到对于EM/LJ两种方式,ReSearch的效果都是非常显著。
- 使用Instruct Model进行训练可以进一步提高 ReSearch 的性能。
- ReSearch可以推广到具有不同问题类型和结构的其他基准测试中,泛化能力很强,与之前两篇paper结论一致。
Key Insights
Response Length & Search Steps
- 响应长度:在整个训练过程呈现持续增加的趋势,并且Instruct的响应长度比Base更长。此外,32B的模型一开始响应长度会下降,作者推测可能是32B模型具有更多的固有知识,从而导致初期在不使用检索的情况下生成较少的响应。
- 搜索步数:在整个训练过程中也是同样呈现持续增加的趋势,表明模型逐渐学会使用搜索来迭代多次检索答案。
Training and Validation Reward
- 都是呈现急剧增加 -> 逐渐增加 -> 平稳波动(收敛)的趋势。
- Instruct模型的冷启动Reward更高,7B模型到最后Base和Instruct模型都会收敛到相似的Reward水平,但32B Instruct模型到最后的Reward水平仍然高于Base模型。
Self-elicited Reflection
如表 3 中的第二个<think>所示,模型表示“I made a mistake”,认识到之前的搜索查询未能检索到有用信息。然后,在第三个<think>中,它通过生成更有效的搜索查询来纠正自己以获得相关信息。
作者明确提醒,这种反思能力在Prompt中并未经过明确训练或设计,而是在RL过程中自然地由模型自身引发出来。