一文读懂「RLHF」:基于人类反馈的强化学习

引言

在人工智能领域,尤其是自然语言处理(NLP)技术迅猛发展的今天,如何让机器更好地理解和满足人类的需求成为了一个关键问题。传统的训练方法依赖于大规模的语料库和基于规则的损失函数,但在处理复杂、主观和依赖上下文的任务时存在局限性。因此,基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,简称RLHF)应运而生,为模型的训练提供了一种新的思路。

什么是RLHF?

RLHF是一种结合了机器学习中的强化学习算法与人类主观判断的训练技术。这种方法旨在利用人类的直觉和判断力来指导人工智能系统学习更复杂、更贴近人类期望的行为模式,尤其是在自然语言处理(NLP)和决策制定等领域。

原理介绍

RLHF的训练过程可以分解为三个核心步骤:

  1. 预训练一个语言模型 (LM) ;

  2. 聚合问答数据并训练一个奖励模型 (Reward Model,RM) ;

  3. 用强化学习 (RL) 方式微调 LM。

image.png

Step 1:预训练语言模型+有标签数据微调(可选)

首先需要一个预训练语言模型,通过大量的语料去训练出基础模型。对于ChatGPT来说就是GPT-3。还有一个可选的Human Augmented Text,又叫Fine-tune。这里直白点说就是招人给问题(prompt)写示范回答(demonstration),然后给GPT-3上学习。

image.png

Step 2:训练奖励模型

我们需要一个模型来定量评判模型输出的回答在人类看来是否质量不错,即输入[提示(prompt),模型生成的回答],奖励模型输出一个能表示回答质量的标量数字。

image.png

RM 的训练是 RLHF 区别于旧范式的开端。这一模型接收一系列文本并返回一个标量奖励,数值上对应人的偏好。我们可以用端到端的方式用 LM 建模,或者用模块化的系统建模 (比如对输出进行排名,再将排名转换为奖励) 。这一奖励数值将对后续无缝接入现有的 RL 算法至关重要。

关于模型选择方面,RM 可以是另一个经过微调的 LM,也可以是根据偏好数据从头开始训练的 LM。例如 Anthropic 提出了一种特殊的预训练方式,即用偏好模型预训练 (Preference Model Pretraining,PMP) 来替换一般预训练后的微调过程。因为前者被认为对样本数据的利用率更高。但对于哪种 RM 更好尚无定论。

关于训练文本方面,RM 的提示 - 生成对文本是从预定义数据集中采样生成的,并用初始的 LM 给这些提示生成文本。Anthropic 的数据主要是通过 Amazon Mechanical Turk 上的聊天工具生成的,并在 Hub 上 可用,而 OpenAI 使用了用户提交给 GPT API 的 prompt。

关于训练奖励数值方面,这里需要人工对 LM 生成的回答进行排名。起初我们可能会认为应该直接对文本标注分数来训练 RM,但是由于标注者的价值观不同导致这些分数未经过校准并且充满噪音。通过排名可以比较多个模型的输出并构建更好的规范数据集。

  对具体的排名方式,一种成功的方式是对不同 LM 在相同提示下的输出进行比较,然后使用 Elo 系统建立一个完整的排名。这些不同的排名结果将被归一化为用于训练的标量奖励值。

  这个过程中一个有趣的产物是目前成功的 RLHF 系统使用了和生成模型具有 不同 大小的 LM (例如 OpenAI 使用了 175B 的 LM 和 6B 的 RM,Anthropic 使用的 LM 和 RM 从 10B 到 52B 大小不等,DeepMind 使用了 70B 的 Chinchilla 模型分别作为 LM 和 RM) 。一种直觉是,偏好模型和生成模型需要具有类似的能力来理解提供给它们的文本。

Step 3:通过强化学习微调语言模型

基于强化学习(RL)去优化调整语言模型。利用 RM 输出的奖励,用强化学习方式微调优化 LM。具体来说,policy是给GPT输入文本后输出结果的过程(输出文本的概率分布),Action Space是词表所有token(可以简单理解为词语)在所有输出位置的排列组合,Observation space是可能输入的token序列,也就是Prompt。Reward Function则是基于上面第二步得到的奖励模型,配合一些策略层面的约束。

image.png

PPO 算法确定的奖励函数具体计算如下:将提示 x 输入初始 LM 和当前微调的 LM,分别得到了输出文本 y1y2,将来自当前策略的文本传递给 RM 得到一个标量的奖励 rθ。将两个模型的生成文本进行比较计算差异的惩罚项,在来自 OpenAI、Anthropic 和 DeepMind 的多篇论文中设计为输出词分布序列之间的 Kullback–Leibler (KL) divergence 散度的缩放,即 KLr=rθ−λrKL 。这一项被用于惩罚 RL 策略在每个训练批次中生成大幅偏离初始模型,以确保模型输出合理连贯的文本。如果去掉这一惩罚项可能导致模型在优化中生成乱码文本来愚弄奖励模型提供高奖励值。此外,OpenAI 在 InstructGPT 上实验了在 PPO 添加新的预训练梯度,可以预见到奖励函数的公式会随着 RLHF 研究的进展而继续进化。

最后根据 PPO 算法,我们按当前批次数据的奖励指标进行优化 (来自 PPO 算法 on-policy 的特性) 。PPO 算法是一种信赖域优化 (Trust Region Optimization,TRO) 算法,它使用梯度约束确保更新步骤不会破坏学习过程的稳定性。DeepMind 对 Gopher 使用了类似的奖励设置,但是使用 A2C (synchronous advantage actor-critic) 算法来优化梯度。

作为一个可选项,RLHF 可以通过迭代 RM 和策略共同优化。随着策略模型更新,用户可以继续将输出和早期的输出进行合并排名。Anthropic 在他们的论文中讨论了 迭代在线 RLHF,其中策略的迭代包含在跨模型的 Elo 排名系统中。这样引入策略和 RM 演变的复杂动态,代表了一个复杂和开放的研究问题。

缺点

尽管RLHF在训练AI代理执行复杂任务方面取得了令人印象深刻的成果,但使用RLHF并非没有局限性。主要问题包括:

点击一文读懂「RLHF」:基于人类反馈的强化学习查看全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值