专栏名称: 吃果冻不吐果冻皮
专注于AI工程化(LLM、MLOps、LLMOps、RAG、Agent)落地。
目录
相关文章推荐
武汉本地宝  ·  不用交房租!武汉这些地方可以免费住! ·  3 天前  
武汉本地宝  ·  下调!湖北当前油价是多少? ·  3 天前  
武汉本地宝  ·  上新啦!武汉又一批公租房开始配租登记! ·  2 天前  
51好读  ›  专栏  ›  吃果冻不吐果冻皮

干货分享!关于Zero-RL的调参经验

吃果冻不吐果冻皮  · 公众号  ·  · 2025-02-10 19:25

正文

原文:https://zhuanlan.zhihu.com/p/22288441283

相比cold-start-sft-->rl的传统流程,笔者更偏爱base上的rl。base上的rl在理论和实践层面都对未来模型的优化方向有重要的指导意义。

理论层面

policy-gradient+kl-constraint可以推导出residual-energy-based-model的形式 。有了该形式,问题转变为如何高效的从最优分布“采样”。

  • • 方法1是转化为RL,使用policy-gradient及其变种,使用一个带参数的policy逼近最优分布。
  • • 方法2是转化为采样,使用高效的MCMC采样方法,从最优分布中采样。

从方法1,除了传统的RL方法,也可以使用其他能量模型的参数估计方法。之前之所以很少人这么做,主要还是base上的rl搜索空间巨大,可能导致模型优化的复杂度、困难度较高。而且,在之前的sft-model上,使用rule-based-reward-model做ppo优化,貌似也没能把7b模型的推理效果做到更高(能提升但不够惊艳)。这些实验和观察,笔者短期内不会考虑这个方向(如果蒸馏蒸烦了,sft的rl跑起来有收益,可能顺便跑个base-model的rl)。

然而,各种认知其实都有一定的时代局限性。如果两年前做这个zero-rl,大概率是不work,因为那个时候的base-model+sft都做的很烂,在这些base上跑zero-rl,自然不会有特别好的结果。经过2年多的发展,预训练模型已经比之前好了太多,包括预训练阶段加了更多的推理数据,退火阶段引入更多的高质量推理数据等等,让base-model在zero-shot上的效果已经可以比肩上一代的instruct模型。在这个阶段做base上的rl就更加合理和有效果保障(当然,笔者也是诚惶诚恐,所以,先在32b-base上跑了5个steps的reinforce++,验证基本OK后,才开始做更多数据和方法的验证)。

提到RL,已经有很多成熟的算法如ppo、sac等等 。但和传统RL不同的是,本身llm产生一个response并获得一个reward,其实缺少和环境的multi-step交互,道理上依然是一个bandit。而且,llm本身经过预训练(包含退火、合成数据)等等,也不是纯粹的预训练模型,而是一个弱一些的instruct模型。

那么问题来了,之前的RL很多都是在随机初始化的模型上运行的,需要使用更多的算法设计、trick等等才能保障方法的稳定运行。这些trick在llm上面是否适用或者必要,似乎没有一个特别显而易见的结论(大概率适用但不一定必要)。

如果从生成模型的角度出发 ,既然RL都能work,其他生成模型的优化方法也可能work,以及 MCMC采样也能work。而在llm场景,已有的方法也面临和RL一样的问题:之前的trick是否适用以及必要。

在base上的RL,打开了一扇新的大门,之前各种RL、生成模型优化/采样的方法都可以在这个场景进行试炼,走出一条效果好且出圈的技术路线。

实际指导意义

  • • base上直接rl,相当于用带参数的分布拟合最优分布。而最优分布是 。最优分布产生的response特性全部来自于base-model,exp只是对分布做了一个shape。无疑给了另一条base-model的优化方向:看最优分布采样样本的pattern、效果,修正base-model的数据分布,进而提升base-model的数据分布覆盖率,以及纠正base-model的顽固特性(比如,只会几种思考范式)。
  • • 当我们完成base-model的RL后,基于1,使用参数化表示的最优分布采样得到的答案正确的response,道理上是最贴合base-model的分布特征的。有理由相信在这个数据集上做sft,应该能得到更好的instruct-model。

base上的zero-rl

开源社区有很多工作跑了zero的rl,并有一定的效果比如simple-reason-rl、tiny-zero等等。而笔者觉得,zero-rl应该需要重新审视rl算法里面的各种trick和设计,找到一个针对llm+verified-reward-model更有效的方法。而不是一股脑陷入各种fancy算法、trick不能自拔。

由于最新的base-model都更像一个弱化版的instruct-model,其实,在已有的开源模型上,很难真正跑起来一个纯粹预训练(较少的qa合成数据)的rl。而拥有各个size、不同预训练训练阶段的ckpt的团队,道理上可以更系统的探究预训练和zero-rl的一些scaling实验,以及基于rl实验对base-model反哺的pipline。

至于zero-rl怎么算复现,笔者觉得几个点比较重要:

  • • 训练稳定,或者能稳定训练上千个steps。训几个steps是toy-example。
  • • reward可以持续增长,且附带 response-length也能增长。(如果response-length不增长,大概率会退化为传统的short-cot形式的instruct-model的RL,这个上限不会特别高,否则,很多推理benchmark早就刷爆了)。--->这个也是笔者去年强烈建议组里面做rl的同学,一定要做rule-verified的ppo的验证。如果这个做不上去,使用bt-rm(bt-rm想训的鲁棒、针对OOD数据有较好的泛化性,是算法问题也是一个数据/标注/组织能力问题)的ppo就更难提升了。(虽然,去年5月份我们做了rule-verified的ppo的验证,在math/竞赛数学上有明显提升(不够惊艳),但在通用能力上基本持平。后续因为各种原因也搁置了这个事情)。
  • • 在32b的模型上,能对齐deepseek-r1技术报告里面的qwen25-32b-zero的效果。这个是一个相对客观且可比的baseline。(做不出来,只能说明 数据/rl算法选择和设计/infra/炼丹技术和deepseek有较大的差距。做不出来这个,大概率不可能在更大尺度的模型上做成功)。

笔者最近也在批量跑类似的实验,期待能稳定训练、reward/response-length可以同步增长,至少在7b-model上可以拿到第一手的rl判断(哪些方法、trick比较重要)。struggle了3周多,相对有一些初步结论:

  • 不同的rl算法,在base-rl上的差异性不显著。lr、warmup等等也没特别大的影响
    • • 调整这些参数,reward/response-length 不会同步增长(response-length会和任务特性相关,有些任务容易涨比如text-game,有些不容易涨比如math)。
    • • 容易饱和(比如跑不到100个step,效果就不涨了)。
    • • 最朴素的方法可能是最有效的。比如 reinforce以及使用ppo的loss-objective就足够用了。
  • 是否加入kl约束会有比较大的影响
    • • 加入kl会限制模型的exploration。而base上的rl,前期的exploration更重要。






请到「今天看啥」查看全文


推荐文章
武汉本地宝  ·  下调!湖北当前油价是多少?
3 天前
财税实务课堂  ·  2000个小时拿下注会资质
8 年前
小城奶爸背巾侠  ·  欢迎辞
7 年前
鸟哥笔记  ·  出来卖,姿势别太难看
7 年前
新疆日报  ·  【抗震救灾】一切为了灾区群众!
7 年前