不花钱,让「情圣」ChatGPT教你怎么追马斯克!( 四 )


在爆火的ChatGPT中,我们能看到RLHF取得的巨大成功 。
RLHF的训练过程,可以分解为三个核心步骤:


  1. 预训练语言模型(LM),

  2. 收集数据并训练奖励模型,

  3. 通过强化学习微调LM 。


预训练语言模型
第一步,RLHF会使用已经用经典预训练目标进行了预训练的语言模型 。
比如,OpenAI在第一个流行的RLHF模型InstructGPT中,使用了较小版本的 GPT-3 。
这个初始模型也可以根据额外的文本或条件进行微调,但并不是必要的 。
一般来说 , 对于「哪种模型」最适合作为RLHF的起点 , 并没有明确的答案 。
接下来,为了得到语言模型,我们需要生成数据来训练奖励模型,这就是将人类偏好集成到系统中的方式 。
不花钱,让「情圣」ChatGPT教你怎么追马斯克!

文章插图


奖励模型训练
生成一个根据人类偏好校准的奖励模型(RM,也称为偏好模型)是RLHF中相对较新的研究 。
我们的基本目标是,获得一个模型或系统,该模型或系统接收一系列文本,并返回一个标量奖励,这个奖励要在数字上代表人类偏好 。
这个系统可以是端到端的LM,或输出奖励的模块化系统(例如,模型对输出进行排序,并将排名转换为奖励) 。作为标量奖励的输出,对于稍后在RLHF过程中无缝集成的现有RL算法至关重要 。
这些用于奖励建模的LM可以是另一个经过微调的LM , 也可以是根据偏好数据从头开始训练的LM 。
RM的提示生成对的训练数据集,是通过从预定义数据集中采样一组提示而生成的 。提示通过初始语言模型生成新文本 。
然后,由人工注释器对LM生成的文本进行排名 。人类直接对每段文本打分以生成奖励模型,这在实践中很难做到 。因为人类的不同价值观会导致这些分数未经校准而且很嘈杂 。
有多种方法可以对文本进行排名 。一种成功的方法是让用户比较基于相同提示的两种语言模型生成的文本 。这些不同的排名方法被归一化为用于训练的标量奖励信号 。
有趣的是,迄今为止成功的RLHF系统都使用了与文本生成大小相似的奖励语言模型 。可以推测,这些偏好模型需要具有类似的能力来理解提供给它们的文本 , 因为模型需要具有类似的能力才能生成所述文本 。
此时,在RLHF系统中,就有了一个可用于生成文本的初始语言模型,和一个接收任何文本并为其分配人类感知程度分数的偏好模型 。接下来 , 就需要使用强化学习(RL)来针对奖励模型优化原始语言模型 。
不花钱,让「情圣」ChatGPT教你怎么追马斯克!

文章插图


使用强化学习微调
这个微调任务,可以表述为RL问题 。
首先,该策略是一种语言模型 , 它接受提示并返回一系列文本(或只是文本的概率分布) 。
该策略的动作空间是语言模型词汇对应的所有token(通常在50k个token数量级),观察空间包括可能的输入token序列,因而相当大(词汇量x输入的token数量) 。
而奖励函数是偏好模型和策略转变约束的结合 。
在奖励函数中,系统将我们讨论过的所有模型 , 组合到RLHF过程中 。
根据来自数据集的prompt x,会生成两个文本y1和y2——一个来自初始语言模型,一个来自微调策略的当前迭代 。
来自当前策略的文本被传递到偏好模型后,该模型会返回一个关于「偏好」的标量概念——rθ 。
将该文本与来自初始模型的文本进行比较后 , 就可以计算对它们之间差异的惩罚 。

相关经验推荐