RLHF学习笔记
一、RLHF核心流程
1. 预训练阶段
- 目标:通过大规模数据学习语言基础能力
- 输入:海量文本语料(书籍、网页等)
- 输出:具备基础语法/语义/知识的语言模型
- 局限性:
- 可能出现答非所问
- 回答不够自然或礼貌
- 存在输出危险或不适当内容的风险
2. 奖励模型训练阶段
- 流程:
- 预训练模型对同一问题生成多个候选答案
- 人类标注者对回答进行质量评分或排序
- 使用标注数据训练奖励模型(排序模型)
- 关键技术:
- 成对比较标注(如回答A优于回答B)
- 监督学习方法(如逻辑回归、神经网络)
3. 强化学习阶段
- 优化目标:最大化奖励模型评分
- 核心算法:PPO(近端策略优化)
- 训练循环:
- 当前策略模型生成候选回答
- 奖励模型计算回答分数
- 根据分数调整模型参数,重复迭代
二、RLHF在GPT中的应用
1. 发展历程
- 2018年:GPT-1(1.17亿参数)
- 2019年:GPT-2(15亿参数)
- 2020年:GPT-3(1750亿参数)首次引入RLHF(InstructGPT)
- 2022年:ChatGPT(GPT-3.5)
- 2023年:GPT-4(多模态能力)
2. 应用步骤
-
数据收集:
-
标注者对模型生成的回答进行成对比较(如回答A比B更有用)
-
数据形式示例:
问题 回答A 回答B 标注结果 北京天气 晴,10-15℃ 多云,8-12℃ A > B
-
-
奖励模型训练:
- 使用标注数据训练排序模型,将人类偏好转化为数值评分
-
策略优化:
- 使用PPO算法微调GPT模型,最大化奖励信号
-
持续迭代:
- 收集新反馈数据,更新奖励模型和策略
三、RLHF核心——奖励模型
1. 核心作用
- 将人类主观偏好转化为AI可优化的信号
- 作为强化学习的"裁判",定义模型改进方向
2. 量化机制
- 主观评价 → 客观分数:
- 多个标注者对回答进行排序
- 构建排序数据集训练奖励模型
- 模型输出连续分数表示回答质量
3. 信号价值
-
与传统RL对比:
维度 传统RL RLHF 奖励来源 预设规则 人类反馈 优化目标 明确任务目标 复杂主观偏好 灵活性 低(依赖规则设计) 高(适应人类价值观)
四、强化学习基础
1. 核心概念
- 智能体:学习主体(如机器人、程序)
- 环境:智能体所处的外部世界
- 状态:环境在某一时刻的描述
- 动作:智能体可执行的行为
- 奖励:环境对动作的即时反馈
- 策略:动作选择规则(确定性或随机性)
- 价值函数:评估状态或动作的长期收益
以下是强化学习核心概念的列表及其对应的字母表示(按常见文献中的符号规范整理):
强化学习核心概念与符号对照表
概念 | 字母表示 | 说明 |
---|---|---|
智能体 (Agent) | - | 无标准单字母表示,常用全称或π表示策略 |
环境 (Environment) | env 或 E | 交互的外部系统 |
状态 (State) | s | 环境在时刻t的描述,s ∈ S(状态空间) |
动作 (Action) | a | 智能体的行为选择,a ∈ A(s)(动作空间) |
奖励 (Reward) | r 或 R(s,a) | 即时反馈信号,r_t = R(s_t, a_t) |
折扣因子 (Discount) | γ (gamma) | 未来奖励的衰减系数,0 ≤ γ ≤ 1 |
策略 (Policy) | π (pi) | 动作选择规则: - 确定性策略:a = π(s) - 随机策略:π(a|s) |
状态价值函数 | V(s) 或 V^π(s) | 从状态s开始的长期期望收益(遵循策略π) |
动作价值函数 | Q(s,a) 或 Q^π(s,a) | 在状态s执行动作a的长期期望收益 |
最优价值函数 | V^*(s), Q^*(s,a) | 在所有策略中的最大价值函数 |
状态转移概率 | P(s’|s,a) | 从s执行a转移到*s’*的概率(有模型环境) |
时间步 (Time step) | t | 离散时间索引(如t = 0,1,2,…) |
补充说明
-
字母规范:
- s, a, r 为最基础符号,广泛用于贝尔曼方程和算法伪代码。
- π 和 γ 为希腊字母,需与拉丁字母区分(如策略π vs. 状态转移概率P)。
-
上下标含义:
-
Q^π(s,a) 表示策略π下的动作价值,Q^(s,a)* 表示最优动作价值。
-
P(s’|s,a) 中的竖线表示条件概率。
-
-
其他常见符号:
- η (eta):学习率(如梯度下降中的步长)。
- λ (lambda):资格迹(TD(λ)算法中的衰减参数)。
2. 学习过程
- 智能体在当前状态选择动作
- 环境根据动作返回新状态和奖励
- 智能体根据奖励更新策略,优化未来决策
3. 算法对比
算法名称 | 场景示例 | 场景描述 | 适合场景 |
---|---|---|---|
Q-Learning | 学习打麻将 | 新手打麻将时,桌上每个牌型(状态)都有对应的选择(动作) ,如“摸牌”、“出牌”、“碰”或“杠”。“碰”后胡牌(高奖励),下次更倾向于类似选择。“杠”后被放炮(低奖励),下次避免这种情况。 | 状态和动作有限、可以列出所有可能性的情况 |
Deep Q-Network(DQN) | 学习玩《王者荣耀》 | 玩《王者荣耀》时,状态可能是地图上的位置、敌人的动向、血量等,动作是“进攻”、“撤退”、“买装备”。因为状态和动作的组合太多,没法用表格记录,所以用神经网络来预测某个动作的好坏。 | 状态和动作非常复杂,比如玩游戏或视觉控制问题 |
Policy Gradient(PG) | 学习射箭 | 不断调整射箭的力度和角度(动作) ,以命中靶心。每射一箭,根据结果调整动作(策略) ,直到每次都能精准命中靶心。 | 动作是连续值(如力度、角度)时,无法用表格表示 |
Proximal Policy Optimization(PPO) | 高级射箭训练 | 已经掌握射箭基础,但想更精确地微调动 作。PPO限制每次动作调整的幅度,确保策略变化不过猛,保证学习稳定性。 | 需要平衡探索与稳定性的复杂任务 |
A3C(Asynchronous Actor - Critic) | 团队扫雷 | 分头去扫雷,每个人在不同区域探索(独立智能体),但把经验汇总到一个共享的学习模型中。这个模型告诉每个人最优的扫雷策略。多人分头行动,共享经验 。 | 需要高效并行学习的任务,比如实时学习或多智能体合作 |
Soft Actor - Critic(SAC) | 爬悬崖 | 在未知的悬崖上寻找最佳爬法,每次动作尝试新路径,同时保留旧的安全策略。SAC加入“熵”奖励,更多地探索新方法,避免过早陷入单一爬法。在复杂问题中试探性地探索 。 | 状态复杂且奖励稀疏的任务 |
五、奖励模型与算法关系
1. 解耦架构
- 人类反馈训练奖励模型
- 奖励模型为PPO算法提供优化信号
- PPO算法调整策略模型生成回答
2. 组合可能性
- 奖励模型可与多种强化学习算法结合:
- TRPO(高精度任务)
- Policy Gradient(简单任务)
- A2C(结合价值函数优化)
关键总结:
RLHF通过三个阶段实现模型优化:
- 预训练获取基础能力
- 奖励模型量化人类偏好
- 强化学习根据偏好优化策略
核心在于奖励模型将主观评价转化为可计算的信号,指导模型生成符合人类预期的回答。