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

相关资源
KubeZoo: 轻量级 Kubernetes 多租户方案探索与实践
伴随云原生技术的发展,多个租户共享 Kubernetes 集群资源的业务需求应运而生,社区现有方案各有侧重,但是在海量小租户的场景下仍然存在改进空间。本次分享对现有多租户方案进行了总结和对比,然后提出一种基于协议转换的轻量级 Kubernetes 网关服务:KubeZoo,该方案能够显著降低多租户控制面带来的资源和运维成本,同时提供安全可靠的租户隔离性。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论