AI Day 3: 训练过程深度 — Pre-training / SFT / RLHF / DPO
LLM训练是"从原始文本语料 → 可用的智能助手"的三阶段炼化过程:Pre-training建立知识基座,SFT教会交互格式,RLHF/DPO对齐人类偏好。
日期: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最新)
| 数据集 | 规模 | 来源 | 特点 | 使用者 |
|---|---|---|---|---|
| FineWeb | 15T tokens | Common Crawl精选 | HuggingFace出品,2024发布,最高质量公开数据 | 开源社区首选 |
| DCLM | 4T tokens | Common Crawl | Apple/UW合作,数据筛选方法论开源 | 学术研究 |
| RedPajama v2 | 30T tokens | 多源 | Together AI出品,含质量评分 | Llama复现 |
| The Pile | 825GB | 22个高质量源 | EleutherAI经典,含学术论文/代码/维基 | GPT-NeoX等 |
| StarCoder Data | 6.4T tokens | GitHub代码 | BigCode项目,编程专用 | StarCoder/DeepSeek Coder |
| CulturaX | 6.3T tokens | OSCAR+mC4 | 167种语言,多语言模型训练 | 多语言模型 |
商业模型的私有数据:
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 训练成本估算
| 模型 | 参数量 | 训练tokens | GPU | 训练时间 | 估算成本 |
|---|---|---|---|---|---|
| Llama 2 70B | 70B | 2T | 2000x A100 | ~3个月 | ~$25M |
| Llama 3 405B | 405B | 15T | 16000x H100 | ~2个月 | ~$60-100M |
| GPT-4 (推测) | ~1.8T MoE | ~13T | 25000x A100 | ~3个月 | ~$100M+ |
| DeepSeek V3 | 671B MoE | 14.8T | 2048x H800 | ~2个月 | ~$5.5M |
| Qwen 2.5 72B | 72B | ~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) |
|---|---|---|---|
| DPO | Stanford (2023) | 直接偏好优化,去掉RM | 业界主流 |
| GRPO | DeepSeek (2025) | 组内相对排名,自生成数据 | R1验证,快速普及 |
| KTO | Ethayarajh (2024) | 不需要偏好对,只需"好/坏"标签 | 数据需求最低 |
| IPO | Azar等 (2023) | 修正DPO的过拟合问题 | 学术研究 |
| ORPO | Hong等 (2024) | SFT+对齐一步完成 | 效率最高 |
| SimPO | Meng等 (2024) | 简化DPO,无需参考模型 | 新兴方法 |
| RLAIF | Google (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-training | 5-15T tokens | 原始文本 | 2000-16000x H100 | 1-3个月 | $5M-100M |
| SFT | 10K-100K条 | 指令-回答对 | 8-64x A100/H100 | 数小时-数天 | $1K-100K |
| RLHF (PPO) | 50K-200K偏好对 | 人类偏好标注 | 64-256x A100/H100 | 数天-数周 | $100K-1M |
| DPO | 50K-200K偏好对 | 偏好对 | 8-64x A100/H100 | 数小时-数天 | $10K-100K |
| GRPO | 自生成 | 模型自产+验证 | 64-256x A100/H100 | 数天-数周 | $50K-500K |
| Reasoning RL | 自生成+验证 | CoT+答案验证 | 128-512x H100 | 1-4周 | $200K-2M |
| 量化+部署 | N/A | N/A | 1-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的成本优势来自三个层面:
- 算法效率:FP8混合精度训练减少一半计算量;Multi-head Latent Attention(MLA)大幅降低KV Cache;高效MoE路由让671B参数模型实际只激活37B
- 数据效率:远超Chinchilla比例训练(更多数据+更小激活参数),证明了小模型+更多数据的路线
- 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对齐后模型仍然会产生幻觉和有害输出,如何在产品层面弥补?
回答:
对齐不是完美的,它降低了风险但没有消除。产品层面的补充措施:
- 输出过滤层:在模型输出后增加安全分类器,拦截有害内容(类似Content Moderation API)
- RAG增强事实性:不完全依赖模型记忆,用检索增强减少幻觉
- 人机协作设计:关键决策让人类确认(金融交易确认、医疗诊断复核)
- 可解释性:让模型引用来源、展示推理过程(Extended Thinking),用户可验证
- 持续反馈闭环:收集用户"踩"的反馈 → 生成新的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 feedback | 2022 | 必读 | InstructGPT论文,RLHF奠基之作 |
| Direct Preference Optimization | 2023 | 必读 | DPO论文,改变了对齐方法论 |
| DeepSeek-R1: Incentivizing Reasoning Capability | 2025 | 必读 | GRPO + 纯RL推理训练 |
| LIMA: Less Is More for Alignment | 2023 | 推荐 | SFT数据质量的重要性 |
| Scaling Data-Constrained Language Models | 2023 | 推荐 | Scaling Laws新发现 |
| Constitutional AI | 2022 | 推荐 | Anthropic的对齐方法 |
| Let's Verify Step by Step | 2023 | 推荐 | 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 CS224N | NLP课程,含RLHF章节 |
开源工具
| 工具 | 用途 | 链接 |
|---|---|---|
| TRL | SFT/DPO/PPO训练 | github.com/huggingface/trl |
| OpenRLHF | RLHF/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,最后更新 改为当天日期。