R1思考+RAG = R1-Searcher,开源~

火山方舟向量数据库大模型

论文笔记,标题:R1-Searcher: Incentivizing the Search Capability in LLMsvia Reinforcement Learning,代码开源,https://github.com/SsmallSong/R1-Searcher

整体内容很不错的一篇文章,可以回答很多常见问题。

比如:

  • 字符串的答案怎么去设计规则奖励?
  • 强化学习怎么数据怎么构造,怎么分步去设计?
  • grpo还是别的算法?
  • sft还是rl?

首先这个工作本身是希望,把模型思考+RAG通过强化学习结合到一起,让答案更准确。基础模型使用的qwen & llama。

所以设计这样的一个system prompt

picture.image

简单来说就是,希望模型输出这样的格式,通过输出特殊token,触发搜索,然后再把检索到的内容拼接进去,继续生成。当然这个过程可以进行多次。


        
        
            

          <think>
          
   

 
          
   

 
          xxx
          
   

 
          xxx
          
   

 
          
   

 
          <begin\_of\_query>检索查询关键词<end\_of\_query>
          
   

 
          <begin\_of\_documents>检索到的文档内容<end\_of\_documents>
          
   

 
          
   

 
          xxxx
          
   

 
          
   

 
          </think>
          
   

 
          <answer>最终答案</answer>
          
   

 
        
      

2阶段训练,第一阶段主要是奖励格式,相对而言,这个格式改动比较大,所以单独设计了一个阶段来训练?让模型快速学会怎么使用检索模块。

第一阶段用到了一些中等难度的数据(低于20次推理的数据),不奖励答案正确性,只看格式奖励和召回标记触发次数来奖励,如下图,2个奖励求和。

picture.image

第二阶段用格式奖励+正确答案是否正确的奖励,如下图,2个奖励求和。

picture.image

评估预测answer和正确answer是否匹配,2个测录,一个是规则判断是否包含,一个是用大模型判断。

picture.image

picture.image

最后几个消融实验:

强化学习算法使用grpo还是Reinforce++?

picture.image

grpo在在域外测试集上表现出更好的泛化能力, Reinforce++在域内测试集上表现出更高的学习效率。

SFT还是RL?

picture.image

RL,在域内和域外测试集上都表现出更好的检索能力和泛化能力。SFT,虽然可以帮助模型生成检索查询,但查询的时机和相关性不如RL训练的模型。

SFT的模型更倾向于依赖模型的内部知识,更容易导致错误或误导性的答案。

强化学习数据设计

难度:

picture.image

多样性:

picture.image

难度更高,多数据集,都促使模型进行更多的检索来回答问题。然后模型在评估数据集上的性能也更好。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生可观测性技术的落地实践
云原生技术和理念在近几年成为了备受关注的话题。应用通过云原生改造,变得更动态、弹性,可以更好地利用云的弹性能力。但是动态、弹性的环境也给应用以及基础设施的观测带来了更大的挑战。本次分享主要介绍了云原生社区中可观测性相关的技术和工具,以及如何使用这些工具来完成对云原生环境的观测。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论