··

Day2Agent学习

000

ChatGpt是怎么训练出来的

RLHF:基于人类反馈的强化学习

一、整体流程

RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)通过引入人类偏好,使语言模型生成的内容更符合人类的需求、价值判断和表达习惯。

典型的 RLHF 训练分为三个步骤:

  1. 收集示范数据,微调监督学习模型(SFT)
  2. 收集人类偏好数据,训练奖励模型(RM)
  3. 使用强化学习算法优化语言模型

二、步骤 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次阅读

评论

提交后直接显示,请友善发言

还没有人评论,来抢个沙发。