AI基石 | 对齐技术:从 RLHF 到 DPO —— 赋予大模型“三观”的终极进化
AI基石 | 对齐技术:从 RLHF 到 DPO —— 赋予大模型“三观”的终极进化
前言
如果 SFT(监督微调)后的模型是一个“懂事”的练习生,那么对齐后的模型就是一个“老练”的专家。
练习生虽然知道问答的格式,但依然存在两个致命伤:
- 幻觉(Hallucination):为了完成对话,它会一本正经地胡说八道。
- 偏见与有害性:它可能会输出歧视性言论,或教你如何制作危险物品。
要解决这些问题,靠“喂标准答案(SFT)”是不够的,因为标准答案穷尽不了所有错误。我们需要教给 AI 一种**“审美观”**,让它学会:在无数种可能的回答中,哪一个才是人类最喜欢的。
一、 RLHF:大模型世界的“胡萝卜加大棒”
RLHF (Reinforcement Learning from Human Feedback) 是让 ChatGPT 封神的底层技术。它的过程非常精妙,像是一个“套娃”系统。
1. 核心流程:三步走
- 采样与打分:让模型针对同一个问题生成 4-5 个不同的回答(有的啰嗦,有的简练,有的有错)。人类标注员对这些回答按好坏排序。
- 训练奖励模型 (Reward Model):训练一个“小模型”,专门学习人类的打分标准。它的目标是:看到好回答给高分,看到烂回答给低分。
- 强化学习优化 (PPO):这是最难的一步。让大模型不断生成回答,让“奖励模型”给它打分。大模型根据分数的高低,利用 PPO 算法 调整自己的参数,目标是拿到最高分。
2. 难点:PPO 算法的“娇贵”
RLHF 虽然强大,但 PPO(近端策略优化)算法在训练时极度不稳定。它对超参数非常敏感,且需要同时运行 4 个模型(演员模型、评论家模型、参考模型、奖励模型),显存压力极大。
二、 DPO:不需要“中间商”的直接进化
由于 RLHF 太复杂,斯坦福的研究者在 2023 年提出了 DPO (Direct Preference Optimization)。它现在已经成为微调开源模型(如 Llama 3)的主流对齐方案。
1. 核心逻辑:数学上的降维打击
DPO 的天才之处在于:它证明了我们可以绕过训练奖励模型,直接通过数学变换,将对齐目标转变为一个简单的二元分类问题。
- RLHF:人类排序 -> 训练奖励模型 -> 强化学习训练 -> 得到模型。
- DPO:人类排序 -> 直接通过损失函数更新模型。
2. 损失函数的直觉
DPO 的 Loss Function 实际上在玩一个“拔河游戏”:
对于每一组偏好数据 (x,ygood,ybad)(x, y_{good}, y_{bad})(x,ygood,ybad):
- 它会让模型生成 ygoody_{good}ygood 的概率变大。
- 它会让模型生成 ybady_{bad}ybad 的概率变小。
三、 代码实战:使用 TRL 库进行 DPO 微调
在大模型开发的第二阶段(工具链阶段),我们主要使用 Hugging Face 的 trl 库。
1. 准备数据格式
DPO 需要的是“三元组”数据:prompt (问题), chosen (人类选的好答案), rejected (人类抛弃的烂答案)。
{
"prompt": "如何评价人工智能的未来?",
"chosen": "人工智能未来充满了机遇,但同时也面临伦理和就业的挑战...",
"rejected": "AI 很快就会统治世界,人类将变成奴隶,哈哈哈哈。"
}
2. 核心训练代码
from trl import DPOTrainer
from transformers import TrainingArguments
# 1. 定义 DPO 配置
dpo_trainer = DPOTrainer(
model=model, # 已经过 SFT 后的模型
ref_model=None, # 参考模型,用来防止模型跑偏(通常可以设为原模型镜像)
args=TrainingArguments(
output_dir="./dpo_results",
per_device_train_batch_size=2,
learning_rate=5e-7, # DPO 的学习率极低,因为只是“微调分寸”
remove_unused_columns=False
),
beta=0.1, # [核心参数] beta 越大,对人类偏好的忠诚度越高
train_dataset=train_dataset,
tokenizer=tokenizer,
)
# 2. 开始对齐
dpo_trainer.train()
四、 RLHF 与 DPO 的终极对比
| 特性 | RLHF (PPO) | DPO |
|---|---|---|
| 训练稳定性 | 极不稳定,容易崩坏 | 非常稳定,类似分类任务 |
| 计算资源 | 极高(需运行多个模型) | 较低(仅需当前模型+参考模型) |
| 实现难度 | 顶级专家才能玩转 | 开发者友好 |
| 上限 | 理论上限更高,适合超大规模模型 | 在中小型模型上效果极佳 |
五、 结语:让 AI 拥有“温度”
对齐技术是 AI 迈向人类社会的最后一道关卡。
- 预训练 给 AI 注入了知识;
- SFT 给 AI 穿上了工装;
- RLHF/DPO 给 AI 注入了三观。
只有经历了对齐,AI 才会学会拒绝你的危险指令,学会在回答中表现得更加谦卑和客观。
下一阶段预告:
至此,我们已经完成了从数学基础到模型训练(微调/对齐)的完整闭环。接下来,我们要把这些“聪明”的模型装进真实的业务系统里。
我们将进入 第三阶段:领域方向选择。首当其冲的就是目前最火的 RAG(检索增强生成):如何让大模型不再胡说八道,而是查着你公司的内部文档来回答问题?
你想先看 RAG 的“外挂大脑”架构,还是想看如何用向量数据库(FAISS)管理你的知识库?
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)