Skip to content

模型训练

本章覆盖大语言模型从预训练到对齐的完整训练流程,帮助你理解如何将一个随机初始化的模型训练成有用的 AI 助手。

学习路线

主题核心内容预计时间
预训练大规模语料上的自监督训练1-2 周
数据集构建数据收集、清洗、格式化1 周
监督微调 (SFT)指令跟随能力的注入1 周
偏好对齐RLHF、DPO 等对齐技术1-2 周
推理模型O1/R1 范式、PRM、MCTS1-2 周
知识蒸馏大模型能力迁移到小模型1 周

训练三阶段

预训练 (Pre-training)  →  监督微调 (SFT)  →  偏好对齐 (Alignment)  →  推理增强 / 蒸馏
      │                        │                     │                      │
 海量文本学习语言能力     指令数据学习对话格式     人类偏好学习安全有用     推理能力 / 模型压缩

理解这三个阶段的目标差异是把握大模型训练全貌的关键:预训练赋予模型"知识",SFT 教会模型"格式",对齐让模型"听话且安全"。

详细内容索引

agent-rl.md — Agent 强化学习 (757 lines)

  • 在大模型体系中的位置 (L11)
  • 为什么需要 Agent-RL? (L33)
    • 静态对齐的局限 (L35)
    • Agent-RL 的核心洞察 (L47)
  • Agent-RL 核心架构 (L72)
    • 经典 Agent-RL 循环 (L74)
    • 三大核心组件 (L95)
  • 训练算法 (L135)
    • GRPO for Agents (L139)
    • PPO for Agents (L192)
    • GRPO vs PPO:Agent-RL 场景下的选择 (L229)
    • Agent-RL 与文本 GRPO 的关键差异 (L244)
  • Rollout 生成 (L256)
    • 同步 Rollout (L260)
    • 异步 Rollout (L274)
    • SGLang 高吞吐推理 (L321)
    • 多轮轨迹:Agent Rollout 的特殊结构 (L354)
  • 奖励设计 (L384)
    • Rule-based Rewards(规则奖励) (L388)
    • Verifiable Environments (RLVE) (L426)
    • Process Rewards vs Outcome Rewards (L454)
  • 生产级训练框架:slime 架构 (L466)
    • 整体架构 (L470)
    • 三大模块详解 (L487)
    • 参数同步与 Colocate 模式 (L540)
    • 支持的模型 (L562)
  • Agentic Training 的特殊挑战 (L570)
      1. 长轨迹问题 (L574)
      1. 稀疏奖励与信用分配 (L586)
      1. 环境多样性 (L620)
      1. 异步解耦 (L629)
      1. 训练加速 (L640)
  • 实际应用案例 (L648)
    • P1:物理奥赛推理 (L652)
    • RLVE:400 个可验证环境 (L659)
    • TritonForge:训练模型写 GPU Kernel (L667)
    • OpenClaw-RL:个性化对话 Agent (L674)
    • qqr (ArenaRL):开放式 Agent 进化 (L681)
  • Agent-RL vs 传统对齐 (L688)
  • 苏格拉底时刻 (L705)
  • 面试考点 (L717)
  • 推荐资源 (L745)

alignment-advanced.md — 对齐进阶 (345 lines)

  • 在大模型体系中的位置 (L11)
  • Constitutional AI (CAI) (L25)
    • 核心思想 (L27)
    • 宪法示例 (L50)
    • 为什么 CAI 重要 (L60)
  • RLAIF:AI 反馈替代人类反馈 (L74)
    • 从 RLHF 到 RLAIF (L76)
    • RLAIF 的效果 (L104)
    • 局限性 (L112)
  • Reward Hacking (L120)
    • 什么是 Reward Hacking (L122)
    • 为什么会发生 (L135)
    • 缓解策略 (L147)
  • 对齐税(Alignment Tax) (L173)
    • 有用性 vs 安全性的矛盾 (L175)
    • 如何降低对齐税 (L199)
  • 可扩展监督(Scalable Oversight) (L228)
    • 问题定义 (L230)
    • 当前的研究方向 (L236)
  • Red Teaming:对抗测试 (L262)
    • 什么是 Red Teaming (L264)
    • 常见攻击类型 (L268)
    • 自动化 Red Teaming (L278)
  • 苏格拉底时刻 (L314)
  • 常见问题 & 面试考点 (L324)
  • 推荐资源 (L337)

alignment.md — 偏好对齐 (991 lines)

  • 在大模型体系中的位置 (L11)
  • RLHF 概述 (L27)
    • Bradley-Terry 偏好模型 (L39)
  • Reward Model 训练 (L53)
    • 模型架构 (L55)
    • 训练(含 Margin Loss) (L79)
    • LLaMA 2 的双奖励选择 (L102)
    • 奖励后处理:Whiten + KL 惩罚 (L116)
  • PPO (Proximal Policy Optimization) (L136)
    • RLHF-PPO 需要四个模型 (L140)
    • PPO 训练流程 (L165)
    • KL 惩罚奖励 (L192)
    • GAE (Generalized Advantage Estimation) (L203)
    • PPO 的核心损失函数 (L224)
  • DPO (Direct Preference Optimization) (L261)
    • 从 RLHF 到 DPO 的数学推导 (L265)
    • DPO 损失的直觉 (L291)
    • PyTorch 实现 DPO (L297)
    • DPO 完整训练循环 (L337)
    • DPO 的过拟合问题与 IPO (L371)
  • GRPO (Group Relative Policy Optimization) (L385)
    • GRPO 损失函数 (L389)
    • 步骤 1:Group Sampling(组采样) (L395)
    • 步骤 2:Rule-based Reward(规则奖励) (L412)
    • 步骤 3:Group Relative Advantage(组内相对优势) (L437)
    • 步骤 4:GRPO Loss (L466)
  • GRPO 中的 KL 散度分析 (L502)
    • 三种 KL 估计方式 (L506)
    • 为什么 K3 恒为正? (L518)
    • GRPO 使用 K3 的原因 (L544)
  • KTO (Kahneman-Tversky Optimization) (L564)
    • 动机:为什么不需要成对数据? (L568)
    • 前景理论 (Prospect Theory) 的启发 (L578)
    • 数学公式 (L591)
    • 数据格式 (L616)
    • KTO 损失函数实现 (L627)
    • KTO vs DPO 对比 (L679)
  • 各方法对比 (L698)
  • 更多对齐算法 (L714)
    • ORPO (Odds Ratio Preference Optimization) (L718)
    • CPO (Contrastive Preference Optimization) (L733)
    • RLOO (REINFORCE Leave-One-Out) (L745)
    • Online DPO (L757)
    • PRM (Process Reward Model) (L769)
  • TRL 实战:对齐训练实现 (L798)
    • DPO 训练 (L802)
    • GRPO 训练 (L831)
    • PPO 训练 (L862)
    • 奖励函数设计模式 (L898)
  • 对齐算法选择指南 (L933)
  • 苏格拉底时刻 💡 (L967)
  • 常见问题 & 面试考点 (L975)
  • 推荐资源 (L982)

continue-pretraining.md — 继续预训练 (319 lines)

  • 在大模型体系中的位置 (L11)
  • 为什么需要继续预训练 (L29)
    • 通用 LLM 在专业领域的局限 (L31)
    • 一个直观的例子 (L40)
  • CPT vs SFT vs RAG:三种领域适配方案 (L53)
  • 实现:继续预训练的关键技术 (L71)
    • 数据准备 (L73)
    • 学习率策略:低 LR Warmup (L89)
    • 灾难性遗忘的缓解 (L110)
  • 代码示例:基于 HuggingFace Trainer 的 CPT Pipeline (L130)
    • 进阶:课程学习策略 (L236)
  • 领域案例 (L251)
    • 医学领域 (L253)
    • 法律领域 (L260)
    • 代码领域 (L267)
  • 苏格拉底时刻 (L285)
  • 常见问题 & 面试考点 (L299)
  • 推荐资源 (L312)

datasets.md — 数据集构建 (550 lines)

  • 在大模型体系中的位置 (L10)
  • 预训练数据 vs 后训练数据 (L26)
  • 预训练数据集构建 (L41)
    • 数据来源与规模 (L43)
    • 数据清洗流水线 (L77)
  • SFT 数据格式 (L165)
    • Alpaca 格式 (L167)
    • ShareGPT 格式 (L181)
    • OpenAI 格式 (L197)
    • Chat Template (L211)
  • 合成数据生成 (L292)
    • Self-Instruct (L294)
    • Evol-Instruct (WizardLM) (L311)
    • 使用 GPT-4 / Claude 生成数据的最佳实践 (L335)
    • Seed Task 设计 (L343)
    • 质量把控 (L354)
  • 数据增强技术 (L368)
    • Rejection Sampling (L370)
    • Chain-of-Thought 扩展 (L384)
    • 多样性增强 (Persona-driven) (L396)
    • 难度递增 (Auto-Evol) (L408)
  • 偏好数据构建 (L420)
    • Chosen/Rejected pair 的收集 (L422)
    • 人工标注 vs 模型标注 (L436)
    • Bradley-Terry 模型的数据需求 (L446)
  • 数据质量评估 (L460)
    • 自动评估指标 (L462)
    • Reward Model 打分 (L472)
    • 去重与去污染验证 (L486)
  • 苏格拉底时刻 (L511)
  • 常见问题 & 面试考点 (L525)
  • 推荐资源 (L540)

distillation.md — 知识蒸馏 (594 lines)

  • 在大模型体系中的位置 (L11)
  • 蒸馏的动机 (L29)
    • 为什么需要蒸馏? (L31)
    • 蒸馏的本质:暗知识(Dark Knowledge) (L42)
  • 经典知识蒸馏(Hinton 2015) (L58)
    • 核心框架 (L60)
    • Temperature Scaling (L78)
    • 完整数学推导 (L120)
    • PyTorch 实现 (L167)
  • LLM 时代的蒸馏方法 (L217)
    • 黑盒蒸馏:数据驱动 (L221)
    • 白盒蒸馏:知识深度对齐 (L257)
    • 推理蒸馏:蒸馏 CoT 能力 (L303)
  • 实用蒸馏流水线 (L320)
    • 数据生成流水线 (L322)
    • 训练策略 (L371)
  • Alpaca / Vicuna 等项目的蒸馏实践 (L393)
    • Alpaca:指令数据蒸馏的先驱 (L395)
    • Vicuna:对话数据蒸馏 (L412)
    • 蒸馏的法律和伦理问题 (L424)
  • 蒸馏 vs LoRA vs 量化 (L435)
  • 代码实战:用 Temperature Scaling 实现简单蒸馏 (L463)
  • 苏格拉底时刻 (L569)
  • 常见问题 & 面试考点 (L577)
  • 推荐资源 (L585)

pretraining.md — 预训练 (893 lines)

  • 在大模型体系中的位置 (L11)
  • 预训练的本质 (L25)
    • Next Token Prediction 目标 (L27)
    • Causal Language Modeling vs Masked Language Modeling (L108)
    • 预训练赋予模型什么能力? (L120)
  • Scaling Laws (L132)
    • Kaplan et al. (2020) 的发现 (L134)
    • Chinchilla 法则 (L152)
    • 对实践的指导意义 (L173)
    • Scaling Laws 深度:从理论到实践 (L181)
  • 数据准备 (L444)
    • 数据来源 (L446)
    • 数据清洗流水线 (L480)
    • FineWeb 与 RedPajama (L505)
    • 数据配比 (L516)
  • 优化器 (L536)
    • AdamW 详解 (L538)
    • 学习率调度 (L612)
  • Mixed Precision Training (L670)
    • FP32, FP16, BF16 的精度对比 (L672)
    • Loss Scaling 技巧 (L680)
    • 为什么 BF16 比 FP16 更适合训练 (L690)
  • Gradient Checkpointing (L704)
    • 内存 vs 计算的 trade-off (L706)
    • 实现原理 (L712)
  • 训练监控 (L728)
    • 关键指标:loss, grad norm, learning rate (L730)
    • Loss Spike 的处理 (L761)
    • MFU (Model FLOPs Utilization) 的计算 (L771)
  • 预训练实战 (L785)
    • 完整训练配置示例 (L787)
    • 训练成本估算 (L838)
  • 苏格拉底时刻 (L855)
  • 常见问题 & 面试考点 (L869)
  • 推荐资源 (L884)

reasoning.md — 推理模型 (1005 lines)

  • 在大模型体系中的位置 (L11)
  • 从 System 2 Thinking 到 Test-time Compute Scaling (L29)
  • Reasoning Token 与 Chain-of-Thought (L46)
    • 什么是 Reasoning Token? (L48)
  • Process Reward Model (PRM) (L69)
    • ORM vs PRM (L71)
    • PRM 的数学形式 (L92)
    • PRM 训练数据构建(PRM800K) (L116)
    • PRM 模型架构 (L133)
  • Monte Carlo Tree Search (MCTS) (L161)
    • MCTS 核心思想 (L163)
    • MCTS 四步循环 (L179)
    • 代码示例:简化版 MCTS for LLM Reasoning (L197)
    • MCTS 在推理模型中的应用 (L272)
  • GRPO for Reasoning(DeepSeek-R1 方案) (L283)
    • 无需 Reward Model 的 RL 训练 (L285)
    • 规则奖励函数设计 (L305)
    • "Aha Moment" 涌现 (L337)
    • GRPO 推理训练核心逻辑 (L365)
  • 推理蒸馏 (L407)
    • 用大推理模型的 CoT 教小模型 (L409)
    • 蒸馏 vs RL 的效果对比 (L427)
  • Scaling Law for Test-time Compute (L436)
  • 代码实战:PRM 训练 + MCTS 搜索 + Best-of-N 采样 (L455)
    • Part 1:PRM 训练代码实战 (L465)
    • Part 2:MCTS 搜索实现——完整四步循环 (L577)
    • Part 3:PRM 引导的逐步验证搜索 (L766)
    • Part 4:端到端示例——用 MCTS + PRM 解 GSM8K 数学题 (L850)
  • 苏格拉底时刻 (L980)
  • 常见问题 & 面试考点 (L988)
  • 推荐资源 (L996)

rl-basics.md — 强化学习基础 (868 lines)

  • 在大模型体系中的位置 (L11)
    1. RL 核心概念 (L25)
    • 1.1 Agent-Environment 交互 (L27)
    • 1.2 核心术语表 (L46)
    • 1.3 MDP 框架 (L58)
    • 1.4 累积回报 (Return) (L78)
    1. Bellman 方程 (L89)
    • 2.1 Value Function 的递推关系 (L91)
    • 2.2 Bellman 最优方程 (L113)
    • 2.3 代码验证:手算 Bellman 方程 (L129)
    1. 动态规划 (L172)
    • 3.1 Policy Evaluation(策略评估) (L176)
    • 3.2 Policy Iteration(策略迭代) (L184)
    • 3.3 Value Iteration(值迭代) (L190)
    • 3.4 代码:4x4 Grid World 的 Value Iteration (L200)
    1. Monte Carlo 方法 (L253)
    • 4.1 First-Visit MC 估计 Vπ (L257)
    • 4.2 MC 估计 Qπ + epsilon-Greedy 改进 (L300)
    1. 时序差分 (Temporal Difference) (L345)
    • 5.1 TD(0) (L349)
    • 5.2 SARSA(On-Policy TD Control) (L359)
    • 5.3 Q-Learning(Off-Policy TD Control) (L398)
    • 5.4 SARSA vs Q-Learning:On-Policy vs Off-Policy (L435)
    1. DQN:从 Q-Learning 到深度强化学习 (L449)
    • 6.1 为什么需要 DQN? (L451)
    • 6.2 两个关键技巧 (L455)
    • 6.3 DQN 完整实现 (L473)
    1. Policy Gradient (L558)
    • 7.1 从 Value-Based 到 Policy-Based (L560)
    • 7.2 策略梯度定理 (L569)
    • 7.3 对数导数技巧 (Log-Derivative Trick) 推导 (L583)
    • 7.4 REINFORCE 算法 (L623)
    • 7.5 从 REINFORCE 到 PPO 的演化 (L706)
    1. 从 RL 到 RLHF 的桥梁 (L732)
    • 8.1 LLM 生成 = RL 序贯决策 (L734)
    • 8.2 RLHF 的 RL 视角 (L746)
    • 8.3 为什么需要 KL 惩罚? (L768)
    1. RL 方法总览 (L785)
  • 苏格拉底时刻 (L808)
  • 面试考点 (L819)
  • 推荐资源 (L856)

sft.md — 监督微调 (710 lines)

  • 在大模型体系中的位置 (L11)
  • 什么是监督微调? (L23)
    • 预训练模型的"复读机"问题 (L25)
    • SFT 的核心思路 (L41)
  • Full Fine-tuning (L62)
  • LoRA:低秩适配 (L83)
    • 核心原理 (L85)
    • PyTorch 实现 LoRA (L99)
    • 替换模型中的 Linear 层 (L144)
    • 关键参数详解 (L166)
    • 使用 PEFT 库(推荐生产用法) (L175)
  • QLoRA:量化 + LoRA (L193)
    • 三大技术 (L197)
    • 实现 QLoRA 核心:量化线性层 (L203)
    • QLoRA = 量化 + LoRA (L234)
    • Transformers 快捷调用 (L248)
  • SFT 数据集准备 (L265)
    • 数据格式对比 (L267)
    • Chat Template:对话模板 (L277)
    • Token 级别的数据处理(含 Label Masking) (L302)
    • Padding 与 Collate 函数 (L334)
  • 完整 SFT 训练流程 (L360)
    • 数据加载 (L362)
    • 训练循环 (L389)
    • 推理验证 (L426)
  • 训练参数调优指南 (L448)
  • TRL SFTTrainer 实战 (L461)
    • 基本用法 (L465)
    • Chat Template 处理 (L488)
    • 数据格式详解 (L496)
    • Packing(序列打包) (L517)
    • LoRA 集成 (L540)
  • 多轮对话训练 (L563)
    • 数据格式 (L567)
    • 训练要点 (L582)
  • 训练加速与显存优化 (L602)
    • Gradient Checkpointing (L606)
    • Mixed Precision 混合精度训练 (L619)
    • DeepSpeed ZeRO (L634)
    • Gradient Accumulation (L649)
    • Flash Attention (L660)
    • vLLM 集成 (L673)
  • 苏格拉底时刻 💡 (L688)
  • 常见问题 & 面试考点 (L695)
  • 推荐资源 (L702)