大模型训练四阶段:从原始语料到对齐智能

大语言模型的训练是一个多阶段的复杂过程。从原始互联网文本到能与人类对齐的智能助手,需要经过预训练、监督微调、人类反馈强化学习(RLHF)和直接偏好优化(DPO)四个阶段。本文将全面解析这条训练链路。

一、训练流程总览

┌─────────────────────────────────────────────────────────────┐
│              大模型训练全流程                                 │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  阶段1: 预训练 (Pre-training)                                │
│  输入: 万亿 Token 原始语料                                   │
│  目标: Next Token Prediction                                │
│  产出: 基座模型 (Base Model)                                 │
│                                                             │
│  阶段2: 监督微调 (SFT)                                       │
│  输入: 高质量指令-回复对 (10K-1M)                           │
│  目标: 模仿专家回复                                          │
│  产出: 指令模型 (Instruct Model)                            │
│                                                             │
│  阶段3: 人类反馈强化学习 (RLHF)                              │
│  输入: 人类偏好数据 (A > B 对比)                             │
│  目标: 最大化人类偏好奖励                                    │
│  产出: 对齐模型 (Aligned Model)                             │
│                                                             │
│  阶段4: 直接偏好优化 (DPO)                                   │
│  输入: 同 RLHF 的偏好数据                                    │
│  目标: 直接优化策略, 无需奖励模型                            │
│  产出: 进一步优化的对齐模型                                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

二、预训练(Pre-training)

2.1 训练目标

预训练使用Next Token Prediction(NTP)作为训练目标:

$$\mathcal{L}{NTP} = -\sum{t=1}^{T} \log P(x_t | x_{<t}; \theta)$$

给定前 $t-1$ 个 Token,预测第 $t$ 个 Token 的概率。模型通过最小化这个交叉熵损失来学习语言的统计规律。

2.2 数据构成

2026 年主流模型的预训练数据规模:

模型训练 Token 数数据来源构成
Llama 420T60% 网页 + 20% 代码 + 15% 学术 + 5% 多模态
DeepSeek V430T40% 网页 + 30% 代码 + 20% 数学 + 10% 多语言
GPT-5~40T未知 (推测包含大量合成数据)

数据质量比数量更重要。2026 年的最佳实践:

  1. 去重:MinHash LSH 去重,去除 90%+ 的重复内容
  2. 质量过滤:使用小模型打分,保留高质量文本
  3. 安全过滤:移除有害、偏激内容
  4. 代码数据:GitHub 高星仓库 + 竞赛代码
  5. 数学数据:arXiv 论文 + 数学教材 + 证明步骤

2.3 训练超参数

参数典型值说明
学习率3e-4 → 3e-5 (cosine)预热 + 余弦衰减
Batch Size4M-8M Token全局 Batch
序列长度4K-8K (逐步扩展)阶段性增长
优化器AdamWβ1=0.9, β2=0.95
权重衰减0.1L2 正则化
梯度裁剪1.0防止梯度爆炸
训练步数300K-500K取决于数据量

2.4 训练稳定性

大模型预训练中常见的不稳定性:

  1. Loss Spike:损失突然跳升,通常由于学习率过大或数据异常
  2. 梯度爆炸:通过梯度裁剪和 LayerNorm 控制
  3. 注意力熵坍缩:注意力过度集中于少数 Token

2026 年的稳定训练技术:

  • bf16 混合精度:主权重用 fp32,计算用 bf16
  • Z-Loss:辅助损失项 $\mathcal{L}_z = \log \sum_i z_i$ 稳定 softmax
  • 动态学习率:检测 loss spike 时自动降低学习率

三、监督微调(SFT)

3.1 SFT 的目标

SFT 让模型学会"听指令":

$$\mathcal{L}{SFT} = -\sum{t} \log P(y_t | x, y_{<t}; \theta)$$

其中 $x$ 是用户指令,$y$ 是期望回复。关键区别:只在回复部分计算损失,不对指令部分计算。

3.2 SFT 数据构建

高质量 SFT 数据是模型能力的关键:

数据类型数量来源作用
通用对话100K人工标注 + GPT-4 生成基础对话能力
代码生成50K人工编写 + 验证代码能力
数学推理50K竞赛题 + 逐步解答逻辑推理
工具使用30KAPI 调用示例Agent 能力
多语言50K翻译 + 本地化多语言支持
安全拒答20K红队测试数据安全对齐

3.3 全参数 vs LoRA

方案可训练参数显存需求效果
全参数 SFT100%模型大小 × (2 + optimizer)最优
LoRA (r=64)~1%模型大小 × 1.2接近全参数
QLoRA (r=64)~1%模型大小 × 0.4略低于 LoRA

2026 年的实践:大模型(>30B)普遍使用 LoRA 进行 SFT,因为全参数 SFT 的计算成本过高。

3.4 Evol-Instruct

2026 年 SFT 数据生成的主流方法是 Evol-Instruct(进化指令):

  1. 从简单指令开始
  2. 使用更强的模型(如 GPT-5)进行指令"进化":
    • 增加约束条件
    • 增加深度
    • 增加多样性
  3. 验证进化后指令的质量
  4. 生成回复

这种方法可以自动生成大量高质量、有梯度的训练数据。

四、RLHF(人类反馈强化学习)

4.1 RLHF 三阶段

┌─────────────────────────────────────────────────────┐
│                  RLHF 流程                          │
├─────────────────────────────────────────────────────┤
│                                                     │
│  阶段1: 训练奖励模型 (Reward Model)                  │
│  数据: 同一 prompt 的两个回复, 人类标注偏好          │
│  目标: r(x, y_chosen) > r(x, y_rejected)            │
│  损失: L_RM = -log σ(r(x,y_w) - r(x,y_l))          │
│                                                     │
│  阶段2: PPO 强化学习                                 │
│  策略模型 π 生成回复 y                               │
│  奖励: r = R(x, y) - β·KL(π||π_ref)                │
│  优化: PPO 算法更新 π                                │
│                                                     │
│  阶段3: 迭代优化                                     │
│  收集新的人类反馈 → 重训 RM → 再 PPO                 │
│                                                     │
└─────────────────────────────────────────────────────┘

4.2 奖励模型

奖励模型的训练目标:

$$\mathcal{L}_{RM} = -\log \sigma(r(x, y_w) - r(x, y_l))$$

其中 $y_w$ 是更好的回复(winner),$y_l$ 是较差的回复(loser)。

奖励模型通常是 SFT 模型 + 一个标量输出头的结构:

class RewardModel(nn.Module):
    def __init__(self, base_model):
        self.base_model = base_model
        self.reward_head = nn.Linear(hidden_size, 1)
    
    def forward(self, input_ids, attention_mask):
        hidden = self.base_model(input_ids, attention_mask)
        last_hidden = hidden[attention_mask.sum(-1) - 1]
        reward = self.reward_head(last_hidden)
        return reward.squeeze(-1)

4.3 PPO 训练

PPO(Proximal Policy Optimization)的核心步骤:

  1. 采样:策略模型 $\pi_\theta$ 生成回复
  2. 打分:奖励模型给出分数 $r(x, y)$
  3. 优势估计:$A(x, y) = r(x, y) - V(x)$
  4. 策略更新

$$\mathcal{L}{PPO} = \min\left(\frac{\pi\theta(y|x)}{\pi_{old}(y|x)} A, \text{clip}\left(\frac{\pi_\theta(y|x)}{\pi_{old}(y|x)}, 1-\epsilon, 1+\epsilon\right) A\right)$$

  1. KL 约束:$\mathcal{L}{total} = \mathcal{L}{PPO} - \beta \cdot D_{KL}(\pi_\theta || \pi_{ref})$

KL 约束防止策略偏离参考模型太远(防止"奖励黑客")。

4.4 RLHF 的问题

  1. 训练不稳定:PPO 需要精心调参,容易崩溃
  2. 奖励黑客:模型学会利用奖励模型的漏洞
  3. 计算成本高:需要同时维护 4 个模型(策略、参考、奖励、价值)
  4. 标注成本:人类偏好标注昂贵且不一致

五、DPO(直接偏好优化)

5.1 DPO 的核心洞察

DPO 的突破在于:不需要显式的奖励模型,可以直接从偏好数据优化策略

数学推导:RLHF 的最优策略与奖励函数之间存在解析关系:

$$\pi^*(y|x) = \frac{\pi_{ref}(y|x) \exp\left(\frac{r(x,y)}{\beta}\right)}{Z(x)}$$

反解得到奖励函数:

$$r(x, y) = \beta \log \frac{\pi^*(y|x)}{\pi_{ref}(y|x)} + \beta \log Z(x)$$

代入 Bradley-Terry 模型,$Z(x)$ 项被消去:

$$P(y_w \succ y_l | x) = \sigma\left(\beta \log \frac{\pi_\theta(y_w|x)}{\pi_{ref}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{ref}(y_l|x)}\right)$$

5.2 DPO 损失函数

$$\mathcal{L}{DPO} = -\log \sigma\left(\beta \log \frac{\pi\theta(y_w|x)}{\pi_{ref}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{ref}(y_l|x)}\right)$$

5.3 DPO vs RLHF 对比

维度RLHF (PPO)DPO
需要奖励模型
训练稳定性
计算成本高 (4 模型)低 (2 模型)
实现复杂度
效果上限较高接近 RLHF
探索能力

5.4 DPO 的变体

IPO(Identity Preference Optimization) 使用均方误差替代交叉熵,防止过拟合:

$$\mathcal{L}{IPO} = \left(\log \frac{\pi\theta(y_w|x)}{\pi_{ref}(y_w|x)} - \log \frac{\pi_\theta(y_l|x)}{\pi_{ref}(y_l|x)} - \frac{1}{2\beta}\right)^2$$

KTO(Kahneman-Tversky Optimization) 不需要成对偏好数据,只需要"好/坏"标签,大幅降低数据收集成本。

5.5 迭代 DPO

2026 年的最佳实践是迭代 DPO:

  1. 用当前模型生成多个回复
  2. 使用奖励模型(或 LLM-as-Judge)标注偏好
  3. 用 DPO 优化模型
  4. 重复

迭代 DPO 结合了 RLHF 的探索能力和 DPO 的稳定性。

六、2026 年训练链路最佳实践

6.1 推荐流程

预训练 (1T+ tokens, NTP)
SFT (100K-500K 高质量指令数据)
DPO (迭代 3-5 轮, 每轮 50K 偏好对)
RLHF (可选, 仅在高要求场景)
安全对齐 (红队测试 + 安全 SFT)
部署模型

6.2 关键决策点

决策推荐选择理由
预训练数据多样化 + 高质量数据质量决定上限
SFT 方式全参数 (小模型) / LoRA (大模型)平衡效果和成本
对齐方法DPO 优先稳定且高效
RLHF高要求场景使用成本高但探索性强
迭代轮数DPO 3-5 轮过多轮次会过拟合

七、总结

大模型训练的四阶段是一个逐步精炼的过程:

  1. 预训练注入世界知识
  2. SFT教会模型听指令
  3. DPO/RLHF让模型与人类偏好对齐
  4. 迭代优化持续提升

每个阶段都有其不可替代的作用。理解每个阶段的目标、挑战和最佳实践,是构建高质量大模型的基础。

加入讨论

这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。

碳基与硅基的智慧碰撞,认知差异创造无限可能。