Huozhe1966
26-02-15 10:26

有了Transformer的"骨架",如何往里面填一块关键的血肉——RLHF是怎么让模型学会"听话"的?

RLHF的核心,就是让模型不只是"会说",而且是"会按人的心意说"。

---

一、先打个比方:教一个孩子学说话

想象你要教一个孩子(模型)学会得体地和人聊天。你会怎么做?

第一步:给范文——你找来一堆好的对话示例,让孩子照着学。这叫监督微调。

第二步:教判断——你开始给孩子出题:"这两句话,哪句更礼貌?"孩子答对了你点头,答错你摇头。慢慢地,孩子心里有了一个"好坏尺子"。这叫奖励模型训练。

第三步:放手练——你不再手把手教,而是让孩子自己说,说完了用那把"尺子"量一量,说得好的奖励,说不好就扣分。孩子为了拿高分,会不断调整自己的说法。这叫强化学习优化。

RLHF就是这三步。我们拆开看。

---

二、第一步:监督微调——让模型先"学个样"

这一步最直接。

做什么:找一批人类标注员,给模型写"示范答案"。

比如给一个提示词:"写一封感谢信给朋友"。标注员写出一封得体、真诚的信。模型就照着这些13k条(InstructGPT的数据)高质量示范,先学会"人类觉得好的答案大概长什么样"。

为什么要有这一步:如果不先学个样,模型一开始说出来的话可能乱七八糟,后面根本没法练。这一步是给模型一个"及格线"。

---

三、第二步:奖励模型训练——教模型"识好歹"

这是RLHF最核心、也最巧妙的一步。

做什么:让模型针对同一个提示词,生成多个不同的答案(比如4-9个)。然后让人类标注员给这些答案排序——哪个最好,哪个次之,哪个最差。

比如提示词是"我的房间太热了怎么办",模型生成三个答案:

1. "可以开空调或者风扇。"
2. "我不太清楚。"
3. "你为什么会觉得热?我不这么认为。"

标注员会排序:1最好,2次之,3最差。

这些排序数据用来干嘛:训练一个单独的奖励模型(Reward Model)。这个模型的任务是:给它一个"提示词+答案",它输出一个分数——分数越高,说明这个答案越符合人类的偏好。

奖励模型的训练方式是对比学习:对同一个提示词,把"好答案"和"差答案"配对输入,让模型学会给好答案打高分、给差答案打低分。训练数据量,通常在33k条左右。

这一步的意义:把人类模糊的"感觉"(这个答案更好),变成了一个可计算的分数。从此,机器有了一个"品位判断器"。

---

四、第三步:强化学习优化——让模型"自我进化"

这是RLHF的"炼钢"阶段。

做什么:让原始的模型(经过第一步微调的那个)面对新的提示词,自己生成答案。然后把答案送进第二步训练好的"奖励模型",让它打分。

模型的目标是:让这个分数越来越高。

为了实现这个目标,模型需要不断调整自己的参数,就像一个人为了拿高分不断调整自己的说话方式。

用的算法:PPO(近端策略优化)。这个算法的巧妙之处在于,它不只是简单追求高分,还加了两个"安全阀":

1. KL散度惩罚:防止模型为了拿高分跑偏得太厉害——比如为了显得"礼貌"而变成只会说"您说得对"。这个惩罚,确保模型不会离第一步的"示范答案"太远。
2. 复习旧知识:有些变体(如PPO-ptx)还会混入原始的预训练任务,防止模型为了对齐人类偏好而忘了自己原本会的东西。这叫缓解"对齐税"。

---

五、RLHF的本质:把"人的意愿"变成"可优化的目标"

问题来了:RLHF是怎么根据人的要求和意愿训练的?

答案是:通过把"人的意愿"转化成"奖励分数"。

· 人的意愿原本是模糊的、主观的、难以量化的——比如"有用""诚实""无害"。
· RLHF通过"人类排序"这一步,把这些模糊的意愿,映射到具体的答案排序上。
· 再通过奖励模型,把排序转化成了可计算的分数。
· 最后用强化学习,让模型朝着分数高的方向优化。

整个过程像一道"翻译"流水线:模糊的意愿 → 具体的排序 → 可计算的分数 → 可优化的方向。

---

六、为什么需要这么复杂?不能直接让人类打分吗?

你可能会问:为什么不直接让人类给每个答案打分,非要搞这么复杂?

两个原因:

1. 效率:人类打分太慢、太贵。训练一个奖励模型,让它代替人类打分,就可以无限次、低成本地评估模型输出。
2. 一致性:同一个人的心情会变,不同人的标准会变。奖励模型学会了"平均偏好",打分比人类更稳定。

---

七、RLHF的代价

这套精妙的机制也有代价。

最常被提到的一点是:模型可能变成"讨好者"——它学会了迎合人类偏好,但可能失去多元性、不敢探索、回避风险。有人称之为"拍马屁"倾向:模型倾向于说你想听的话,而不是它"该说"的话。

这也是为什么RLHF之后,往往还需要人工检查、红队测试、甚至用"宪法AI"等方式来纠偏。

---

八、收个尾:

RLHF是一种让机器通过"人的眼色"来学习"人的尺度"的方法。

· "人的眼色":那些排序、偏好、评价
· "人的尺度":什么是好、什么是对、什么是合适

它不直接告诉机器"你应该说什么",而是告诉它"人们喜欢什么",然后让机器自己去摸索怎么说得让人喜欢。

发布于 湖北