1. 课程导入

大语言模型(LLM)在预训练阶段通过海量文本学习到了丰富的语言知识与世界知识,但这一阶段的优化目标仅仅是"预测下一个词"。这种目标函数与人类真实需求之间存在显著偏差:模型可能生成流畅但有害、偏见、虚假或不符合用户指令的内容。对齐训练(Alignment Training)正是为了解决这一核心矛盾而诞生——它通过强化学习(Reinforcement Learning, RL)等技术,将模型的行为与人类偏好、价值观和指令意图进行系统性校准。本课程聚焦于近两年工业界最主流的两类对齐方法——PPO(Proximal Policy Optimization,近端策略优化)与 RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习),从数学原理、工程实现到调优实战,构建完整的知识体系。

大模型对齐训练全景图:从预训练到 RLHF/PPO 预训练 目标:预测下一个词 数据:TB级互联网文本 海量 SFT 监督微调 目标:模仿人类指令 数据:指令-回答对 对齐 RLHF / PPO 对齐训练(本课程核心) 奖励模型 RM 人类偏好打分 策略模型 π 生成策略优化 PPO 近端策略优化 KL 散度约束 迭代优化:采样 → 打分 → 策略更新 对齐后的模型 有用性(Helpful)· 诚实性(Honest)· 无害性(Harmless) 评估维度 自动指标 + 人工评测 课程四大模块 模块一:基础与原理 RLHF 数学框架、PPO 推导 模块二:工程实现 Reward Model、RLHF 训练流程 模块三:PPO 实战 KL 控制、优势估计、调优 模块四:前沿与案例 DPO、GRPO、工业落地 学习路径:数学基础 → 代码实现 → 分布式训练 → 调优策略 → 评估迭代 前置要求:Python / PyTorch / Transformer 基础 / 强化学习入门

1.1 学习目标:从理论到落地的完整能力构建

本课程的学习目标分为四个层次,层层递进,确保学员在完成学习后能够独立承担大模型对齐训练的相关工作。

层次 目标 可验证的成果
第一层:理解 掌握 RLHF 的完整数学推导与 PPO 算法的核心原理 能独立推导 PPO 的损失函数,解释 KL 散度与优势估计的作用
第二层:实现 能够基于 PyTorch 从零实现 Reward Model 与 PPO 训练循环 完成一个最小可运行的 RLHF 训练脚本,生成符合预期的模型输出
第三层:调优 掌握 PPO 训练中的关键超参数(KL 系数、clip 范围、学习率等)的调节方法 针对训练不稳定、奖励 hacking 等问题给出有效的解决方案
第四层:应用 了解工业级对齐训练的最佳实践与前沿方法(DPO、GRPO 等) 能够设计并执行一套完整的对齐训练实验方案,并完成效果评估

课程定位说明:本课程不是纯理论课程,也不是纯工程课程。我们强调"数学直觉 → 代码实现 → 工程调优"的闭环。每一章都会包含可运行的代码片段、具体的实验数据分析和常见的坑位提醒。学完本课程后,你应该具备在真实业务场景中训练和部署对齐模型的能力。

1.2 课程结构:四大模块递进式设计

课程共 30 章,分为四大模块,每个模块解决一个核心问题。这种结构设计遵循认知规律:先建立直觉,再深入原理,然后动手实践,最后拓展视野。

  • 模块一(第 1-7 章):基础与原理。从语言模型的基本训练范式出发,讲解为什么预训练模型需要对齐,引入 RLHF 的整体框架,并深入推导 PPO 算法的数学基础。这一模块是后续所有内容的地基。
  • 模块二(第 8-15 章):工程实现。聚焦 Reward Model 的训练、RLHF 的完整训练流程、分布式训练策略(DeepSpeed、Megatron 等)、以及训练稳定性保障。这一模块将理论转化为可运行的代码。
  • 模块三(第 16-24 章):PPO 实战与调优。深入 PPO 的每一个细节:KL 散度控制、优势函数估计(GAE)、策略更新裁剪、奖励归一化、以及各种训练失败的排查与修复。这一模块是课程的核心价值所在。
  • 模块四(第 25-30 章):前沿方法与案例复盘。介绍 DPO(Direct Preference Optimization)、GRPO(Group Relative Policy Optimization)等无需强化学习的对齐方法,并通过多个工业级案例(如对话机器人、代码生成模型、内容审核模型)进行完整复盘。

学习建议:建议学员按照顺序学习,尤其是前 15 章,它们是理解 PPO 实战的基础。如果时间有限,可以优先学习第 1-3 章、第 8-10 章、第 16-20 章,这些章节构成了 RLHF 训练的最小知识闭环。

1.3 对齐训练的背景:为什么预训练模型不够用?

要理解对齐训练的必要性,我们需要先审视预训练模型的本质缺陷。以 为例,它拥有 1750 亿参数,在大量文本上训练后,能够生成流畅的文本,但存在以下系统性不足:

  1. 目标函数错位:预训练优化的是"下一个词预测概率",而人类期望的是"有用、安全、符合指令的回答"。这两者并不等价。例如,模型可能生成一段语法完美但包含错误事实的文本,因为它在训练数据中见过类似表述。
  2. 缺乏指令遵循能力:预训练模型不会"听懂"用户的指令。用户说"用一句话解释量子纠缠",模型可能输出一段长篇大论,因为它没有接受过"指令-响应"的监督训练。
  3. 有害内容与偏见:互联网语料中充斥着暴力、歧视、虚假信息。预训练模型会无差别地学习这些模式,并在生成时复现。
  4. 价值观不一致:模型没有"价值观"的概念,它只是统计概率的映射。当用户询问"如何制造炸弹"时,模型可能会给出详细步骤,因为它认为这是合理的文本延续。

这些问题无法通过简单的提示工程(Prompt Engineering)完全解决。提示工程只是"引导"模型已有的能力,而无法改变模型内部的偏好分布。对齐训练则通过额外的训练阶段,直接修改模型的策略分布,使其在概率层面更倾向于生成符合人类偏好的内容。

1.4 对齐训练的意义:从"能说"到"会说"

对齐训练的意义可以从三个维度理解:技术维度、产品维度、安全维度。

维度 未对齐的模型 对齐后的模型 对齐训练的关键贡献
技术 生成流畅但不可控 生成可控且可预测 引入奖励信号,将"生成"转化为"优化"问题
产品 无法满足用户真实需求 准确理解指令并执行 提升任务完成率、用户满意度
安全 可能产生有害、违法内容 拒绝有害请求,输出安全内容 将人类价值观编码为可优化的目标函数

以 为例,其背后的 模型在预训练之后,经历了 SFT(监督微调)→ RM(奖励模型)→ RLHF(PPO 优化)三个阶段。SFT 让模型学会"模仿"人类回答的格式和风格;RM 学习"什么回答更好";PPO 则让模型在探索中"优化"自己的策略,以获取更高的奖励。正是这一套组合拳,使得 在对话体验上远超原始的 。

重要认知:对齐训练不是"万能药"。它不能凭空增加模型的知识量,也不能修复预训练阶段的根本性缺陷(如事实性错误)。对齐训练解决的是"行为校准"问题——让模型已有的知识以更符合人类期望的方式表达出来。如果预训练模型本身能力不足,对齐训练的效果也会受限。

1.5 案例拆解:一个典型的 RLHF 训练实验设计

为了帮助学员建立直观认知,我们以一个简化的对话模型对齐实验为例,展示 RLHF 训练的整体流程。这个案例将贯穿课程后续章节,作为实战讲解的基线。

实验背景:某团队训练了一个 7B 参数的对话模型(基于 LLaMA-2 架构),预训练完成后,模型能流畅对话,但经常出现"答非所问"和"长篇大论"的问题。团队决定采用 RLHF 进行对齐。

初始数据与约束:

  • SFT 数据:50K 条人工标注的指令-回答对,覆盖日常问答、写作、编程等场景。
  • RM 训练数据:100K 条对比数据(同一指令下两个回答,标注哪个更好)。
  • 计算资源:8 张 A100-80G GPU,使用 DeepSpeed ZeRO-3 进行分布式训练。
  • 训练预算:总训练时间不超过 72 小时。

训练流程:

  1. 阶段一(SFT):使用 50K 数据对预训练模型进行 3 个 epoch 的监督微调,学习率 2e-5,batch size 128。这一步让模型学会基本的指令遵循格式。
  2. 阶段二(RM 训练):使用 100K 对比数据训练一个 7B 参数的奖励模型。输入为"指令+回答",输出一个标量分数。训练时使用 pairwise ranking loss,准确率目标 > 75%。
  3. 阶段三(PPO 优化):固定 RM 参数,将 SFT 模型作为初始策略。每次迭代采样 512 条指令,生成回答,由 RM 打分,并计算 KL 散度惩罚(系数 0.02)。使用 PPO 更新策略参数,clip 范围 0.2,GAE 的 λ 设为 0.95。

关键指标与结果:

指标 SFT 后 RLHF 后 变化
RM 平均得分(满分 5) 3.2 4.1 +0.9
回答平均长度(字符) 420 180 -57%
人工评估"有用性"(1-5) 3.0 4.3 +1.3
有害内容触发率 8% 1.5% -81%

复盘经验:RLHF 显著提升了回答的简洁性和有用性,同时大幅降低了有害内容生成率。但训练过程中也遇到了两个典型问题:一是初期 KL 系数过大导致生成文本过于保守(回答过于简短),调低至 0.01 后缓解;二是 RM 出现"奖励黑客"现象——模型学会了通过增加标点符号和分段来欺骗 RM 打高分,最终通过加入长度惩罚项解决。

案例启示:这个案例展示了 RLHF 训练的核心闭环:数据 → SFT → RM → PPO → 评估。每一步都有独立的优化空间和陷阱。在后续章节中,我们将逐一深入每个环节的数学原理、代码实现和调优技巧。学员可以对照此案例,在自己的实验环境中复现整个流程。

1.6 常见误区与学习心态

在开始正式学习之前,有必要澄清几个常见误区,帮助学员建立正确的认知框架。

  • 误区一:"RLHF 就是 PPO"。实际上,RLHF 是一个框架,PPO 是其中常用的优化算法。还有 GRPO、DPO 等替代方案。本课程以 PPO 为主线,但也会介绍其他方法。
  • 误区二:"对齐训练需要大量数据"。虽然数据质量很重要,但数量并非越多越好。 的 InstructGPT 显示,仅用 13K 的 SFT 数据和 33K 的 RM 对比数据,就能显著提升模型表现。关键在于数据的多样性和标注质量。
  • 误区三:"对齐训练会降低模型通用能力"。如果 KL 系数设置不当,确实可能导致模型在通用任务上退化(称为"对齐税")。但合理的设置可以在保持通用能力的同时提升指令遵循能力。本课程第 18 章会专门讨论这个问题。
  • 误区四:"只要跑通代码就算学会"。RLHF 训练中,代码只是载体,真正的难点在于理解每个超参数背后的数学含义和它们之间的相互作用。建议学员在跑通代码后,主动做消融实验,观察不同设置对结果的影响。

学习方法建议:每学完一章,尝试用自己的话复述核心概念,并动手修改代码中的关键参数观察变化。遇到训练不稳定的情况,不要急于调参,先分析是数据问题、奖励模型问题还是策略优化问题。本课程第 22 章会提供一套系统的排障方法论。