摘要:奖励作弊:模型可能会通过不当方式利用奖励函数的缺陷以获取高奖励,而不是真正提高任务性能。回复多样性减少:模型在训练过程中可能会失去回复的多样性,影响其生成多样化和创新性输出的能力。
这篇文章来自字节跳动Seed团队。
论文链接:
论文要点当前强化学习规模扩展的瓶颈包括:
奖励作弊:模型可能会通过不当方式利用奖励函数的缺陷以获取高奖励,而不是真正提高任务性能。回复多样性减少:模型在训练过程中可能会失去回复的多样性,影响其生成多样化和创新性输出的能力。论文通过混合奖励模型和数据驱动的方法在RL训练遇到瓶颈之前尽可能提升模型性能。混合奖励模型引入了推理任务验证器(RTV)和生成式奖励模型(GenRM),能有效抵抗奖励作弊。训练数据的选择上,优先训练数学和编码任务,并在训练中引入了经过Pre-PPO筛选的有挑战的数据。
方法与实验结果1. 混合奖励系统RTV+GenRM能增强对奖励作弊的抵抗力
论文中使用了推理任务验证器(RTV) 和生成奖励模型(GenRM)来抵抗奖励作弊。推理任务验证器RTV通过直接验证模型输出的准确性来提供反馈。特别适用于数学、编程等有明确答案的推理任务。生成奖励模型GenRM模型并不为每个输出单独打分,而是预测每对输出的比较得分。为了给GenRM提供对比参考,对于推理任务,可以使用其真实结果,对于其它类型的任务,可以使用SFT模型的Best of N。
文中对比了不同奖励模型抵抗作弊的能力,如下图所示,在曲线开始下降时表明奖励模型对结果存疑,并极有可能存在奖励作弊。RTV 在整个训练过程中性能持续提升,表明其提供的反馈不易被黑。使用真值进行训练的 GenRM 在相当长的训练时间中也能保持有效性。与之对比, GenRM with SFT Best of N 在特定训练步数之后表现出性能下降,更容易受到作弊和过拟合的影响。另外,我们常使用的布拉德利-特里(Bradley-Terry)奖励模型,通过训练成对数据来输出奖励分数,也很容易被黑。
2. 优先训练数学和代码任务,然后加入Pre-PPO筛选的数据。
经过分析训练数据,发现大多数训练数据的奖励分数较高,如90%数据的分数>0.5,手动检查发现高分的回复中存在“作弊”行为,而非真实提升任务表现。所以,Pre-PPO的方法是选择奖励分数较低的数据,如分数最低的10%,这些prompts模型回复得不够好,也更具挑战性。由于不同任务的奖励分数区间不一样,奖励分数需要进行归一化。可以看到论文的方法(下图以Data Scale表示)与普通的PPO相比在多个任务上都得到了提升。
进一步分析,Pre-PPO到底筛选了哪些数据,或者哪一种数据影响了模型的性能。
如下图所示,横轴为数据的编辑距离,从左到右代表了训练数据的差异从细粒度到粗粒度,纵轴为用于筛选数据的RM score。Pre-PPO主动排除了两类数据(下图红色虚线以上):一类是有细粒度差异的数学和逻辑任务,另一类是有粗粒度差异的创意写作和角色扮演任务。但如果重新引入被排除的数学和逻辑类数据,对模型的整体性能也会有提升,这也就说明真正会降低模型性能的应该是有粗粒度差异的创意写作和角色扮演数据。
到底哪类数据更能帮助模型训练呢?
粗粒度差异和细粒度差异的数据都能对模型性能产生积极影响,最理想的训练策略是让模型先充分掌握细粒度差异(如数学推导、代码优化等需要精确判断的任务),待其建立起对细微差别的敏感度后,再逐步引入粗粒度差异的数据(如创意写作等开放性任务)。
来源:鼠meme