复旦NLP组开源PPO-Max:32页论文详解RLHF背后秘密,高效对齐人类偏好
新智元报道
新智元报道
【新智元导读】RLHF到底是怎么运行的?如何上手训练自己的强化学习模型?一文解惑!
研究人员探究了PPO算法的高级版本PPO-max,可以有效提高策略模型的训练稳定性,并基于主要实验结果,综合分析了RLHF与SFT模型和ChatGPT的能力对比。
基于人类反馈的强化学习RLHF
基于人类反馈的强化学习RLHF
RLHF过程中主要涉及RM训练和PPO强化学习阶段,详细技术细节请参阅原论文。
奖励建模 Reward Modeling
在RM架构中,研究人员使用基于Transformer的预训练语言模型,去掉最后unembedding层,并增加一个额外的线性层。
输入任意文本,奖励模型将最后一个token转换为标量奖励值:奖励值越大,代表样本越好。
训练奖励模型通常需要一个「针对相同输入生成的两个回复之间的成对比较」数据集。
近端策略优化Proximal Policy Optimization
PPO和TRPO是强化学习训练中的两种关键技术,可以在不损失稳定性的情况下有效地训练策略,其基本思想是「稳定的小步骤」(small, stable steps),即温和地引导策略走向优化,而非强制执行可能会破坏整个学习过程稳定的激进梯度更新。
在传统的强化中,策略梯度原则要求新旧策略在参数空间中保持接近,不过参数空间的接近并不一定等同于相似的性能,参数的微小变化可能会极大影响策略的有效性。
此外,如果不加限制地迈出一大步,可能会导致策略性能崩溃,这种情况也叫做「跌落悬崖」(falling off the cliff),这种固有风险限制了原始策略梯度的采样效率。
TRPO对策略更新引入了另一种约束,不受限于参数的接近性,通过确保KL散度保持在可接受的范围内来调节策略的变化。
PPO有两种主要变体:PPO-Penalty和PPO-Clip,TRPO对KL散度施加硬约束以防止有害更新,而PPO-Penalty则采用基于惩罚的方法代替约束来解决无约束优化问题。
PPO-max
PPO-max
近端策略优化(PPO)是实现与人类偏好一致的核心算法,但在实际应用中,PPO的性能受到多种因素的影响,虽然之前有工作总结了一些再强化学习领域中必要且有效的技巧,但如何稳定语言模型的RLHF训练仍是未知数。
这篇论文中,研究人员通过实验探索了哪些技巧是比较关键的,哪些指标可以反映RLHF训练过程中和训练后的模型状态,然后用PPO-max来表示从实验中发现的,最适合语言模型的实现方式。
模型和数据集
对于英语数据,研究人员使用decoder-only架构的原始LLaMA-7B模型,使用HH-RLHF数据集的16万样本对作为训练集,其中包括11.8万条有用样本和4.2万条无害样本;从8500条数据中随机抽取1000条数据作为测试集,剩余数据作为验证集。
对于中文数据,使用OpenChineseLLaMA模型,基于LLaMA-7B在中文数据集上增量预训练后得到的,显著提高了对中文的理解和生成能力。
研究团队聘请了专业的标注人员对3.9万对样本进行人工标注,其中包括3.1万个有用样本和8000条无害样本;在训练集中随机抽取2.4万个有用样本和6万个无害样本,然后从剩余数据中随机分配2.4万个有用样本和0.6万个无害样本组成测试集,其余数据用于验证。
评价指标
研究人员的目标是找出一些能反映PPO训练质量的指标,有助于跟踪策略模型的有益、诚实和无害的能力,从而无需使用人工标注或GPT-4来评估。
可以观察到,原始PPO在训练过程中存在模式崩溃现象,也意味着SFT模型被过度优化并表现出高偏差行为。
并且训练损失有稳定的收敛过程,但从人类和GPT-4评估的角度来看,较高的奖励并不能反映出更好的策略行为,也就说明奖励得分和训练损失并不能说明PPO是否正确优化。
在原始PPO训练中,策略模型的回复奖励逐渐偏离原始分布,表现出长尾特征。
研究人员还测试了其他指标如困惑度、策略模型和参考模型之间的KL散度以及生成回复的平均长度。
PPO-max
研究人员对PPO训练技巧中的评分重参数化(score reparameterization)方法、策略模型的优化约束,以及策略模型和critic模型的不同初始化方法进行实验验证。
对PPO的每个部分选择最有效的策略以实现PPO-max,具体实现可以参阅开源代码。
首先根据历史均值和方差记录对当前奖励组进行归一化和裁剪,然后添加KL-惩罚项来约束策略优化。
在模型加载阶段,用奖励模型初始化critic模型,并在正式应用PPO之前对其进行预训练,然后使用全局梯度裁剪并设置较小的经验缓冲区。
为了减少对齐tax,在策略优化中添加了预训练语言模型损失,如InstructGPT,并同时对估值函数损失进行裁剪。
实验结果
实验结果
研究人员将该模型和ChatGPT进行比较,选择「无害性」作为比较指标,并采用GPT-4进行自动评估。
实验结果可以看到,该RLHF模型仍然落后于OpenAI的ChatGPT,但与SFT模型相比,RLHF模型有了明显的改进。
具体来说,在英文文本上训练的RLHF模型成功地将失败率从45%降至24%;在中文文本上训练的RLHF模型也将失败率从37%降至29%,表明RLHF方法增强了模型生成更有效回答的能力,缩小了与ChatGPT之间的差距。
语言理解评估
为了检验使用PPO对模型进行微调可能导致的自然语言理解能力的下降,使用C-Eval5对中文RLHF模型进行了测试,包含约1.3万道多选题,涉及52个学科和4个难度级别。
实验结果表明,采用PPO后,模型NLU的能力有所下降;通过将预训练数据纳入PPO训练阶段,PPO-ptx可以有效缓解了NLU能力的下降,底层原理是利用预训练中获得的知识,并将其与PPO的强化学习框架相结合。
限制
限制
虽然该研究已经迈出了RLHF的第一步,但由于时间和资源的限制,这项工作仍然存在以下局限性:
1. 规模定律(Scaling Law)
这篇论文主要研究70亿参数的模型,还没有研究模型大小和数据规模对RLHF性能的影响。
2. 奖励模型
实验基于公开的英文人类偏好数据集和少量自建的中文数据,数据质量和数量不足以对奖励模型进行全面评估。
3. 评估指标
目前评估标准主要依赖于人工评估和GPT-4自动评估,还没有利用大量可用的基准和NLP任务来对模型进行详细评估
4. 性能指标
该研究在PPO阶段的重点是实现训练稳定性,而不是提高最终性能,虽然稳定性至关重要,但它并不一定能保证改善结果。
此外,奖励得分不能可靠地作为预测训练阶段RLHF性能的指标,也就意味着需要寻找更合适的训练阶段性能指标。
微信扫码关注该文公众号作者