deepseek大模型训练流程多少步?每一步要备什么先列清

23分钟前发布

deepseek 这类大模型的训练分 5 段:数据准备、预训练、监督微调、对齐、评测上线。每段跑几天到几周,中间可以停、可以回滚,但顺序不能跳。

2024 年底公开的技术报告里,DeepSeek-V3 预训练用了 14.8 万亿 token,总参数 6710 亿、每次推理激活 370 亿。这组数字指向一个事实:算力大头压在第 2 段,后面的微调和对齐段用掉的小时数少一个量级。

完整链路分几段

把训练当成一条产线看,5 段的边界很清楚:每段有独立的输入、独立的产出物,出问题也只回退这一段。跳过任何一段,后面都要重跑。

阶段这一段在干什么典型耗时产出物
数据准备清洗、去重、按领域配比1 到 2 周训练语料、词表
预训练下一词预测,把语言规律压进参数数周到 2 个月基座模型权重
监督微调用问答对教它按格式回答2 到 5 天会听指令的模型
对齐偏好优化,压掉啰嗦与乱答1 到 3 周可上线版本
评测上线跑题库、抽人评、小流量灰度3 到 7 天评测报告、灰度包

表格里第 2 段的耗时区间跨了 8 倍,差别来自模型规模。70 亿参数和 6710 亿参数,同一份语料跑完的卡时能差 2 个数量级,所以给小模型做流程验证更划算。

开始之前要备什么

4 件事没备齐就开跑,大概率在第 2 段中途停下来。这几项属于硬条件,缺一项都得回头补。

  1. 算力:按参数量估卡数,训练 70 亿参数至少要 8 张 80G 卡起步,6710 亿这类规模要上千张卡连片跑。
  2. 语料:按 token 算,经验值是参数量的 20 倍以上,7B 模型配 1500 亿 token 属于偏低配。
  3. 词表与分词器:词表定下来就不要再改,中途换词表等于把已训的权重作废。
  4. 评测集:先划出 500 到 2000 条不参与训练的题,训练全程只用来打分,不许混进语料。

4 项里容易凑数的是语料。凑够 token 量不难,难的是配比合理、版权清楚、去重彻底。语料质量差 1 档,后面 4 段全都要多跑 1 轮,算力成本反而更高。

机房过道的机柜指示灯与冷色地面

数据准备这一段怎么做

清洗的活比想象中琐碎:去重、去模板页、去乱码、按语言分类,再去掉版权不明的大段转载。语料里重复段落超过 3 成的,训出来的模型会背原文,问它问题直接吐训练集里的句子。

配比决定模型的偏科方向。中文语料压到 10% 以下,中文问答就会明显变差;代码语料给到 20% 以上,数学和逻辑题的正确率会往上走,代价是闲聊变生硬。配比没有通用答案,看这个模型打算用在哪。

清洗环节有个量化指标:同一段 13 字以上的文字出现超过 3 次,就算重复。按这个口径跑一遍,普通网页语料的去重比例常在 30% 到 50% 之间,比人工抽查准得多。

预训练这一段在跑什么

目标函数只有一句话:给前文,猜下一个词。整段训练就是把这个猜词任务在几万亿 token 上重复,让参数记住搭配规律。它学不到「该怎么回答」,只学到「话该怎么接」。

这一段最费钱,也最怕中途炸。常见做法是每 2000 到 5000 步存一次检查点,出现 loss 突然上翘就回退到上一个检查点,把学习率调小再跑。我见过 1 次 loss 在第 3 天突然翻倍,原因是一批语料里混进了大量重复的表格文本。

检查点怎么设

存放频率按步数不按小时,2000 到 5000 步存 1 次,同时保留 3 个滚动版本。6710 亿参数级别的模型,1 份检查点动辄几百 GB,留 3 份就要按 PB 级存储准备,磁盘预算要提前算进去。

为什么还要分专家

6710 亿参数如果每次推理全激活,单次响应成本会高到没法商用。DeepSeek 的做法是把前馈层切成多个专家,每次只激活其中一部分,370 亿激活量对应 8 个专家里选 2 个。训练时要额外加一个负载均衡损失,防止所有 token 都挤到同 2 个专家上。

微调与对齐这两段

监督微调用的是人工写的问答对,几万到几十万条,教它认指令格式:什么问题该怎么起头、要不要分条、什么时候该说不知道。这一步跑得快,2 到 5 天就够,效果主要体现在「听话」上。

对齐段用偏好数据,同一问题给 2 个回答,让人标哪个更好,再用强化学习把模型往好答案那边推。DeepSeek-R1 公开的做法是用规则奖励替代部分人工标注,数学题看答案对不对,代码题看能不能跑通。

规则奖励省的是标注费,换来的风险是模型钻规则空子。答案格式写对、推理过程乱写也能拿分,抗这个的办法是加 1 组长度惩罚和 1 组格式校验,两个都过才给奖励。

  1. 先跑监督微调,把格式教会,这一步不过关,对齐段会被放大成胡说。
  2. 再跑偏好优化,盯 2 个指标:回答长度有没有失控变长、拒答率有没有突然升高。
  3. 对齐完必须回测基座能力,数学和代码题的分数掉超过 5 个点,就要减少对齐步数。
白板上贴满便签并连成流程框图

卡在哪:6 个常见故障

  1. loss 不降。原因是学习率太大或语料里有大量乱码,把学习率降一半、重新抽 1 万条样本人工看 50 条。
  2. loss 降到很低但答非所问。原因是语料重复度过高,模型在背原文,重新做一遍段落级去重。
  3. 训练到一半显存爆了。原因是序列长度变长但 batch 没跟着调,把单卡 batch 减小、梯度累积步数加倍。
  4. 中文能力突然变差。原因是这一批语料的语言配比出错,检查采样脚本里的权重文件是不是被覆盖了。
  5. 微调后说话变啰嗦。原因是偏好数据里长答案占比过高,标注时把长度差控制在 20% 以内。
  6. 评测分数虚高。原因是评测集和训练语料有重叠,做一遍 13 字以上的子串比对就能查出来。

怎么判断一段跑通了

不看 loss 曲线单点,看 3 个可复核的动作。3 个都过,这一段才算收工。

  1. 抽 100 条留出样本,人工看答对比例,低于上一版就回滚。
  2. 跑 1 遍固定题库,同一批题前后两版分数差在 2 个点以内算正常波动。
  3. 拿 20 条越界提问试拒答,该拒的拒不掉,说明对齐段还没到位。

评测集怎么划才不作废

500 条起步,按能力分 4 组:常识、数学、代码、中文表达,每组 100 到 150 条。划的时候随机抽、人工核,剔除重复题;定稿后单独存 1 份只读副本,训练脚本里不要挂这个目录。

桌面上摊开的打印资料与一支笔

整条链路的时间分配大致是:数据 1 到 2 周,预训练占 70% 以上,微调加对齐 3 到 4 周,评测 1 周。把评测集提前划出来,比事后补一套更能省时间。

小团队做不了全链路,可以从第 3 段切入:拿开源基座做微调,只跑监督微调和轻量对齐两段,成本能压到全流程的 5% 以内。这条路的天花板受基座限制,选基座时先看它的中文语料占比。

按上面 5 段排期,1 个 70 亿参数的模型,2 个人 3 到 4 周能跑完 1 轮完整流程;6710 亿这个量级要几十人的团队配合,卡时按万卡天计。规模不同,流程一样,节奏差 2 个数量级。

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