代码和资料:

https://github.com/tajwarfahim/srt
https://self-rewarding-llm-training.github.io/

中文总结:

AI数学能力暴涨100%,自进化直逼RL极限,CMU新作颠覆认知-36氪

核心思想:LLM自己生成题目的“正确”答案,不借助人工或者外部给的答案。使用生成多组output,majoryity-vote找最多的那个ouput作为“正确答案”。

前提假设:generation-verification gap(验证正确性,比生成,难度上要简单)

公式:

自回归生成y的每个token:

reward:

目标函数:(更新模型参数\theta使得最大化reward的期望;这里的题目x是从固定题库里采样得到的)

\theta求导,得到经典的策略梯度:

优势A,为该样本的当前y的reward,减去,该样本的所有y的reward的数学期望:

算法描述:

就是多采样几次,把majority-vote的结果当成“正确”答案。

RL算法可使用任意算法, PPO, RLOO, REINFORCE, REINFORCE++等。

实验效果

跟ground truth正确答案的,做对比。

评测时,每道test题让LLM输出32个结果,对错01分数计算平均分;比只让LLM输出1个结果的对错分,更能减少误差。

DAPO上模型崩溃了。原因:模型作弊,倾向产生多组一致性的结果,而不是倾向产生正确的结果。因为前者比后者容易。

3种解决模型因为作弊而崩溃的方法:

1. early-stop。实验表明,用不同的validation-set来测(不一定和该train set分布相同,只要领域一样就行,比如训练数学就用数学的validation set),得到的stop位置是差不多的。比较宽松。

 2. 使用固定的(不参与训练)模型输出的结果作为“正确”答案,放弃用训练中的主模型的结果做答案。这样使得训练中的模型更倾向拟合“正确”答案,而不是去拟合让所有结果都一样。

3. 课程学习。DAPO数据集难度更大,所以,LLM模型做输出一致性比做正确性的难度小。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐