RLHF 是如何工作的?
在机器学习领域,基于人类反馈的强化学习(RLHF)正变得越来越重要。简单来说,它是一种让机器学习模型通过人类指导来优化自身的新方法。传统的强化学习训练软件做出能最大化回报的决策,而RLHF则更进一步——它把人类的反馈直接融入奖励机制,让模型产出的结果更能贴合我们的真实需求与期望。今天,大语言模型和各类生成式AI应用背后,几乎都有RLHF的影子。
那么,这套流程具体是如何运作的?我们可以把它拆解成两大阶段来看:先是训练一个“奖励模型”,然后利用这个模型去微调“大语言模型”。
第一步:训练一个懂“好坏”的奖励模型
这个阶段的目的是让模型学会判断什么样的输出是好的,什么样的不好。具体步骤如下:
1. 给定基础与偏好
我们给奖励模型准备两组“提示+下一个词”的候选组合。然后,需要人工去审查这两组词并选出“赢家”。举个例子,在“文档是,他”和“文档是,他们”这两组中,前者可能因为带有性别歧视的倾向而被判为“输家”。

2. 输入并计算奖励
接下来,我们将选定的词组输入奖励模型,模型会经历一个标准的推理流程来计算它的奖励分数:
3. 词嵌入:
4. 线性层:
5. 平均池化:
6. 输出层:
7-9. 对比与优化
模型会对“赢家”和“输家”分别计算出奖励分数。比如输家得了3分,赢家得了5分。奖励模型的核心目标是让赢家和输家的奖励差距尽可能大,并且是正数(这里是5-3=2)。这个差距会被映射为一个概率(比如0.9),然后与真实目标(我们希望这个差距最大化,所以目标设为1)进行比较,计算出损失梯度(0.9-1 = -0.1)。通过反向传播,模型会更新自己的权重,让它下一次的判断更精准。
第二步:用奖励模型来微调大语言模型
有了一个能判断好坏的标准(奖励模型)之后,就可以用它来指导和调整大语言模型本身了。
10-13. 语言模型的常规生成
首先,我们需要向大语言模型输入一个从未直接获得过人类反馈的提示(记得加上特殊的开始符号)。这个提示经过模型的Transformer网络,其内部的注意力机制和前馈网络会生成转换后的特征向量。接着,通过一个线性层将这些向量映射到词汇表上的概率分布,最后用贪婪算法(选择概率最高的词)来采样出下一个词。在这个例子中,模型准确地预测了前两个位置,但在第三个位置预测了“him”(他)。
14-15. 用奖励模型评估并指导更新
现在,把模型刚刚生成的新词组(比如“CEO 是, him”)输入到我们已经训练好的奖励模型中,重复之前的步骤,给它打一个分数。假设这次得了3分。
关键一步来了:损失函数被设定为奖励分数的负值。奖励越低,损失就越大。所以,我们得到的损失梯度是一个-1的常数。最后,运行反向传播和梯度下降,根据这个损失来更新大语言模型内部的权重和偏差(图中用红色边框标示的部分)。
这样一来,下一次遇到类似的提示,大语言模型就会倾向于生成那些能让奖励模型给出更高分数的、更符合人类偏好的输出。整个过程就像一个老师(奖励模型)不断给一个学生(语言模型)的作业打分,学生则根据分数来调整自己的学习方法,越学越好。