LLM 训练全流程:预训练、SFT、RL,以及蒸馏与行业模型路径 The LLM Training Pipeline: Pretraining, SFT, RL, Distillation, and Paths to Domain Models
以下内容与我的工作无关,仅为个人感想与学习笔记,不代表任何公司或机构的立场。
These notes are unrelated to my work. They are personal reflections and study notes only, and do not represent the views of any company or organization.
摘要
由腾讯混元 Hy3 的技术路线讨论引出的一篇系统整理:LLM 训练的完整流程(数据工程 → 预训练 → SFT → RL)及各阶段关键杠杆;蒸馏小模型的两条路径(数据蒸馏 / Logit 蒸馏);行业模型的四级决策阶梯(RAG → SFT → CPT → 从头训练);以及游戏行业的具体落地建议(先 API 上线攒数据,再蒸馏降本)。核心结论:在成熟范式内,数据质量 > Infra 效率 > 同代架构微创新;真正的壁垒是私有数据和评测集,不是算法。
一、缘起:混元 Hy3 的"守正"案例
出自 当一个年轻人空降:改造腾讯混元的 300 天。Hy3 在头部团队纷纷押注新架构时做了三个反直觉决策:
- 架构求稳:用最标准的 MoE Transformer,放弃 Qwen/Kimi 在用的线性注意力。判断依据:线性注意力是降本手段而非智能提升手段(把注意力 O(n²) 成本降到 O(n),收益集中在超长文本场景),而真实用户很少用超长文本,为低频场景承担架构风险不划算。
- 重构 Infra:花两个月重写预训练和 RL 基础设施,从字节 Seed 挖人。Infra 决定三件事:算力利用率(MFU)、训练稳定性(万卡训练中途崩溃代价极高)、实验迭代速度。
- 重洗数据:沿用混元 2.0 的旧数据但重新定义数据标准——丢弃"按榜单评测筛数据"的思路(会过拟合排行榜、污染训练集),按对真实能力有用的标准从头清洗;SFT 数据大幅去重筛选后只保留一万余条。
本质是资源受限下的优先级排序:数据清洗和 Infra 重构的回报确定,新架构的回报不确定,追赶者押确定性。这不是"架构不重要"的普适定律——MoE 本身、DeepSeek 的 MLA 都是通过改变成本经济性实实在在改变了格局。
二、LLM 训练全流程
数据工程 → 预训练(base model)→ SFT → RL(后训练,常多轮迭代)
└────────── 评测(evals)贯穿全程 ──────────┘
0. 数据工程(决定上限)
抓取万亿级 token(网页、书籍、代码、论文),去重、质量过滤、决定配比。配比是各家核心机密(代码和数学数据比例直接影响推理能力);重复数据会实质性伤害模型。
1. 预训练(消耗 95%+ 算力)
任务只有一个:在海量文本上预测下一个词。关键杠杆:
- Scaling Law 决定算力在"模型多大 × 数据多少"之间的分配,比例错了钱白烧;
- Infra 决定利用率、稳定性、迭代速度;
- 现代流程末期有"退火阶段":用最高质量数据收尾 + 逐步拉长上下文窗口。
产物是 base model:博学但只会续写,不会对话。
2. SFT 监督微调(算力占比极小)
用"问题 → 理想回答"的示范样本教模型当助手(听懂指令、组织回答、遵守格式)。质量和多样性远比数量重要——Meta 2023 年的 LIMA 论文证明约 1000 条极高质量样本可媲美几十万条普通数据:能力和知识在预训练阶段已具备,SFT 只教"表达方式",噪声数据反而教坏模型。RL 时代 SFT 更多是"冷启动"。
3. RL 强化学习(当前能力提升的主战场)
两条线:
- RLHF:人类标注偏好 → 训练奖励模型 → PPO/DPO 优化。解决"回答得好不好"(有用、安全、风格)。
- RLVR(可验证奖励):数学/代码等有标准答案的任务自动判对错做奖励,让模型大规模自我探索。长思维链推理能力(o1、R1 这一波)由此而来。
关键:奖励设计就是一切。奖励函数有漏洞,模型必然钻空子(reward hacking)。
贯穿全程的铁律:先建评测集再训练。训练是盲人摸象,评测是唯一的眼睛。
三、蒸馏小模型
蒸馏 = 把大模型(teacher)能力转移到小模型(student)。两条路:
1. 数据蒸馏(黑盒,主流):teacher 对大量问题生成高质量回答(尤其带完整推理过程的),拿去 SFT 小模型。教科书案例是 DeepSeek R1-Distill:R1 生成 80 万条样本,直接 SFT 到 Qwen/Llama 底座,不做 RL,7B 模型数学能力大幅跃升。工作流:
- 选强开源底座(底座质量决定下限);
- 构建覆盖面广的 prompt 集(多样性决定泛化);
- teacher 生成 + 拒绝采样——只保留验证正确的回答,错误推理链是毒药;
- SFT,可选补一轮 RL。
2. Logit 蒸馏(白盒):student 学 teacher 输出的完整概率分布(KL 散度),样本效率更高,需要 teacher 权重。Gemma 之于 Gemini、Qwen 小尺寸之于大尺寸皆如此。
合规注意:多数闭源 API 服务条款禁止用输出蒸馏模型;开源模型(如 R1)通常明确允许。
四、行业模型:四级决策阶梯
第一个关键决策不是"怎么训",而是**"要不要训"**。按成本从低到高:
- RAG + 提示工程:缺"知识"(产品手册、内部规章)→ 检索解决。大部分行业需求到此为止。
- SFT 微调(LoRA):缺"行为"(格式、术语、语气规范)→ 几千到几万条行业指令。经验法则:微调改行为,RAG 补知识——靠微调灌知识效果很差。
- 继续预训练(CPT):行业语言与通用语料差异巨大时才需要(法律、医疗、蛋白质序列)→ 几十亿 token 行业语料,必须掺通用数据防灾难性遗忘。
- 从头预训练:几乎永远不值得。反面教材 BloombergGPT——数百万美元训的金融模型,很快被通用 GPT-4 在金融任务上全面超越。通用能力是行业能力的地基。
严肃行业模型配方:强开源底座 → CPT(行业 + 通用语料)→ 行业 SFT(掺通用指令)→ 可选 RL → 自建行业评测集验收。
五、游戏行业落地路径
四类需求,训练价值差异极大:
| 场景 | 该不该训 | 正确路径 |
|---|---|---|
| 开发侧代码助手(引擎/小游戏 API) | 不训 | 大模型 API + 文档进上下文/RAG |
| 世界观、设定、攻略问答 | 不训 | RAG(版本更新频繁,知识别进权重) |
| 玩家可见的 NPC 对话、剧情、文案 | 值得训 | 蒸馏小模型 |
| 高频分类:聊天审核、客服路由 | 最值得训 | 小模型微调,ROI 最高 |
后两类的共同点是玩家侧规模化调用——成本和延迟随 DAU 线性增长,这才是训练的经济学理由。
推荐两步走(行业验证最充分):
- 第一阶段:大模型 API 直接上线。角色卡 + 世界观 RAG + 便宜 API(DeepSeek/GLM/Qwen),同时记录全部线上流量——真实玩家问题 + 好回答是蒸馏最值钱的数据。
- 第二阶段:成本刺眼时蒸馏。Teacher 用开源大模型(许可明确允许蒸馏);Student 选 Qwen3-4B/8B(中文强、Apache 2.0);线上日志精选 + teacher 合成扩充过拒绝采样,1
5 万条;LoRA SFT(LLaMA-Factory/unsloth 单卡数小时,或百炼/方舟托管微调);人设不稳补 DPO,不需要 RL。动手前先建 200300 条评测集(人设一致性、设定准确、安全、格式)。
游戏行业特有的坑:
- 知识与风格分离:权重只学"角色怎么说话",世界观事实走 RAG,否则赛季更新一次重训一次;
- 玩家可见输出必须挂审核层(国内未成年人合规对 AI 生成内容同样生效),审核模型本身就是最适合微调的小任务;
- 结构化输出(任务/道具 JSON)用约束解码(vLLM structured output),比 prompt 求模型守格式可靠一个数量级。
进入蒸馏阶段的两个信号:API 账单随 DAU 增长开始难看,或人设一致性靠 prompt 压不住。在那之前,训练是过早优化。
核心结论:路径和算法全是公开的,壁垒是私有数据(剧本语料、线上日志)和评测集。这与混元 Hy3 "守正"的逻辑一致——把数据和基础设施做扎实,比押注花哨的新技术更有确定性回报。