大语言模型对齐的四种方法!
大语言模型对齐的四种方法!
大语言模型的对齐技术是近年来人工智能领域的重要研究方向,尤其是在2020年之后,随着谷歌提出基于指令微调的Flan,OpenAI推出InstructGPT和ChatGPT,这一领域的关注度显著提升。目前,RLHF算法在大模型对齐工作中表现最优,但其训练难度大、显存占用高等问题也促使研究者探索其他解决方案。本文将详细介绍RLHF、RRHF、DPO和Flan这四种主流的对齐方法。
RLHF
RLHF(Reinforcement Learning with Human Feedback)是InstructGPT和ChatGPT的训练方法,其核心思想是使用强化学习的方式直接优化带有人类反馈的语言模型。RLHF过程分为三个阶段:
预训练语言模型:使用经典的预测下一个token的自回归方式预训练一个语言模型。OpenAI选择InstructGPT作为基础模型。
训练奖励模型:RM模型接受一系列文本并返回一个标量奖励,数值上对应人的偏好。RM模型可以是另一个经过微调的LM,也可以是从头开始训练的LM。训练文本通常从预定义的数据集中采样生成,OpenAI采用用户提交给GPT API的prompt。
用强化学习微调:使用策略梯度强化学习(Policy Gradient RL)算法,特别是近端策略梯度优化(Proximal Policy Optimization, PPO)来微调初始的LM。PPO算法通过计算奖励分数和KL损失约束来确保模型输出合理连贯的文本。
图源为Deepspeed-Chat的工作,相比于huggingface的图,能够清晰的看到PPO算法中的四个模型以及训练情况,缺点就是为了简化图片,缺少了损失函数部分。
RRHF
RRHF(Reward Regression with Human Feedback)是对RLHF的改进,旨在解决RLHF训练难度大、需要多个模型的问题。RRHF通过对来自不同来源的响应(自身的模型响应、其他大型语言模型响应和人类专家响应)进行打分,并通过排序损失函数使得这些概率和人类偏好保持一致。RRHF的主要特点包括:
- 优化目标:基于响应概率的对数损失。
- 训练流程:搜集各种响应信息(模型自身产生、GPT产生、已经存在的人类标注),在各种响应上进行训练,输出响应概率并进行排序,利用rank loss进行优化。
- 模型需求:只需要1-2个模型,不需要复杂的调优。
与RLHF相比,RRHF不需要advantage function来估计状态-动作对与基线的对比,也不需要KL散度来保证actor model和ref model的相似性。RRHF本质上是一个选择best-of-n的过程。
FLAN
FLAN(Finetuned Language Models Are Not Pretrained)是ChatGPT之前的重要对齐工作,主要探究增加数据集规模、模型大小以及COT(Chain of Thought)数据对模型性能和泛化能力的影响。实验结果表明:
- 多任务微调能够显著提升模型性能,但随着任务数量的增加,性能提升趋于饱和。
- 模型规模越大,性能越好。
- 加入COT数据能够有效提升模型在推理任务上的表现,但不会影响非COT任务的表现。
DPO
DPO(Direct Preference Optimization)提出了一种新的范式,支持以封闭形式提取响应的最优策略,只需要简单的分类损失就可以解决标准的RLHF问题。DPO的主要特点包括:
- 流程:与RRHF类似,但隐式拟合RM模型。
- 损失函数:省去了RM模型的显式打分,而是将打分的分值间接通过差值表现出来,同时将KL散度约束写到同一个损失当中。
实验结果表明,DPO在所有KL约束值下都能拥有更高的奖励期望,并且在摘要任务和单轮对话任务上都展现出更好的性能和鲁棒性。
总结
大语言模型的对齐技术是实现AI系统与人类偏好一致的关键。RLHF、RRHF、DPO和FLAN分别从不同角度优化了这一过程,其中RLHF虽然效果最佳但训练难度大,RRHF和DPO则通过简化模型需求和优化流程提高了训练效率,FLAN则重点研究了数据规模和模型规模对性能的影响。这些方法为未来AI系统的开发提供了重要的参考和指导。