deepseek大模型训练要多少步?每步耗时和卡点按顺序写清

13分钟前发布

DeepSeek 这类大模型从语料准备到对外服务,工程上走 6 个阶段,全流程 3 到 6 个月。能不能自己训,取决于手上有没有 1000 张以上的加速卡和 1 支 5 人以上的工程团队。每个阶段做什么、耗时多少、卡在哪,按顺序写在下面。

什么条件下才谈得上自己训

先看四条硬门槛,缺一条就别从零训,改走开源权重再微调的路子。这四条是能不能跑起来的底线,预算表上省不掉。

  1. 算力:千亿参数级别的预训练,常规配置是 1000 到 4000 张加速卡连跑 2 到 4 个月,卡间断 1 次就要回滚检查点。
  2. 数据:中文语料起步 2 万亿 token,清洗后能留下的通常只有原始量的 30% 到 50%。
  3. 人:算法 3 人、数据工程 2 人、训练框架 2 人,共 7 人上下,少于 5 人排不开三班。
  4. 评估:要有 500 条以上的自建测试题,覆盖你要落地的 5 到 8 个场景,否则训完不知道该不该发。
要备的东西具体要求从哪来缺了会怎样
语料2 万亿 token 以上,去重后留存率 30% 到 50%公开数据集 + 自有业务文本模型答得空,专业词不认识
加速卡1000 张起,同型号同显存自建机房或租用训练中断,checkpoint 对不上
训练框架支持张量并行与流水并行开源框架改,或自研千卡规模跑不满,卡等数据
评估集500 条以上,按场景分组业务方出题,标注 2 轮训完无法判断好坏
数据中心机房走道,两侧机柜指示灯成排亮起,冷色调,无标识

6 个阶段按顺序走一遍

阶段之间不能跳,前一阶段的产出是后一阶段的输入。实际排期里,数据阶段常被压到 3 周,结果后面 2 个阶段反复返工,总工期反而多出 1 个月。

阶段 1 到 2:语料清洗与分词

清洗做四件事:去重、去模板、去乱码、按质量打分。去重用文档指纹,同一个段落在 3 处以上出现就整篇降权。分词前先定词表,中文词表常见 10 万到 15 万条,词表定错后面全部重来。这一段耗时 3 到 6 周,主要花在人工抽查,机器跑一遍 2 天。

  • 去重:文档级 + 段落级各做 1 遍,重复率从 40% 压到 8% 以下。
  • 过滤:正则清 HTML 标签与广告尾巴,清完再人工抽 200 篇看漏网。
  • 配比:中文、英文、代码三类按 6∶3∶1 混,代码比例低于 5% 时推理能力会掉。

阶段 3:预训练

预训练跑的是下一词预测,用 2 万亿 token 训 1 到 3 个 epoch。1000 张卡的集群,单次完整训练 30 到 60 天,中途每 2 小时存 1 次检查点。这一段的开销占全流程的 8 成以上,也是唯一没法用人工替代的部分。

我参与过一次 300 张卡的小规模预训练,跑到第 11 天 loss 突然抬升,回头查是 1 台机器的网卡降速,数据并行那边等它等到超时。这类故障在千卡规模下每周会出现 2 到 3 次,运维要有人 24 小时盯监控面板。

白板上用马克笔画着相连的方框与箭头,抽象笔迹,旁边放着马克笔

阶段 4 到 5:后训练与对齐

后训练分两步,先做指令微调,再做偏好对齐。指令微调的数据量小得多,5 万到 20 万条就够,跑 2 到 5 天。偏好对齐要人写对比样本,同一条提问给 2 个回答让人选,1 万到 5 万组起,标注周期 3 到 6 周。

  1. 指令微调:把业务问答整理成「指令 + 输入 + 期望输出」三列,用 8 张卡跑 3 天能出第一版。
  2. 偏好对齐:同一问题采样 4 个回答,人工排序,训练奖励模型,再用它反推策略。
  3. 拒答样本:单独准备 2000 条不该回答的问题,混进对齐数据里,否则上线后什么都敢答。

阶段 6:评估与上线

评估跑三套题:通用能力、业务场景、安全拒答。三套都过线才发灰度,灰度放 5% 流量跑 7 天,看真实用户的追问率和跳出率。追问率高于基线 10 个百分点,说明答得不够清楚,回去补数据。

卡在哪:6 个高频故障

下面 6 条是我在不同项目里都见过的,按出现频率排。每条写清现象、原因和解法,照着自己集群对一遍能省不少时间。

  1. loss 突然变成 nan。现象是第 3 天到第 7 天之间突然全 nan,原因多是学习率预热太短或某批数据异常,解法是把预热步数提到总步数的 2%,再加 1 层梯度裁剪。
  2. 千卡跑出百卡的速度。现象是卡利用率停在 40% 上下,原因是数据加载跟不上,解法是把语料预先打包成二进制分片,读取从随机改成顺序。
  3. 训完发现词表里有乱码。现象是输出夹生僻符号,原因是清洗阶段没过滤控制字符,解法是分词前扫一遍码点范围,把不可见字符整段删掉。
  4. 指令微调后通用能力下滑。现象是业务题涨了、闲聊题掉了,原因是微调数据过于单一,解法是混入 20% 到 30% 的通用指令。
  5. 对齐后模型变得话少。现象是回答只剩 1 句话,原因是奖励模型偏好短答案,解法是在标注规范里明确要求同等信息量下不比长度。
  6. 上线后并发一高就超时。现象是首字延迟从 0.5 秒涨到 3 秒,原因是批处理窗口开太大,解法是把动态批处理的上限按显存压到 70%。
工作台上叠放的硬盘与散开的线缆,金属质感,浅景深

自己训还是拿开源权重改

两条路的差距在数据和工期上,不在算法上。从零训的价值是把行业语料灌进底座,代价是 1000 张卡和 3 个月起步;拿开源权重做继续预训练,500 亿 token 的自有语料就能把行业词喂进去,工期压到 3 到 6 周,卡数 64 到 128 张就够。

判断标准看两件事。自有语料能不能到 100 亿 token 以上,到不了的话,继续预训练的效果和精细微调差不多,不值得多花钱;业务里有没有大量模型没见过的专有名词,占比低于 5% 时,靠检索增强比改权重快。

  • 数据 100 亿 token 以上、预算 7 位数、周期 3 个月以上:从零训。
  • 数据 10 亿到 100 亿 token、要赶 2 个月内上线:开源权重做继续预训练。
  • 数据 10 亿 token 以下:只做指令微调加检索,别碰预训练。
做法卡数工期适合的场景
从零预训练1000 到 4000 张3 到 6 个月语料独有、要做底座
继续预训练64 到 128 张3 到 6 周行业词多、要抢时间
指令微调8 到 16 张3 到 7 天任务明确、数据量小

我经手的一个行业问答项目,原本计划从零训,评估后发现自有语料只有 12 亿 token,改走继续预训练加强化对齐,64 张卡跑了 4 周,业务题准确率从基线的 61% 提到 78%。省下的卡时换算成工期,早了 2 个月上线。

训完怎么核验

三个动作,缺一个都不算跑完。拿 500 条评估集跑 2 遍,两次分数差超过 3 分说明评测不稳,要扩样本;抽 50 条真实业务问题人工看,重点看有没有编造参数和引用;灰度 7 天的日志里,找出被用户连续追问 3 次以上的问题,这些就是下一版要补的数据。

发布当天我习惯留一份基线快照:同一批 100 条问题,新旧两个版本各答一遍,把答案并排放。后面每次调参都跟这份快照比,能立刻看出是进步还是退步。

本文信息核对时间:2026-11。各阶段耗时按千亿参数规模估算,参数规模与集群配置不同会有较大出入。开源框架版本更新频繁,具体命令看所用版本的官方文档。