基于人类反馈的强化学习(RLHF)全解析
随着大型语言模型(LLM)的快速发展,如何使这些模型更好地理解和满足人类的需求成为了一个关键问题。传统的训练方法往往依赖于大规模的语料库和基于规则的损失函数,但这在处理复杂、主观和依赖上下文的任务时存在局限性。因此,基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)应运而生,为模型的训练提供了一种新的思路。

一、RLHF 的核心框架
1. 什么是 RLHF?
基于人类反馈的强化学习(RLHF),是一种将人类反馈与强化学习相结合的方法,旨在通过引入人类偏好来优化模型的行为和输出。在 RLHF 中,人类的偏好被用作奖励信号,以指导模型的训练过程,从而增强模型对人类意图的理解和满足程度。这种方法使得模型能够更自然地与人类进行交互,并生成更符合人类期望的输出。
2. RLHF 的五大要素
基于人类反馈的强化学习框架是一个复杂但高效的系统,包括强化学习算法、行动、环境、观察和奖励机制。
(1) 强化学习算法(RL Algorithm)
在 RLHF 框架中,常用的强化学习算法之一是近端策略优化(Proximal Policy Optimization, PPO)。PPO 是一种用于训练代理的'on-policy'算法,它直接学习和更新当前策略,而不是从过去的经验中学习。相比其他算法,PPO 在稳定性与样本效率之间取得了较好的平衡,适合处理高维动作空间的语言生成任务。
(2) 行动(Action)
在 RLHF 框架中,行动指的是语言模型根据给定的提示(prompt)生成的输出文本。这些输出文本是模型在尝试完成特定任务或响应特定指令时产生的。行动空间(Action Space)是词表所有 token(可以简单理解为词语)在所有输出位置的排列组合。由于语言生成的序列特性,这是一个巨大的离散空间。
(3) 环境(Environment)
在 RLHF 中,环境是代理(即我们的语言模型)与之交互的外部世界,它提供了代理可以观察的状态、执行的动作以及根据这些动作给予的奖励。
- 状态空间(State Space):这是环境可能呈现给代理的所有可能状态的集合。在 RLHF 中,状态通常对应于输入给模型的提示(prompt)或上下文信息。
- 动作空间(Action Space):这是代理可以执行的所有可能动作的集合。在 RLHF 中,动作对应于模型生成的输出文本,即模型根据输入提示生成的响应。
- 奖励函数(Reward Function):这是一个根据代理在环境中的行为(即生成的输出)来分配奖励的函数。在 RLHF 中,奖励函数通常不是直接给出的,而是通过训练一个奖励模型来预测的,该奖励模型能够基于人类反馈来评估不同输出的质量。
(4) 观察(Observation)
在 RLHF 框架中,观察指的是模型在生成输出文本时所接受到的输入提示(prompt)。这些提示是模型尝试完成任务的依据,也是模型进行决策和行动的基础。观察空间(Observation Space)是可能输入的 token 序列,即 Prompt。
(5) 奖励机制(Reward)
奖励机制是 RLHF 框架中的核心组成部分之一。它基于奖励模型对人类偏好的预测来给予模型奖励或惩罚。它需要使用大量的人类反馈数据来进行训练,以确保能够准确地预测人类对不同输出的偏好。这些数据通常通过让标注人员对模型生成的输出进行排序、打分或提供其他形式的反馈来收集。

二、RLHF 实战:InstructGPT 训练的三个阶段
如何使用 RLHF 进行 InstructGPT 模型训练?三个阶段共同构成了 InstructGPT 的训练过程,通过收集描述性数据和比较性数据,并分别训练监督学习模型和奖励模型,最后利用 PPO 强化学习算法对奖励模型进行优化,从而训练出能够生成高质量、符合人类偏好输出的 InstructGPT 模型(ChatGPT 的前身)。



