核心思想是通过奖励设计激励模型主动使用检索:
两阶段强化学习
第一阶段只关心模型是否调用检索系统,不考虑答案准确性。通过设置检索奖励和格式奖励,让模型尽快学会正确的检索调用格式。
<think> 和 <answer> 标签中,且答案简短;生成内容不得包含乱码;检索查询必须使用 <begin_of_query> 标签封装,且不得在未检索的情况下生成文档。满足格式规定奖励 0.5,否则为 0。第二阶段引入答案奖励,引导模型在推理过程中有效利用检索系统得到正确答案。
阶段 2:答案奖励与格式惩罚。
第二阶段取消检索奖励,引入答案奖励并修改格式惩罚规则。格式正确时奖励为 0;格式错误时惩罚 −2。答案奖励采用预测答案和参考答案的 F1 分数:
Ranswer=2×INPN+RN,R_{\text{answer}} = \frac{2 \times \text{IN}}{P_N + R_N},Ranswer=PN+RN2×IN,
其中 PNP_NPN 是预测答案的词数,RNR_NRN 是参考答案的词数,IN\text{IN}IN 是二者交集的词数。阶段 2 的总奖励为答案奖励加格式奖惩。
R1‑Searcher:一个两阶段的强化学习框架,允许模型在推理过程中自主调用检索。
“多跳”在这里指的是 需要多个推理步骤/链条 来从不同信息源拼凑出答案的数据集。相比“单跳”(single-hop)只需要从一个段落/文档直接抽取答案,多跳任务要跨文档、跨段落、甚至跨知识结构。具体来说:
训练/评估上的挑战:
系统提示:为在数据选择时标注合理的思考与答案格式,提示要求模型在回答问题前先在脑海中思考(生成在 <think> 标签中),再给出最终答案(在 <answer> 标签中);如有不确定的知识需检索,则使用 <|begin_of_query|> 和 <|end_of_query|> 标签包裹关键词。检索系统会返回 <|begin_of_documents|>……<|end_of_documents|> 中的文档供推理使用。