Day2Agent学习
ChatGpt是怎么训练出来的
RLHF:基于人类反馈的强化学习
一、整体流程
RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)通过引入人类偏好,使语言模型生成的内容更符合人类的需求、价值判断和表达习惯。
典型的 RLHF 训练分为三个步骤:
- 收集示范数据,微调监督学习模型(SFT)
- 收集人类偏好数据,训练奖励模型(RM)
- 使用强化学习算法优化语言模型
二、步骤 1:监督微调(SFT)
1. 收集问题
从问题库中选择具有代表性的问题,例如:
香蕉是什么?
2. 人工编写高质量答案
由人工标注者提供理想答案,例如:
香蕉(banana)是一种芭蕉科、芭蕉属植物……
这些人工答案构成监督学习数据:
问题 → 高质量参考答案
3. 微调预训练模型
使用“问题—答案”数据对预训练语言模型进行监督微调,得到监督学习模型:
预训练模型 + 人工示范数据 → SFT 模型
SFT 模型能够按照指令生成回答,但它学习的主要是人工示范中的回答方式,还不能直接判断不同回答之间的优劣。
三、步骤 2:训练奖励模型(RM)
1. 为同一问题生成多个回答
让 SFT 模型针对同一个问题重复生成多个候选答案,例如:
- A:一种酸水果……
- B:一种装饰品……
- C:一种猴子爱吃的……
- D:香蕉是一种黄色……
2. 人工进行偏好排序
人工标注者比较候选答案,并根据正确性、相关性、有用性、安全性和表达质量进行排序,例如:
D > C > A = B
这里表示:
- D 是最好的回答;
- C 次之;
- A 和 B 的质量相近。
与直接给每个回答打出绝对分数相比,比较和排序通常更容易保持一致。
3. 训练奖励模型
将人类给出的排序结果作为训练数据,让奖励模型学习人类的偏好:
问题 + 候选回答 + 人类排序 → 奖励模型
训练完成后,奖励模型可以接收“问题—回答”组合,并输出一个标量奖励分数:
RM(问题,回答)→ 奖励分数
分数越高,表示奖励模型认为该回答越符合人类偏好。
四、步骤 3:强化学习优化
1. 重新选择问题
从问题库中选择新的提示词,例如:
写一个水獭的故事。
这些问题通常不需要人工提前编写标准答案。
2. 模型生成回答
当前策略模型根据问题生成回答,例如:
很久很久以前……
图中使用 PPO(Proximal Policy Optimization,近端策略优化)作为强化学习算法。
3. 奖励模型为回答打分
将生成的回答交给奖励模型,得到奖励值:
rₖ = RM(问题,生成的回答)
其中,rₖ 表示第 k 次生成所获得的奖励。
4. 根据奖励更新模型
PPO 根据奖励分数更新语言模型的参数:
- 高奖励回答的生成概率提高;
- 低奖励回答的生成概率降低;
- 经过多轮迭代,模型逐渐生成更符合人类偏好的内容。
整个过程可以概括为:
问题
↓
策略模型生成回答
↓
奖励模型进行评分
↓
强化学习算法更新策略模型
↓
重复迭代
五、三个阶段的关系
| 阶段 | 训练数据 | 训练目标 | 得到的模型 |
|---|---|---|---|
| 监督微调 | 人工编写的问题与答案 | 学会遵循指令并生成基本合格的回答 | SFT 模型 |
| 奖励模型训练 | 多个候选回答及人工偏好排序 | 学习人类对回答质量的判断 | RM 奖励模型 |
| 强化学习优化 | 模型生成的回答及奖励分数 | 提高高质量回答的生成概率 | 最终策略模型 |
六、核心概念
SFT:监督微调
使用人工提供的示范答案训练模型,解决“模型应该怎样回答”的问题。
RM:奖励模型
学习人类对不同回答的偏好,解决“哪个回答更好”的问题。
PPO:近端策略优化
一种强化学习算法,根据奖励模型给出的分数更新语言模型,同时限制每次更新的幅度,减少训练过程中的不稳定性。
策略模型
负责生成回答的语言模型。在强化学习阶段,它会根据奖励信号持续更新。
七、关键理解
RLHF 的核心不是为所有问题编写标准答案,而是把人类偏好转化为可以自动计算的奖励信号。
其逻辑是:
人工示范 → 教会模型回答
人工排序 → 教会奖励模型评价回答
奖励评分 → 持续优化语言模型
最终,语言模型不仅能够生成通顺的内容,还能在一定程度上生成更有帮助、更符合指令且更符合人类偏好的回答。
0次阅读
评论
还没有人评论,来抢个沙发。