DeepSeek 大模型训练流程分几步,6 个阶段与每步产出

17小时前发布

一个通用大模型从语料到能上线,走 6 个阶段:预训练、监督微调、偏好对齐、评测、量化、部署。DeepSeek 在 V3 技术报告里写明,预训练阶段用了 14.8 万亿 token,总参数 671B,每个 token 激活其中 37B。

规模差别很大,流程骨架却一样。我按公开技术报告和自己做过的 2 次小模型微调对照着写:每一步的输入、产出、耗时量级、常见失败放在同一张表里,小团队能砍掉哪几步放在第二节末尾。

一、开工前要备齐 4 样东西

4 样缺 1 样,流程会停在半路,而且停在最费钱的那一步。

  1. 语料:原始文本、去重后的清洗版本、抽样 1000 条人工核过的干净样本
  2. 算力:训练卡的数量与型号,先跑 1 次 1 小时的压力测试看会不会掉卡
  3. 训练代码:训练框架、分词器、配置文件 3 份东西要版本对齐
  4. 评测集:至少 3 类任务各 200 条,题面不许出现在语料里

第 4 样最常被拖到最后。评测集一旦和训练语料重叠,分数会虚高得离谱,改完也不知道有没有变好。我吃过 1 次亏:拿公开题库当评测集,模型在题库上 86 分,换 200 条业务内部的题一问,能完整答对的只剩 5 成。

算力这一项要看 2 个数:单卡显存与卡间带宽。显存放不下 1 份完整权重,就得做切分,切分又会带来通信开销,训练速度可能掉到单卡的 6 成。先跑 1 个 200 步的小实验,把每步耗时记下来,再乘总步数,估出来的时间比拍脑袋准得多。

二、6 个阶段各干什么

阶段输入产出常见失败
预训练清洗去重后的语料基座模型语料重复率高,loss 掉得快但答不准
监督微调指令与回答成对的数据会听指令的模型样本太少,只学到格式没学到内容
偏好对齐同一问题的多个回答与人工排序输出更贴近使用习惯的模型奖励模型过拟合,回答变短变空
评测评测集与人工抽检分数与问题清单题库与训练集重叠,分数虚高
量化训练好的权重显存占用更小的版本掉点集中在长文与多步推理
部署量化后的权重与推理框架可调用的接口并发一高就排队超时

预训练这一步在做什么

拿海量文本做 1 个任务:看前文猜下一个词。参数在几万步到几十万步的迭代里一点点调,模型从「接得上话」练到「知道事实」。DeepSeek 用 MoE 结构,把参数拆成多个专家,每个 token 只走其中一部分,671B 的总参数每次只激活 37B,算力开销压在这个量级上。

监督微调与偏好对齐的区别

监督微调教它「按格式回答」,给的是标准答案样本;偏好对齐教它「哪个回答更受欢迎」,给的是同一问题的 2 到 4 个回答加人工排序。前者决定会不会答,后者决定答得顺不顺人眼。DeepSeek-R1 公开的做法里,推理能力主要靠强化学习练出来,人工标注的比例压得很低。

2 个阶段的样本量差 1 到 2 个数量级。监督微调常见几千到几万条,偏好对齐的排序样本常在万条以上,每条要 2 个人以上独立打分。标注预算不足时,先保监督微调的样本质量,偏好对齐可以放到第 2 轮迭代再做。

小团队能砍到几步

不训练基座的话,前 2 步可以整体跳过,直接拿开源权重做微调。剩下 4 步不能省,尤其评测与量化:不做评测等于闭眼发布,不做量化等于推理成本翻几倍。预算 1 张卡的小项目,走「开源权重 + 监督微调 + 评测 + 量化部署」4 步,1 到 2 周能跑完 1 轮。

车间里依次排列的金属料箱

三、语料怎么整理

5 个动作,顺序不能颠倒。前 2 个决定后面 3 个有没有意义。

  1. 去重:按段落做哈希,重复段落只留 1 份,这一步能砍掉 10% 到 30% 的体积
  2. 清洗:去模板页、导航文字、乱码、超短段落,中文语料里的广告尾巴要单独过滤
  3. 分域:按来源打标签,代码、论文、问答、网页各成 1 组,方便按比例配比
  4. 配比:定各域的比例,正文与代码的比例差 1 个数量级,模型能力偏向就差很远
  5. 抽样核验:随机抽 1000 条人工读,错字率与无效内容占比超过 5% 就回上一步

第 5 步我见过被砍掉的次数最多。跳过抽检直接开训,损失曲线照样下降,但出来的模型会带着语料里的毛病,比如把网页导航语当成正文句式学进去,回答开头总带一串栏目名。

配比这一项没有通用答案,靠小实验试。同一个基座,用 2 种配比各训 1 个 3 小时的短周期版本,拿 50 条业务题对比,哪版答得更实就用哪版。这一步花掉的时间,通常比事后返工少一半。

四、卡在哪:5 个典型失败

损失不降,先看学习率与批次大小,2 个参数改 1 个再跑 200 步;同时改 2 个,出问题分不清是哪个引起的。

损失降了但答非所问,多半是语料配比偏了。查方法很土:随机抽 50 条模型输出,看它习惯用哪类句式,句式来源就是配比里占比过高的那一域。

微调后通用能力掉了,现象是原来会答的题现在答不出。原因是微调样本太窄,把基座的能力覆盖掉了。解法是把 20% 到 30% 的通用样本混进微调集,比例按退化幅度调。

偏好对齐后回答变短、变空,是奖励模型学歪了。人工排序时偏向短答案,模型就学会只说结论。修法是排序标准里加 1 条「信息完整度」,让标注的人按这条打分。

部署后并发一高就超时,问题常在批处理与显存预留。把最大并发数压到压测峰值的 6 成,留出排队空间,比事后加机器省事。

还有 1 类失败不体现在损失曲线上:模型学会了对所有问题都先道歉。看 50 条输出就能发现,开头 3 个字全是「抱歉」。这类毛病来自语料里的客服对话占比过高,把那一域的比例从 4 成压到 1 成以内就能缓过来。

暗处延伸的传送带托辊

五、训练完怎么判断成不成

  1. 评测集分数:3 类任务各跑 1 遍,与上一版对比,涨幅小于 2 个点就当没变
  2. 人工盲测:新旧两版回答混在一起,让 3 个人各判 50 条,看偏好是否偏向新版
  3. 线上抽检:上线后每天抽 30 条真实请求,记录答错、答空、超时的条数

第 2 个动作要 blind 着做,告诉评审哪条是新版,结论会偏。我做过 1 次 100 条的盲测,自评觉得新版明显更好,盲测结果只赢 54 条,接近抛硬币,那一次就没有上线。

3 个动作的顺序别反。先看分数,再看盲测,最后看线上,前 1 步不过就不用做后 2 步。反过来先上线再补评测,出了问题的排查成本会高 1 个量级。

这 6 个阶段的划分在不同团队里叫法不一样,有的把量化与部署合成 1 步,有的把偏好对齐拆成奖励模型与强化学习 2 步。名称怎么叫不影响顺序,前一步的产出不达标就往下走,后面每一步都在放大前面的缺口。

方格纸与自动铅笔

本文信息核对时间:2026-11