22.与人类对齐的背景与标准
1. 什么是“人类对齐”
1.1 大模型存在的问题
当前主流的大语言模型,如 GPT、Claude、通义千问等,虽然在预训练阶段学到了大量的语言知识,但它们也存在以下问题:
- 输出不符合人类价值观:模型可能输出歧视性、暴力、违法等内容。
- 逻辑错误或胡编乱造:模型容易自信地给出错误答案,即“幻觉”问题(hallucination)。
- 拒绝有用问题或出现偏见:模型可能拒答合法的问题,或者带有文化偏见。
仔细思考大模型为什么会输出的内容不符合人类的价值观?在大语言模型的预训练和有监督微调的过程中,主要训练目标是根据上下文内容来预测下一个词元,但是,这一过程并未充分考虑人类的价值观或偏好,可能导致大语言模型从数据中学习到不符合人类期望的生成模式。为了规避这些潜在风险,研究人员提出了“人类对齐”这一关键概念,旨在保证大语言模型的行为与人类期望和价值观相一致。
1.2 什么是“对齐”?
“人类对齐”(Alignment with Human Intent)指的是让模型的行为更加符合人类的期望、价值观和社会规范。
举例说明:用户提问:我怎么制造炸药?
❌ 未对齐模型:可能会详细说明操作步骤。
✅ 对齐后模型:应该拒绝并给出安全提示: 很抱歉,我无法帮助处理这个请求。
1.3 对齐的标准
人类对齐是一个较为抽象的概念,难以直接进行形式化建模,关于对齐的定义和标准也存在不同的观点。本文主要围绕有用性(Helpfulness)、诚实性(Honesty)和无害性(Harmlessness),这三种对齐标准已被现有的大语言模型对齐研究广泛使用。
-
有用性. 在实际应用中,大语言模型需要提供有用的信息,能够准确完成任务,正确理解上下文,并展现出一定的创造性与多样性
-
诚实性. 模型的输出应具备真实性和客观性,不应夸大或歪曲事实,避免产生误导性陈述,并能够应对输入的多样性和复杂性
-
无害性. 大语言模型应避免生成可能引发潜在负面影响或危害的内容。在**处理敏感主题时,模型应遵循道德标准和社会价值观**,从而消除冒犯性与歧视性
1.4 模型安全问题
下面是《生成式人工智能服务安全基本要求》,详细说明了模型安全问题的细则
大模型的备案也是基于上述的要求,具体大模型的备案这里不详细展开讲。通过上面的例子可以看出生成式模型安全问题是非常重要的。
2. 基于人类反馈的强化学习
为了加强大语言模型与人类价值观的一致性,基于人类反馈的强化学习旨在利用收集到的人类反馈数据指导大语言模型进行微调,从而使得大语言模型在多个标准(例如有用性、诚实性和无害性)上实现与人类的对齐。
采用强化学习的方式与人类对齐,大体上分为两个步骤
- 首先需要收集人类对于不同模型输出的偏好,然后使用收集到的人类反馈数据训练奖励模型
- 基于奖励模型使用强化学习算法微调大语言模型
2.1 RLHF 算法系统
RLHF 算法系统主要包括三个关键组成部分
- 需要与人类价值观对齐的模型:至少经过预训练和监督微调以后的模型,我们称为 SFT 模型,这个模型是具备生成能力的
- 基于人类反馈数据学习的奖励模型:这个奖励模型 RM(Reward Model)模型
- 用于训练大语言模型的强化学习算法:目前,PPO (Proximal Policy Optimization, PPO)算法 是一种被广泛用于人类对齐的强化学习算法

- 监督微调阶段. 为了让待对齐语言模型**具有较好的指令遵循能力,通常需要收集高质量的指令数据进行监督微调。指令数据一般包括任务描述和示例输出,可以由人类标注员针对特定任务编写,也可以由大语言模型自动生成。
- 奖励模型训练阶段. 第二步是使用人类反馈数据训练奖励模型。具体来说,首先使用语言模型针对任务指令生成一定数量的候选输出。随后,邀请标注员对于输出文本进行偏好标注,这个标注过程可以采用多种形式,其中最常用的是对候选文本进行排序标注,这样可以有效减少多个标注员之间的不一致情况。也可以邀请标注人员对候选输出进行打分,不过打分容易使得多个标注人员存在不一致。
- 强化学习训练. 在这一步骤中,语言模型对齐被转化为一个强化学习问题。
- 策略模型:SFT 模型
- 动作空间:词汇表中的所有词元
- 状态:当前已生成的词元序列
- 反馈:奖励模型则根据当前语言模型的状态提供相应的奖励分数
2.2 奖励模型的训练
很难在训练过程中要求人类标注者实时提供偏好反馈,为此,我们需要训练一个模型来替代人类在RLHF 训练过程中实时提供反馈,这个模型被称为**奖励模型**。这个奖励模型能够评估人类的偏好。
2.2.1 打分式
人类标注者需针对给定的输入问题,为相应的输出赋予反馈分数。通常来说,这些分数是离散的数值,用于表示输出与人类偏好的契合程度,一般情况下,可以采用均方误差(Mean Square Error,MSE)作为打分式训练方法的目标函数,具体形式下式所示L==−E(x,y)∼D[(rθ(x,y)−~r)2]其中,x,y,~r分别表述问题输入、输出和人类标注者对输出的打分,函数rθ表示参数为θ的奖励模型
2.2.2 对比式
对比式训练方法一定程度上能够克服打分式训练方法的不足。针对一个问题输入,人类标注者仅需对两条相应输出进行排序,排序在前的输出被视为正例(更符合人类偏好),另一条输出则被视为负例。大家在用 ChatGPT 的时候,会经常碰到模型输出两条内容,需要你选择哪个更好。
励模型需要学习在提升正例分数的同时,进一步降低负例的分数,以最大化正例和负例之间的分数差异L=−E(x,y−y+)∼D[log(σ(rθ(x,y+)−rθ(x,y−)))]
2.2.3 排序式
排序式训练方法可以被视为对比式训练方法的一种增强形式,一个给定的输入,人类标注者根据偏好对于多个模型生成的回复进行排序.
需要注意的是,这里的排序式训练方法考虑了所有𝐾个输出之间的两两偏序关系。相比于对比式的训练方式,基于排序式方法训练的奖励模型能够在**一定程度上学习到更为全局的排序关系**,进而更好地学习和拟合人类的价值观和偏好.L==−1(k2)E(x,y−y+)∼D[log(σ(rθ(x,y+)−rθ(x,y−)))]
2.3 强化学习目标
强化学习是RLHF 中的核心优化算法。一般来说,强化学习旨在训练一个智能体,该智能体与外部环境进行多轮交互,通过学习合适的策略进而最大化从外部环境获得的奖励。
在智能体和外部环境第t次交互的过程中,智能体需要根据当前外部环境的状态st 选择合适的策略,决定下一步该做出的行动at。当智能体采取了某个行动之后,外部环境会从原来的状态st 变化为新的状态st+1。此时,外部环境会给予智能体一个奖励分数rt。在和外部环境交互的过程中,智能体的目标是最大化所有决策τ={a1,a2,...}能获得的奖励的总和R(τ)=∑Tt=1rt。形式化来说,假设参数为θ的策略模型做出的决策轨迹𝜏的概率为Pθ(τ),该决策轨迹在最终状态能够累计获得的奖励为R(τ)。
而强化学习的目标就是最大化获得的奖励J(θ)=argmaxθEτ∼pθ[R(τ)]=argmaxθ∑τR(τ)Pθ(τ)下面我们通俗的解释下几个概念:
- 做出的行动 at就是生成 token
- τ 其实就是大模型生成的文本
- Pθ(τ) 是生成的文本对应的解码概率
- R(τ) 对于生成文本的奖励
在自然语言生成任务中,大语言模型(即策略模型)需要根据用户输入的问题和已经生成的内容(即当前状态),生成下一个词元(即对下一步行动做出决策)。当大语言模型完整生成整个回复之后(即决策轨迹),标注人员(或奖励模型)会针对大语言模型生成的回复进行偏好打分(即奖励分数)。大语言模型需要学习生成回应的有效策略,使得生成的内容能获得尽可能高的奖励,即其生成的内容尽可能符合人类的价值观和偏好。
2.4 PPO(Proximal Policy Optimization)
-
所属范畴:人类反馈强化学习(RLHF)
-
数据集
{"prompt": "帮我写一个Python打印Hello World的代码", "completion": "print('Hello World')", "score": 1.0}
{"prompt": "介绍人工智能的发展历史", "completion": "人工智能起源于...", "score": 0.8}
- 训练流程:
- 训练一个 reward model,从人类偏好中学习评分函数 R(x,y)
- 用 PPO 算法优化语言模型,让它在生成时最大化 reward
- 损失函数:
LPPO(θ)=Et[min(rt(θ)^At,clip(rt(θ),1−ϵ,1+ϵ)^At)]
其中
- rt(θ)=πθ(at|st)πθold(at|st) → 新旧策略概率比
-
^At → 优势函数(基于 reward model 计算)
-
优点:
- 适用于复杂反馈,如打分、排序;
- ChatGPT 等广泛使用;
- 缺点:
- PPO 严重依赖 reward model,而 reward model 的质量决定了优化效果
- reward model 的训练成本高,且容易引入偏差
3. 非强化学习的对齐方法
3.1 直接偏好优化DPO(Direct Preference Optimization)
- 训练数据
[{"instruction": "人类指令(必填)","input": "人类输入(选填)","chosen": "优质回答(必填)","rejected": "劣质回答(必填)"}
]
-
原理:通过人类成对偏好数据,直接优化语言模型。
-
损失函数1:
L(θ)=−E(x,y+,y−)∼D[logσ(βlogπθ(y+|x)πold(y+|x)−βlogπθ(y−|x)πold(y−|x))]
-
优点:
- 不需训练奖励模型
- 不使用 RL,训练稳定
- 实现简单,易部署
-
缺点:
- 仅支持成对偏好
- 灵活性不如 PPO
- 对样本质量要求高。
3.2 KTO(KL-divergence Preference Optimization)
- 训练数据
[{"instruction": "人类指令(必填)","input": "人类输入(选填)","output": "模型回答(必填)","kto_tag": "人类反馈 [true/false](必填)"}
]
- 原理:加入 KL 约束,控制模型偏离参考模型的程度
- 损失函数2:

- 优点:
- 不需要奖励模型
- 单样本 + 二值反馈(不用正负样本对)
- 缺点:
- KL 权重需调参
- 对参考模型有依赖
3.3 GRPO(Group Relative Policy Optimization)
GRPO 用相对比较(ranking)代替绝对 reward3
- 不需要Critic (价值模型)给每个回答一个绝对分数
- 直接利用组内多个回答的相对优劣作为优化信号
- 直观理解:只要知道哪个回答更好,模型就能学习,而不需要精确的 reward 数值
给定一个 prompt x,模型生成一组 K 个候选回答:
y1,y2,…,yK∼πθ(y|x)
对这 K 个回答进行排序(rank),得到相对优劣顺序:
y(1)≻y(2)≻⋯≻y(K)定义每个回答的相对奖励:
r(yi)=rank(yi)−mean rankstd(rank)
即:高于平均水平的样本 → 正奖励;低于平均水平的样本 → 负奖励。
和 PPO 相比,GRPO Critic 直接基于相对排名来定义优势函数
- 不使用 Critic
- 采样多个输出,奖励模型直接给分
- 组内标准化后的奖励直接作为优势指导策略更新
4、总结对比表
| 方法 | 偏好类型 | 是否用奖励模型 | 是否用 RL | 稳定性 | 优点 | 缺点 |
|---|---|---|---|---|---|---|
| PPO | 任意反馈(打分) | ✅ 是 | ✅ 是 | ❌ | 支持复杂反馈,效果强 | 训练复杂,易过拟合,工程复杂 |
| DPO | 成对偏好 | ❌ 否 | ❌ 否 | ✅ | 简单易用,稳定 | 仅支持 pairwise,表现略次 |
| KTO | 二元标签(好/坏) | ❌ 否 | ❌ 否 | ✅ | 数据收集简单,有 KL 控制 | 需调参,效果受参考模型影响 |
| GRPO | 分组偏好 | ❌ 否 | ❌ 否 | ✅+ | 保留参考模型能力,训练更稳健 | 实现复杂,性能受梯度方向限制 |
参考资料
-
https://arxiv.org/pdf/2305.18290
-
https://arxiv.org/pdf/2402.01306
-
https://arxiv.org/pdf/2402.03300
