返回AI笔记
AI Day 3

AI Day 3: 训练过程深度 — Pre-training / SFT / RLHF / DPO

LLM训练是"从原始文本语料 → 可用的智能助手"的三阶段炼化过程:Pre-training建立知识基座,SFT教会交互格式,RLHF/DPO对齐人类偏好。

2026-04-05
Pre-trainingSFTRLHFDPOGRPOAlignmentScalingReasoning

日期:2026-04-05 阶段:第一阶段 — AI/LLM技术深潜 (Day 1-15) 标签Pre-training SFT RLHF DPO GRPO Alignment Scaling Laws Reasoning


学习路径树

AI/LLM 深度技术学习 50天计划
├── 第一阶段:模型基础 (Day 1-15)
│   ├── Day 1:  Transformer架构与LLM基础 ✅
│   ├── Day 2:  模型量化与本地部署 ✅
│   ├── Day 3:  训练过程深度:Pre-training / SFT / RLHF / DPO ← 你在这里
│   ├── Day 4:  Prompt Engineering与上下文学习(ICL)原理
│   ├── Day 5:  RAG架构:检索增强生成全链路
│   ├── Day 6:  向量数据库与Embedding模型
│   ├── Day 7:  Fine-tuning实战:LoRA / QLoRA / Adapter
│   ├── Day 8:  推理优化:vLLM / TensorRT-LLM / SGLang
│   ├── Day 9:  长上下文技术:RoPE扩展 / Ring Attention
│   ├── Day 10: 多模态模型:Vision-Language架构
│   ├── Day 11: Reasoning模型:CoT / o1 / R1 / Extended Thinking
│   ├── Day 12: Agent框架:ReAct / Tool Use / Planning
│   ├── Day 13: MCP协议与Tool生态
│   ├── Day 14: 模型评估:Benchmark / Arena / 安全评估
│   └── Day 15: 阶段复习与架构总结
│
├── 第二阶段:工程实践 (Day 16-30)
│   ├── Day 16-20: LLM应用架构设计(微服务/网关/缓存/监控)
│   ├── Day 21-25: 生产级RAG系统(Chunking/Rerank/评估/迭代)
│   └── Day 26-30: Agent系统工程化(状态管理/错误恢复/成本控制)
│
├── 第三阶段:金融零售AI应用 (Day 31-42)
│   ├── Day 31-35: 金融AI(风控模型/智能投顾/合规/反欺诈)
│   ├── Day 36-40: 零售AI(推荐系统/智能客服/供应链预测/营销)
│   └── Day 41-42: CeFi x DeFi x AI融合架构
│
└── 第四阶段:面试冲刺 (Day 43-50)
    ├── Day 43-46: 系统设计面试(LLM平台/RAG/Agent/推荐)
    ├── Day 47-49: 产品/架构面试模拟
    └── Day 50: 总结与作品集

今日目标

类型内容
学习深入理解LLM从预训练到对齐的完整训练流程,掌握各阶段目标和方法差异
重点Scaling Laws、DPO/GRPO新一代对齐方法、Reasoning模型训练前沿
产出训练全流程图 + 各阶段对比表 + 面试表达

一、核心概念

1.1 一句话定义

LLM训练是"从原始文本语料 → 可用的智能助手"的三阶段炼化过程:Pre-training建立知识基座,SFT教会交互格式,RLHF/DPO对齐人类偏好。

1.2 金融背景类比

Pre-training(预训练)= 金融专业本科教育
  → 广泛阅读教材、论文、新闻,建立金融知识体系
  → 什么都知道一点,但不会跟客户沟通

SFT(指令微调)= 银行入职培训
  → 学会标准话术、业务流程、报告格式
  → 能按规范回答问题,但不知道什么回答"更好"

RLHF/DPO(对齐)= 客户满意度反馈驱动的服务优化
  → 根据客户评价不断调整服务方式
  → 学会哪种回答让客户更满意、更安全、更有帮助

1.3 三阶段概览

┌─────────────────────────────────────────────────────────┐
│                    LLM 训练三阶段                        │
├──────────────┬──────────────┬───────────────────────────┤
│  Stage 1     │  Stage 2     │  Stage 3                  │
│  Pre-training│  SFT         │  Alignment (RLHF/DPO)     │
│              │              │                           │
│  海量文本    │  指令数据     │  人类偏好数据              │
│  ~15T tokens │  ~100K条     │  ~100K偏好对               │
│              │              │                           │
│  学会语言    │  学会格式     │  学会价值观                │
│  和知识      │  和遵循指令   │  和安全边界                │
│              │              │                           │
│  成本:$$$$$│  成本:$$     │  成本:$$$                │
│  (~$30-100M) │  (~$10K-100K)│  (~$100K-1M)              │
│              │              │                           │
│  数周-数月   │  数小时-数天  │  数天-数周                 │
└──────────────┴──────────────┴───────────────────────────┘

二、知识点1:Pre-training(预训练)

2.1 目标函数:Next Token Prediction

预训练的核心目标极其简单——给定前面所有token,预测下一个token:

目标函数:L(θ) = -Σ log P(xₜ | x₁, x₂, ..., xₜ₋₁ ; θ)

具体过程:

输入:  "The capital of France is"
目标:                              "Paris"

模型输出概率分布:
  P("Paris")   = 0.85  ← 正确答案,增加这个概率
  P("London")  = 0.05
  P("Berlin")  = 0.03
  P("the")     = 0.02
  ...

通过数万亿次这样的预测,模型内化了:
  → 语法规则("is"后面通常接名词)
  → 事实知识(法国首都是巴黎)
  → 推理模式(因果、逻辑链)
  → 编程能力(代码的结构模式)

2.2 训练数据(2025-2026最新)

数据集规模来源特点使用者
FineWeb15T tokensCommon Crawl精选HuggingFace出品,2024发布,最高质量公开数据开源社区首选
DCLM4T tokensCommon CrawlApple/UW合作,数据筛选方法论开源学术研究
RedPajama v230T tokens多源Together AI出品,含质量评分Llama复现
The Pile825GB22个高质量源EleutherAI经典,含学术论文/代码/维基GPT-NeoX等
StarCoder Data6.4T tokensGitHub代码BigCode项目,编程专用StarCoder/DeepSeek Coder
CulturaX6.3T tokensOSCAR+mC4167种语言,多语言模型训练多语言模型

商业模型的私有数据

GPT-4/Claude/Gemini 的训练数据(推测):
├── 公开网页(Common Crawl筛选后)    ~60%
├── 书籍(扫描+OCR+出版商授权)       ~15%
├── 学术论文(arXiv/PubMed/学术DB)    ~10%
├── 代码(GitHub/GitLab公开仓库)      ~10%
├── 专有数据(内部对话/标注数据)       ~5%
└── 合成数据(2025趋势:用强模型生成)  越来越多

2.3 数据清洗和去重的重要性

原始 Common Crawl ≈ 100T+ tokens(脏数据)
                    ↓ 多轮清洗
质量数据 ≈ 5-15T tokens(可用于训练)

清洗流程:
┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│ URL过滤   │ →  │ 语言检测  │ →  │ 质量打分  │ →  │ 去重     │
│ 去恶意网站│    │ 去非目标语│    │ 去低质内容│    │ MinHash  │
│ 去色情/垃圾│   │ 言种识别  │    │ Perplexity│    │ Exact/   │
│           │    │          │    │ 分类器过滤│    │ Near-dup │
└──────────┘    └──────────┘    └──────────┘    └──────────┘
                    ↓
            ┌──────────┐    ┌──────────┐
            │ PII脱敏   │ →  │ 毒性过滤  │ → 最终训练集
            │ 去个人信息 │    │ 去有害内容│
            └──────────┘    └──────────┘

关键发现(2024-2025多篇论文证实):
  → 数据质量 >> 数据数量
  → 去重能将性能提升 5-10%(减少记忆、促进泛化)
  → 数据中 0.1% 的有毒内容就能显著影响模型行为
  → FineWeb-Edu:仅筛选"教育性"内容,小数据集训出更好模型

2.4 训练基础设施:分布式训练

训练GPT-4级别的模型需要数千张GPU协同工作:

分布式训练三大并行策略:

1. 数据并行(Data Parallelism)
   ┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐
   │GPU 0 │  │GPU 1 │  │GPU 2 │  │GPU 3 │
   │模型副本│  │模型副本│  │模型副本│  │模型副本│
   │Batch 0│  │Batch 1│  │Batch 2│  │Batch 3│
   └──┬───┘  └──┬───┘  └──┬───┘  └──┬───┘
      └────────┴────────┴────────┘
              AllReduce 梯度同步

2. 张量并行(Tensor Parallelism)
   一个矩阵乘法拆到多张GPU:
   ┌─────────────────────┐
   │    Weight Matrix     │
   │  ┌────┬────┬────┐   │
   │  │GPU0│GPU1│GPU2│   │  同一层的权重按列/行拆分
   │  └────┴────┴────┘   │
   └─────────────────────┘

3. 流水线并行(Pipeline Parallelism)
   不同层放在不同GPU:
   GPU 0: [Layer 0-7]  → GPU 1: [Layer 8-15] → GPU 2: [Layer 16-23] → ...

主流框架(2025-2026):
┌──────────────────┬──────────────────────────────────────┐
│ 框架              │ 特点                                  │
├──────────────────┼──────────────────────────────────────┤
│ Megatron-LM      │ NVIDIA官方,3D并行(数据+张量+流水线)  │
│ DeepSpeed ZeRO   │ 微软,分阶段优化器状态分片             │
│ FSDP (PyTorch)   │ Meta,全分片数据并行,原生PyTorch集成   │
│ Colossal-AI      │ 开源,自动并行策略搜索                 │
│ MegaScale        │ 字节跳动,10000+ GPU训练框架           │
└──────────────────┴──────────────────────────────────────┘

DeepSpeed ZeRO 三阶段:
  ZeRO-1: 优化器状态分片 → 显存省4x
  ZeRO-2: + 梯度分片     → 显存省8x
  ZeRO-3: + 参数分片     → 显存省N×(N=GPU数量)

2.5 训练成本估算

模型参数量训练tokensGPU训练时间估算成本
Llama 2 70B70B2T2000x A100~3个月~$25M
Llama 3 405B405B15T16000x H100~2个月~$60-100M
GPT-4 (推测)~1.8T MoE~13T25000x A100~3个月~$100M+
DeepSeek V3671B MoE14.8T2048x H800~2个月~$5.5M
Qwen 2.5 72B72B~18T未公开未公开~$20-30M

DeepSeek的训练效率突破(2025最重要的发现之一)

  • DeepSeek V3用了仅$5.5M训练成本达到GPT-4级性能
  • 核心技术:FP8混合精度训练 + Multi-head Latent Attention + 高效MoE路由
  • 证明:算法优化可以10-20x降低训练成本

2.6 Scaling Laws详解

Kaplan Scaling Laws (2020, OpenAI):
  L(N, D) ∝ N^(-0.076) + D^(-0.095)

  N = 模型参数量, D = 训练数据量, L = Loss

  含义:模型越大、数据越多,Loss越低(对数线性关系)

Chinchilla Optimal (2022, DeepMind):
  最优训练:N 和 D 按 1:20 比例扩展
  即:1B参数模型应该训练20B tokens
     70B参数模型应该训练1.4T tokens

  结论:之前的大模型都"训练不足"(参数多但数据少)

参数量(N)    Chinchilla最优数据(D)    实际训练(2025)
──────────  ────────────────────    ──────────────
1B           20B tokens              远超此数
7B           140B tokens             2-10T tokens ← 远超最优
70B          1.4T tokens             15T tokens
405B         8T tokens               15T tokens

DeepSeek的新发现(2024-2025):
  → 远超Chinchilla最优数据量继续训练仍有收益
  → 小模型 + 更多数据 > Chinchilla预测的最优配比
  → "Inference-time compute scaling" 是新方向
    (不增加参数,增加推理时的计算量来提升性能)

2.7 Curriculum Learning与Data Mixing

并非所有数据平等混合训练,而是精心设计配比和顺序:

典型 Data Mix(Llama 3为例):
┌─────────────────────────────────┐
│  网页文本        50%             │ ████████████████████
│  代码            25%             │ ██████████
│  学术/书籍       10%             │ ████
│  数学            8%              │ ███
│  多语言          5%              │ ██
│  对话数据        2%              │ █
└─────────────────────────────────┘

Curriculum Learning(课程学习):
  Phase 1: 大量通用文本 → 建立语言基础
  Phase 2: 提高代码和数学比例 → 增强推理能力
  Phase 3: 增加高质量/教育性内容 → 精炼知识
  Phase 4: 加入最新数据 → 更新知识截止日期

2025-2026趋势:
  → "Data is the new algorithm":数据配比比模型架构更重要
  → Annealing(退火):训练末期用极高质量数据做最后冲刺
  → 合成数据越来越重要:用GPT-4/Claude生成训练数据

三、知识点2:SFT(Supervised Fine-Tuning / 指令微调)

3.1 为什么预训练后的模型不能直接用

预训练模型(Base Model)只学会了"接龙"——续写文本:

用户输入:"什么是通货膨胀?"

Base Model 输出:
  "什么是通货膨胀率?通货膨胀率是一个经济指标,
   用于衡量一段时间内物价水平的变化..."
  → 它在"续写"你的问题,不是在"回答"

Chat Model 输出(SFT后):
  "通货膨胀是指一般物价水平持续上升的经济现象。
   具体来说:
   1. 定义:...
   2. 原因:...
   3. 影响:..."
  → 理解了"这是一个问题,需要给出结构化回答"

SFT 的本质:教模型理解"对话"这种格式
  → 用户的输入是"指令"(不是要续写的文本)
  → 模型的输出应该是"回答"(不是续写内容)
  → 需要遵循特定格式(Markdown、代码块、列表等)

3.2 SFT数据格式

三种主流格式:

1. Alpaca格式(Instruction-Input-Output)
{
  "instruction": "将以下英文翻译为中文",
  "input": "The Federal Reserve raised interest rates by 25 basis points.",
  "output": "美联储将利率上调了25个基点。"
}

2. ChatML格式(OpenAI标准)
<|im_start|>system
你是一个专业的金融分析师。<|im_end|>
<|im_start|>user
解释什么是量化宽松?<|im_end|>
<|im_start|>assistant
量化宽松(QE)是央行通过大规模购买政府债券...<|im_end|>

3. ShareGPT格式(多轮对话)
{
  "conversations": [
    {"from": "human", "value": "什么是DeFi?"},
    {"from": "gpt", "value": "DeFi是去中心化金融..."},
    {"from": "human", "value": "和传统金融有什么区别?"},
    {"from": "gpt", "value": "主要区别在于..."}
  ]
}

3.3 LIMA发现:质量 >> 数量

LIMA论文 (Meta, 2023):
  仅用 1,000 条高质量SFT数据 → 性能接近用65K条数据的模型

  "Less Is More for Alignment"

关键洞察:
┌──────────────────────────────────────────────────────────┐
│  数据量    │  数据质量   │  模型表现                       │
├───────────┼───────────┼────────────────────────────────┤
│  100K条   │  低(自动生成)│  一般,格式正确但内容浅         │
│  10K条    │  中(GPT生成) │  不错,大部分场景可用           │
│  1K条     │  极高(人工精标)│  出色,质量接近大量数据训练     │
└───────────┴───────────┴────────────────────────────────┘

结论:SFT不是在"教模型知识",而是在"激活预训练已有的能力"
     → 预训练已经学会了知识
     → SFT只是教模型"用对话格式输出这些知识"
     → 因此不需要海量数据,只需要高质量示范

3.4 数据生成方法(2025-2026最新)

1. Self-Instruct (Stanford, 2023)
   用模型自己生成指令+回答 → 自举式数据扩展
   GPT-4 → 生成10万条指令 → 过滤低质 → SFT训练小模型

2. Evol-Instruct (WizardLM, 2023)
   对种子指令进行"进化"——加深、加广、加约束
   简单问题 → 复杂化 → 多步骤 → 带约束条件

3. 合成数据 Pipeline(2025主流做法):

   ┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
   │ 种子任务   │ →  │ 强模型生成 │ →  │ 质量过滤  │ →  │ SFT训练  │
   │ 人工设计   │    │ GPT-4/Claude│   │ 打分/去重 │    │ 目标模型 │
   │ 100-1000条│    │ 扩展至10万+│    │ 保留Top-K │    │ 7B/13B  │
   └──────────┘    └──────────┘    └──────────┘    └──────────┘

   2025-2026趋势:
   → Magpie (2024): 从模型的自然分布采样生成SFT数据
   → Persona-driven: 给模型设定不同人设生成多样化数据
   → 领域专精:金融/医疗/法律专用SFT数据集

3.5 SFT的局限性

SFT教会了"格式",但没有教"价值观":

场景1:用户问"如何制作炸弹"
  SFT模型:会用完美格式详细回答(因为它学的是"回答问题")
  对齐模型:拒绝回答并解释原因

场景2:用户问"X和Y哪个好"
  SFT模型:可能给出随机答案(训练数据中有各种观点)
  对齐模型:给出平衡分析,承认不确定性

SFT的核心限制:
  → 只学了P(output|input),但不知道哪个output"更好"
  → 无法区分"正确但有害"和"正确且安全"的回答
  → 不会拒绝、不会说"我不知道"、不会考虑安全性

  → 需要 Stage 3:对齐(Alignment)

四、知识点3:RLHF(Reinforcement Learning from Human Feedback)

4.1 为什么需要对齐(Alignment)

"对齐问题"的核心:让模型的行为符合人类的意图和价值观

三个对齐目标(HHH框架):
  H - Helpful(有帮助):给出有用、准确、相关的回答
  H - Honest(诚实):不编造、承认不确定性、不误导
  H - Harmless(无害):拒绝危险请求、不产生偏见内容

为什么简单的监督学习(SFT)不够?
  → 定义"好回答"很难:不同人对同一问题的"最佳回答"看法不同
  → 写出完美回答很难:但"比较两个回答哪个更好"很容易
  → 这就是RLHF的核心思路:用人类偏好比较来训练模型

4.2 RLHF三步骤

Step 1: SFT(已完成)
  → 得到一个能对话的基础模型 π_SFT

Step 2: 训练 Reward Model(奖励模型)

  对同一个问题,让模型生成多个回答:

  问题:"如何投资股票?"
  回答A:"先开证券账户,学习基本面分析..."(详细、准确)
  回答B:"建议全仓买XX股票..."(片面、有风险)

  人类标注员标注:A > B(A比B好)

  收集数万对这样的偏好数据 → 训练Reward Model

  Reward Model 学会:给"好回答"高分,给"差回答"低分

  ┌─────────────┐
  │ Reward Model │
  │              │
  │ 输入:(问题,  │    输出:
  │       回答)  │ →  标量奖励值 r ∈ R
  │              │    r(A) = 0.8(好)
  │              │    r(B) = 0.2(差)
  └─────────────┘

  损失函数:L_RM = -E[log σ(r(y_w) - r(y_l))]
  y_w = 人类偏好的回答(winner)
  y_l = 人类不偏好的回答(loser)

Step 3: PPO优化(Proximal Policy Optimization)

  ┌───────────┐    ┌───────────┐    ┌───────────┐
  │  问题 x    │ →  │ 当前模型π │ →  │  回答 y   │
  └───────────┘    └───────────┘    └─────┬─────┘
                                          │
                                          ↓
                                   ┌──────────────┐
                                   │ Reward Model  │
                                   │ r(x, y) = 分数│
                                   └──────┬───────┘
                                          │
                                          ↓
                              ┌──────────────────────┐
                              │  PPO 更新模型参数      │
                              │  最大化 r(x,y)         │
                              │  但不要偏离 π_SFT 太远  │
                              │  (KL散度约束)           │
                              └──────────────────────┘

  PPO目标函数:
  max_π E[r(x,y) - β·KL(π || π_SFT)]

  关键:KL散度惩罚项防止模型为了讨好Reward Model
       而生成"高分但无意义"的内容(Reward Hacking)

4.3 RLHF完整流程图

                        RLHF 完整训练流程

 ┌─────────────────────────────────────────────────────────────────┐
 │                                                                 │
 │  Phase 1: 数据收集                                              │
 │  ┌──────────┐      ┌──────────────┐      ┌──────────────┐     │
 │  │ SFT模型   │  →   │ 生成多个回答   │  →   │ 人类标注偏好  │     │
 │  │ (π_SFT)  │      │ 对同一问题    │      │ A > B        │     │
 │  └──────────┘      └──────────────┘      └──────┬───────┘     │
 │                                                  │              │
 │  Phase 2: Reward Model 训练                      ↓              │
 │  ┌──────────────────────────────────────────────────────────┐  │
 │  │  偏好数据 {(x, y_w, y_l)} → 训练 → Reward Model r(x,y) │  │
 │  └──────────────────────────────────────────┬───────────────┘  │
 │                                              │                  │
 │  Phase 3: PPO 强化学习                        ↓                  │
 │  ┌──────────────────────────────────────────────────────────┐  │
 │  │  循环:                                                   │  │
 │  │    1. 采样问题 x                                          │  │
 │  │    2. 当前模型生成回答 y ~ π(·|x)                          │  │
 │  │    3. Reward Model 打分 r(x,y)                            │  │
 │  │    4. PPO 更新 π(最大化奖励 - KL惩罚)                     │  │
 │  │    5. 重复数万次                                           │  │
 │  └──────────────────────────────────────────────────────────┘  │
 │                                                                 │
 └─────────────────────────────────────────────────────────────────┘

4.4 RLHF的问题

问题1:成本极高
  → 需要大量人工标注偏好数据($10-50/小时的标注员)
  → 需要同时维护4个模型(SFT模型、Reward Model、PPO模型、参考模型)
  → 训练不稳定,超参数敏感

问题2:Reward Hacking(奖励欺骗)
  → 模型学会"讨好"Reward Model而非真正变好
  → 例:生成冗长但空洞的回答可能获得高奖励分
  → 例:过度使用"我理解你的感受"等套话

问题3:训练不稳定
  → PPO本身就是不稳定的RL算法
  → 奖励信号稀疏且有噪声
  → 训练容易崩溃或收敛到退化策略

问题4:标注员分歧
  → 不同标注员对"好回答"定义不同
  → 文化差异、专业背景差异导致标注不一致
  → 标注质量参差不齐

这些问题催生了 DPO 等更简单的方法 →

五、知识点4:DPO / GRPO / 新一代对齐方法

5.1 DPO(Direct Preference Optimization)

DPO的核心洞察(2023, Rafailov等):

  RLHF 需要:训练Reward Model → PPO优化 → 复杂的RL循环
  DPO 证明:可以直接用偏好数据优化模型,不需要Reward Model!

  数学原理:
  RLHF的最优解可以解析地推导出:
    π*(y|x) ∝ π_ref(y|x) · exp(r(x,y) / β)

  反过来:
    r(x,y) = β · log[π*(y|x) / π_ref(y|x)] + const

  把这个代入偏好损失函数,得到DPO损失:
  L_DPO = -E[log σ(β · log(π(y_w|x)/π_ref(y_w|x))
                   - β · log(π(y_l|x)/π_ref(y_l|x)))]

  直觉解释:
    → 增加"好回答"(y_w)的概率
    → 降低"差回答"(y_l)的概率
    → 同时不要偏离参考模型(π_ref)太远

DPO 训练流程(极大简化):

  ┌──────────────┐     ┌──────────────┐
  │ 偏好数据       │     │ 参考模型      │
  │ (x, y_w, y_l) │     │ π_ref (冻结)  │
  └──────┬───────┘     └──────┬───────┘
         │                     │
         ↓                     ↓
  ┌────────────────────────────────────┐
  │        DPO Loss 计算                │
  │  直接优化模型π的参数                 │
  │  不需要Reward Model                 │
  │  不需要PPO                          │
  │  就是普通的监督学习!                 │
  └────────────────────────────────────┘
         │
         ↓
  ┌──────────────┐
  │ 对齐后的模型   │
  │ π_aligned     │
  └──────────────┘

5.2 DPO vs RLHF 对比

维度RLHF (PPO)DPO
需要Reward Model
算法复杂度高(RL循环)低(监督学习)
训练稳定性不稳定,超参敏感稳定,类似SFT
同时需要的模型数4个2个(当前+参考)
显存需求极高中等
训练速度慢(RL采样)
Reward Hacking严重较轻
最终效果略好(理论上限高)接近RLHF
工程实现难度极高低(几十行代码)
2025-2026趋势逐渐被取代成为主流

5.3 GRPO(Group Relative Policy Optimization)

GRPO — DeepSeek R1 使用的核心训练方法(2025年最重要的突破之一)

核心思想:
  → DPO需要事先准备好偏好对(y_w, y_l)
  → GRPO在训练时让模型自己生成一组回答,用组内相对排名作为奖励信号

  具体流程:
  1. 给定问题 x
  2. 当前模型生成 G 个回答 {y₁, y₂, ..., y_G}
  3. 用规则/验证器给每个回答打分(数学题可以验证答案对错)
  4. 在组内计算相对优势:Advantage_i = (score_i - mean) / std
  5. 用相对优势更新模型:增加"组内较好"回答的概率

  ┌──────────┐     生成G个回答     ┌──────────────┐
  │ 问题 x    │ ──────────────→  │ y₁(正确,得8分)│
  │           │                  │ y₂(错误,得2分)│
  │           │                  │ y₃(正确,得7分)│
  └──────────┘                  │ y₄(错误,得1分)│
                                └──────┬───────┘
                                       │ 组内归一化
                                       ↓
                                y₁: Advantage = +1.2
                                y₂: Advantage = -0.5
                                y₃: Advantage = +0.8
                                y₄: Advantage = -1.5
                                       │
                                       ↓
                                增加y₁,y₃的概率
                                降低y₂,y₄的概率

GRPO优势:
  → 不需要单独的Reward Model
  → 不需要人工标注偏好对
  → 特别适合有客观评判标准的任务(数学/代码/逻辑)
  → DeepSeek R1用纯RL(GRPO)从零训练出了推理能力

5.4 其他新一代对齐方法

方法提出者核心思想状态(2025-2026)
DPOStanford (2023)直接偏好优化,去掉RM业界主流
GRPODeepSeek (2025)组内相对排名,自生成数据R1验证,快速普及
KTOEthayarajh (2024)不需要偏好对,只需"好/坏"标签数据需求最低
IPOAzar等 (2023)修正DPO的过拟合问题学术研究
ORPOHong等 (2024)SFT+对齐一步完成效率最高
SimPOMeng等 (2024)简化DPO,无需参考模型新兴方法
RLAIFGoogle (2024)用AI替代人工标注偏好大规模应用

5.5 Constitutional AI(Anthropic/Claude的方法)

Anthropic的Constitutional AI(2022-2023):

核心思路:用一组"宪法原则"(Constitution)替代人工标注

流程:
  1. 让模型生成回答(可能有害)
  2. 让模型自己用"宪法原则"评价和修改回答
  3. 用修改后的数据做SFT
  4. 用模型自己的偏好判断做RLHF(RLAIF)

宪法原则示例:
  - "请选择最有帮助、最诚实、最无害的回答"
  - "请选择不会鼓励非法行为的回答"
  - "请选择尊重用户隐私的回答"

优势:
  → 减少人工标注成本
  → 原则可解释、可审计、可更新
  → Claude的安全性很大程度来自这个方法

2025-2026演进:
  → "System Prompt as Constitution":每次对话的系统提示就是一套微型宪法
  → 多层级对齐:公司原则 > 应用原则 > 用户偏好

六、知识点5:Reasoning模型的训练(2025-2026前沿)

6.1 为什么这是最重要的方向

2025-2026 AI领域最大的技术变革:
  从"模式匹配"到"真正的推理"

传统LLM:看到问题 → 直接输出答案(System 1,快思考)
Reasoning Model:看到问题 → 思考推理过程 → 输出答案(System 2,慢思考)

类比:
  传统LLM = 经验丰富的银行柜员(凭直觉快速回答)
  Reasoning Model = 投资分析师(深度分析后给出结论)

6.2 OpenAI o1/o3 的训练方式(推测)

OpenAI o1/o3/o4-mini 训练流程(基于公开信息推测):

Step 1: 正常预训练 + SFT
Step 2: 大规模Chain-of-Thought数据训练
  → 收集人类专家的详细推理过程
  → 用强模型生成推理链

Step 3: 强化学习优化推理质量
  → Reward = 最终答案正确性
  → 模型学会"多想一步"能得到更好答案
  → 推理时间越长,准确率越高

关键特征:
  → "Test-time compute scaling":推理时投入更多算力 → 更好结果
  → 隐藏推理过程(用户看不到内部思考)
  → 在数学、代码、科学推理上大幅超越GPT-4

6.3 DeepSeek R1:纯RL训练出推理能力的突破

DeepSeek R1 (2025.01) — 开源推理模型的里程碑

最震撼的发现:
  → 不需要任何人工标注的推理数据
  → 纯粹用RL(GRPO)就能让模型"学会思考"

训练流程:

┌──────────────────────────────────────────────────────┐
│ DeepSeek R1 训练 Pipeline                            │
│                                                      │
│  DeepSeek V3 Base                                    │
│       ↓                                              │
│  Step 1: 冷启动SFT                                   │
│    少量高质量CoT数据(数千条)                          │
│    让模型学会"思考格式":<think>...</think>             │
│       ↓                                              │
│  Step 2: RL with GRPO                                │
│    纯强化学习,无人工偏好数据                            │
│    数学/代码:用验证器判断对错                           │
│    开放题:用规则判断格式质量                            │
│       ↓                                              │
│  关键发现:                                            │
│    → 模型自发出现"Aha moment"                         │
│    → 自己学会检查、回溯、纠错                           │
│    → 推理链越来越长、越来越准确                         │
│       ↓                                              │
│  Step 3: Rejection Sampling + SFT                    │
│    用RL模型生成大量推理数据                             │
│    筛选正确的 → 做SFT → 稳定输出质量                   │
│       ↓                                              │
│  Step 4: 最终RL对齐                                   │
│    同时优化"有帮助"和"安全"                             │
└──────────────────────────────────────────────────────┘

"Aha Moment":
  训练过程中,模型突然开始输出:
  "Wait, let me reconsider this..."
  "Actually, my previous step was wrong because..."
  → 自发学会了自我反思和纠错,没有任何人教过它!

6.4 Claude Extended Thinking

Anthropic Claude 3.5/4 的Extended Thinking:

与o1/R1的区别:
  → 思考过程对用户可见(透明性)
  → 用户可以设置思考预算(budget tokens)
  → 用streaming逐步展示思考过程

技术特点(推测):
  → Constitutional AI + Reasoning训练结合
  → 思考过程也受安全对齐约束
  → 支持工具调用中的推理("我需要先查询X,再计算Y")

6.5 PRM vs ORM

Process Reward Model (PRM) vs Outcome Reward Model (ORM)

ORM(结果奖励):
  只看最终答案对不对
  问题:"2+3×4=?"  回答:"14" → 奖励 = 1(正确)

  缺点:推理过程错误但恰好答案对 → 仍然给高奖励
        不知道是哪一步出了错

PRM(过程奖励):
  评估推理的每一步是否正确

  Step 1: "先算乘法 3×4=12"  → 正确 ✓ (+1)
  Step 2: "再算加法 2+12=14"  → 正确 ✓ (+1)

  vs.

  Step 1: "从左到右 2+3=5"    → 错误 ✗ (-1)  ← 定位到错误步骤
  Step 2: "5×4=20"            → 基于错误的Step 1

PRM的优势:
  → 更精确的反馈信号(哪一步错了)
  → 训练更稳定(不被正确答案的巧合误导)
  → 是Reasoning模型的核心组件

2025-2026进展:
  → OpenAI发布了PRM800K数据集
  → "Let's Verify Step by Step" 论文证实PRM >> ORM
  → PRM + MCTS(蒙特卡洛树搜索)= 搜索最佳推理路径
  → 但PRM标注成本极高,正在研究自动PRM生成

6.6 Reinforcement Learning on Chain-of-Thought

RL on CoT = 用强化学习优化整个推理链

核心idea:
  不只是优化最终答案,而是优化"如何思考"

传统RL:  State → Action → Reward
CoT RL:  Problem → Think Step 1 → Think Step 2 → ... → Answer → Reward
         ↑                                                        │
         └────────────── 信用分配(哪一步贡献了最终正确性)──────────┘

2025-2026最新方法:
  → STaR (Self-Taught Reasoner): 用模型自己的正确推理做自我训练
  → STILL (Search to Improve LLM): 搜索+RL结合优化推理
  → Quiet-STaR: 在每个token生成时都做内部推理

为什么重要(PM视角):
  → 推理模型将改变"AI能做什么"的边界
  → 从"回答简单问题"到"解决复杂多步骤问题"
  → 金融领域:多步骤财务分析、合规推理、投资决策推理
  → 产品设计:需要考虑"思考时间"和"思考预算"的UX

七、知识点6:训练全流程总结

7.1 从原始数据到部署的完整Pipeline

┌─────────────────────────────────────────────────────────────────────┐
│                    LLM 完整训练与部署 Pipeline                       │
│                                                                     │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ Stage 0: 数据准备                                             │  │
│  │  网页爬取 → 清洗去重 → 质量过滤 → PII脱敏 → 毒性过滤           │  │
│  │  产出:5-15T tokens 高质量文本                                  │  │
│  └──────────────────────────────────┬───────────────────────────┘  │
│                                      ↓                              │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ Stage 1: Pre-training(预训练)                                │  │
│  │  目标:Next Token Prediction                                   │  │
│  │  数据:5-15T tokens | GPU:数千张 | 时间:数周-数月              │  │
│  │  产出:Base Model(会语言和知识,但不会对话)                     │  │
│  └──────────────────────────────────┬───────────────────────────┘  │
│                                      ↓                              │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ Stage 2: SFT(指令微调)                                       │  │
│  │  目标:学会对话格式和遵循指令                                    │  │
│  │  数据:10K-100K条高质量指令对 | GPU:8-64张 | 时间:数小时-数天    │  │
│  │  产出:Chat Model(会对话,但没有价值观)                         │  │
│  └──────────────────────────────────┬───────────────────────────┘  │
│                                      ↓                              │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ Stage 3: Alignment(对齐)                                     │  │
│  │  方法:RLHF / DPO / GRPO / Constitutional AI                  │  │
│  │  数据:10K-100K偏好对 | GPU:16-128张 | 时间:数天-数周          │  │
│  │  产出:Aligned Model(有帮助、诚实、无害)                       │  │
│  └──────────────────────────────────┬───────────────────────────┘  │
│                                      ↓                              │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ Stage 3.5: Reasoning训练(可选,2025新增)                      │  │
│  │  方法:RL on CoT / GRPO / PRM                                  │  │
│  │  数据:数学/代码/逻辑验证集 | GPU:64-256张 | 时间:数天-数周     │  │
│  │  产出:Reasoning Model(深度思考能力)                           │  │
│  └──────────────────────────────────┬───────────────────────────┘  │
│                                      ↓                              │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │ Stage 4: 后处理与部署                                          │  │
│  │  量化(GPTQ/AWQ/GGUF) → 安全测试 → API部署(vLLM/TGI)       │  │
│  │  监控(延迟/成本/安全) → 持续迭代                               │  │
│  └──────────────────────────────────────────────────────────────┘  │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

7.2 各阶段数据量 / 计算量 / 成本对比

阶段数据量数据类型GPU需求训练时间估算成本
Pre-training5-15T tokens原始文本2000-16000x H1001-3个月$5M-100M
SFT10K-100K条指令-回答对8-64x A100/H100数小时-数天$1K-100K
RLHF (PPO)50K-200K偏好对人类偏好标注64-256x A100/H100数天-数周$100K-1M
DPO50K-200K偏好对偏好对8-64x A100/H100数小时-数天$10K-100K
GRPO自生成模型自产+验证64-256x A100/H100数天-数周$50K-500K
Reasoning RL自生成+验证CoT+答案验证128-512x H1001-4周$200K-2M
量化+部署N/AN/A1-8x GPU数小时<$1K

7.3 开源训练技术栈(2025-2026)

完整的开源LLM训练技术栈:

┌─────────────────────────────────────────────────────────┐
│  数据准备层                                              │
│  ├── datatrove (HuggingFace) — 大规模数据处理Pipeline     │
│  ├── dolma (AI2) — 数据清洗去重                          │
│  └── RedPajama — 数据集+清洗工具                         │
├─────────────────────────────────────────────────────────┤
│  预训练层                                                │
│  ├── Megatron-LM (NVIDIA) — 3D并行训练                   │
│  ├── DeepSpeed (Microsoft) — ZeRO优化器                  │
│  ├── FSDP (PyTorch) — 全分片数据并行                     │
│  ├── NeMo (NVIDIA) — 端到端训练框架                      │
│  └── Nanotron (HuggingFace) — 轻量级预训练               │
├─────────────────────────────────────────────────────────┤
│  SFT / 对齐层                                            │
│  ├── TRL (HuggingFace) — SFT/DPO/PPO/ORPO全支持         │
│  ├── OpenRLHF — 高性能RLHF训练(支持GRPO)               │
│  ├── Axolotl — 配置化SFT训练                             │
│  ├── LLaMA-Factory — 一站式微调(100+模型/50+方法)       │
│  └── Alignment Handbook (HF) — 对齐训练最佳实践           │
├─────────────────────────────────────────────────────────┤
│  监控与评估层                                             │
│  ├── Weights & Biases (WandB) — 训练监控                 │
│  ├── lm-eval-harness (EleutherAI) — 标准化评估           │
│  └── Open LLM Leaderboard — 公开排行榜                   │
├─────────────────────────────────────────────────────────┤
│  部署层                                                  │
│  ├── vLLM — 高性能推理                                   │
│  ├── TGI (HuggingFace) — 生产级推理服务                  │
│  ├── Ollama — 本地一键部署                               │
│  └── llama.cpp — CPU/GPU混合推理                         │
└─────────────────────────────────────────────────────────┘

7.4 2025-2026训练趋势总结

趋势1:数据 > 算力 > 模型架构
  → 同样的钱,投在数据质量上回报最高
  → DeepSeek V3证明:好算法可以10x降低训练成本

趋势2:DPO系列正在取代RLHF
  → 更简单、更稳定、成本更低、效果接近
  → 但最顶尖的模型(Claude/GPT)仍然用RLHF + DPO混合

趋势3:Reasoning训练是最大突破
  → o1/o3/R1证明"思考"可以被训练出来
  → 不需要更大的模型,只需要更多的推理时间计算
  → "Inference-time compute scaling" 成为新的Scaling Law

趋势4:合成数据成为主流
  → 用强模型生成弱模型的训练数据
  → "Model Collapse"风险:递归合成可能降低多样性
  → 解决方案:始终混合真实人类数据

趋势5:多阶段训练变得更复杂
  Pre-training → SFT → DPO → Reasoning RL → Safety RL → ...
  → 每个阶段的"灾难性遗忘"是关键挑战
  → 需要精心设计训练顺序和学习率策略

趋势6:Post-training越来越重要
  → 同一个Base Model,不同的Post-training → 天差地别的最终效果
  → 例:Llama 3 Base vs Chat vs Instruct,差距巨大
  → Post-training正在变成核心竞争力(而非预训练本身)

八、今日思考

Q1:为什么DeepSeek R1能用$5.5M训练出GPT-4级别的模型?这对行业意味着什么?

回答

DeepSeek的成本优势来自三个层面:

  1. 算法效率:FP8混合精度训练减少一半计算量;Multi-head Latent Attention(MLA)大幅降低KV Cache;高效MoE路由让671B参数模型实际只激活37B
  2. 数据效率:远超Chinchilla比例训练(更多数据+更小激活参数),证明了小模型+更多数据的路线
  3. GRPO替代RLHF:不需要昂贵的人工偏好标注,用数学/代码验证器自动评判

对行业的影响:

  • AI民主化加速:$5M级别的训练成本让中小公司和学术机构也能参与前沿模型训练
  • 开源追平闭源:R1在数学/代码上与o1持平,打破了"最好的模型必须来自大公司"的认知
  • 训练方法论比算力更重要:不是谁GPU多谁赢,而是谁的方法更聪明

Q2:SFT数据质量为什么比数量重要?这对产品团队有什么启示?

回答

LIMA论文证明1000条高质量数据约等于100K条低质量数据。原因是SFT本质上不是在"教模型新知识",而是在"激活预训练已有能力的新表达方式"。预训练阶段模型已经学会了世界知识,SFT只是教它"用对话格式输出"。

对产品团队的启示:

  • 精标 > 众标:10个领域专家标注的数据 > 1000个众包标注
  • 合成数据的正确用法:用GPT-4/Claude生成初始数据 → 人工筛选纠错 → 再用来训练
  • 领域SFT的低门槛:金融垂直模型不需要海量数据,只需100-1000条高质量金融对话即可显著提升
  • 数据飞轮:收集用户真实交互 → 筛选优质样本 → 持续迭代SFT

Q3:RLHF/DPO对齐后模型仍然会产生幻觉和有害输出,如何在产品层面弥补?

回答

对齐不是完美的,它降低了风险但没有消除。产品层面的补充措施:

  1. 输出过滤层:在模型输出后增加安全分类器,拦截有害内容(类似Content Moderation API)
  2. RAG增强事实性:不完全依赖模型记忆,用检索增强减少幻觉
  3. 人机协作设计:关键决策让人类确认(金融交易确认、医疗诊断复核)
  4. 可解释性:让模型引用来源、展示推理过程(Extended Thinking),用户可验证
  5. 持续反馈闭环:收集用户"踩"的反馈 → 生成新的DPO偏好对 → 迭代对齐

九、面试表达

Q:请解释LLM的训练过程,从预训练到对齐

30秒版本

LLM训练分三阶段。Pre-training用数万亿token做Next Token Prediction,让模型学会语言和知识,成本最高但建立了基座能力。SFT用数万条指令-回答对教模型对话格式,本质是"激活"预训练能力。最后用RLHF或DPO做对齐,让模型符合人类偏好——有帮助、诚实、无害。2025年最大突破是DeepSeek R1用GRPO纯RL训练出了推理能力,不需要人工标注数据。

2分钟版本

Pre-training:目标是Next Token Prediction,用5-15T tokens的文本训练,需要数千张GPU、数周到数月。核心是Scaling Laws——模型越大、数据越多越好,但DeepSeek证明算法效率同样关键,用$5.5M达到了$100M级别模型的性能。数据质量比数量更重要,FineWeb等高质量数据集的出现改变了游戏规则。

SFT:预训练模型只会"接龙",不会对话。SFT用高质量指令数据教模型理解"用户在提问,我要回答"。LIMA论文发现1000条高质量数据就足够,因为SFT不是教知识,而是激活格式能力。2025年合成数据成为主流——用强模型生成、人工筛选。

Alignment:SFT模型会回答但没有价值判断。RLHF用人类偏好训练Reward Model再PPO优化,但成本高且不稳定。DPO直接用偏好数据优化,去掉了Reward Model,更简单稳定。DeepSeek的GRPO更进一步——模型自己生成一组回答,用组内相对排名作为奖励,特别适合数学和代码场景。

最前沿是Reasoning训练——DeepSeek R1用纯RL让模型自发学会了反思和纠错,出现了"Aha moment"。这代表了从"模式匹配"到"真正推理"的范式转变。

追问准备

Q:DPO和RLHF的本质区别是什么? DPO数学上等价于RLHF(可以从RLHF的最优解推导出DPO目标函数),但实现上从复杂的RL循环简化为普通监督学习。不需要Reward Model,同时维护的模型从4个降为2个,训练稳定性大幅提升。代价是理论上的表达能力略低——RLHF可以在线探索新的response空间,DPO只能在已有偏好数据上优化。实际效果2025年的实验表明差距很小。

Q:什么是Reward Hacking?如何解决? 模型学会了"讨好"Reward Model而非真正变好。比如生成冗长但空洞的回答获得高分、过度使用"我理解你的感受"等安全套话。解决方案包括:KL散度约束(不偏离原模型太远)、定期更新Reward Model、用多个RM投票、Constitutional AI的原则约束。DPO因为没有显式的RM,天然减轻了这个问题。

Q:如何为金融场景定制对齐? 金融场景需要特殊的对齐目标:数据准确性 > 创造性、合规性 > 便利性、风险提示 > 用户满意度。具体做法:(1) 金融专家标注偏好数据,优先选择引用来源的回答;(2) 加入合规约束作为Constitutional AI原则;(3) 对数值输出增加置信度标注。


十、学习资源

核心论文

论文年份重要性说明
Training language models to follow instructions with human feedback2022必读InstructGPT论文,RLHF奠基之作
Direct Preference Optimization2023必读DPO论文,改变了对齐方法论
DeepSeek-R1: Incentivizing Reasoning Capability2025必读GRPO + 纯RL推理训练
LIMA: Less Is More for Alignment2023推荐SFT数据质量的重要性
Scaling Data-Constrained Language Models2023推荐Scaling Laws新发现
Constitutional AI2022推荐Anthropic的对齐方法
Let's Verify Step by Step2023推荐PRM vs ORM

技术博客

资源说明
HuggingFace RLHF Blog图解RLHF,入门必读
Chip Huyen: RLHF系列文章深入浅出RLHF
Sebastian Raschka: LLM训练全景系统化LLM技术文章
Lilian Weng: RLHF blog技术深度最佳博客之一
DeepSeek技术报告R1完整技术细节

视频教程

资源说明
Andrej Karpathy: Let's build GPT从零实现预训练,经典
3Blue1Brown: Attention机制可视化理解Attention
Stanford CS224NNLP课程,含RLHF章节

开源工具

工具用途链接
TRLSFT/DPO/PPO训练github.com/huggingface/trl
OpenRLHFRLHF/GRPO训练github.com/OpenRLHF/OpenRLHF
LLaMA-Factory一站式微调github.com/hiyouga/LLaMA-Factory
Axolotl配置化训练github.com/OpenAccess-AI-Collective/axolotl
lm-eval-harness模型评估github.com/EleutherAI/lm-evaluation-harness

十一、明日预告

Day 4: Prompt Engineering与上下文学习(ICL)原理

  • Chain-of-Thought / Tree-of-Thought / Graph-of-Thought
  • System Prompt设计模式与Few-shot Learning
  • Structured Output(JSON Mode / Function Calling)
  • Prompt注入攻击与防护
  • In-Context Learning的理论解释
  • 小模型Prompt的特殊优化技巧

完成后

在学习进度记录中将 当前学到 改为 Day 4最后更新 改为当天日期。