DeepSeek 大模型训练流程要多久?时间都花在哪几步

1小时前发布

DeepSeek 这类大模型的训练走 6 个阶段:数据准备、预训练、监督微调、偏好对齐、评测、量化部署。算力从申请到释放按周计,一次完整流程 3 到 6 个月,预训练一段就占掉七成时间。中途返工多半停在数据与评测两处。

下面按「谁能跑、要备什么、每一步怎么做、卡在哪、怎么核验」的顺序写。每一步我都会给出时间区间与产出物,方便你对照自己团队现在的位置。

一、谁有条件跑一遍

小团队做全流程预训练不现实,但做后 4 个阶段可行。先看 4 个硬条件,缺一项就会在中途停住。

  1. 算力。全参数预训练以千卡起步,租用价格按卡时结算;只做微调,8 到 32 张卡能起步。
  2. 数据。中文语料要过清洗与去重,一份 1TB 的原始网页抓取,清洗后常剩 200GB 上下。
  3. 人。至少 1 个懂分布式训练的工程、1 个做数据评估的人,两个人兼着做也行,但别一个人全包。
  4. 评测集。手上要有 200 到 500 条自己的题,覆盖真实业务问题。没有这套题,后面调什么都说不清好坏。

我见过一个 6 人团队的做法:跳过预训练,直接拿开源基座做微调,2 个月做出一个能用的行业模型。算力花了 4 万元上下,比自建预训练低两个数量级。

二、动手前要备齐的东西

要备的规模或份数具体要求在哪拿
预训练语料清洗后 200GB 起去重、去广告、去乱码,保留来源与授权记录公开语料集 + 自有文档
指令微调数据1 万到 10 万条一问一答成对,答案由懂业务的人写或改过客服记录、业务文档改写
偏好数据5 千到 5 万组同一问题 2 个答案,标注哪个更好、为什么内部标注,或让强模型初筛再人工复核
评测题200 到 500 条含标准答案与判分口径,覆盖 5 类以上场景自己攒,从真实提问里抽
算力配额按阶段分别申请预训练要连续占用,微调可碎片化云厂商或自有集群
机房内成排服务器机柜,指示灯发出蓝绿光点

三、6 个阶段怎么做

每一步写清 4 件事:在哪做、入口叫什么、要多久、产出什么。时间按中等规模项目估,团队人数与卡数不同会有出入。

  1. 数据准备。在对象存储里先建 3 个桶:原始、清洗后、训练用。清洗脚本一般自己写,去重、语言识别、敏感内容过滤各一段。这一步 3 到 6 周,产出是一份可复现的数据清单,记清每个文件从哪来、过了哪几道处理。
  2. 预训练。在 GPU 集群上跑,框架用 Megatron 或 DeepSpeed 这类支持并行的。中等规模 200 亿参数模型,千卡规模跑 2 到 4 周。产出是一组基座权重文件,加一份损失曲线。
  3. 监督微调。入口就是训练框架里的 SFT 脚本,输入是基座权重加指令数据。8 到 32 卡跑 3 到 7 天。产出是可以对话的模型,但它还不会分好坏。
  4. 偏好对齐。用偏好数据做强化学习或直接偏好优化,这一步对超参最敏感,2 到 3 周。产出是语气、拒答边界、格式都稳定下来的版本。
  5. 评测。拿那 200 到 500 条自有题跑一遍,同时跑 2 到 3 个公开榜单做参照。评测本身 1 到 2 天,但看结果、定位问题要 1 周。
  6. 量化与部署。把权重压到更低位宽,用推理框架上线,接口层加限流与日志。2 到 5 天。产出是一个能接流量的服务地址。

时间都花在哪一步

按上面区间算,预训练占 2 到 4 周,看着不是大头,但排队等卡、跑崩重来的时间常翻倍。数据准备和评测这两步加起来 4 到 7 周,占了整个周期的三成左右,很多团队在排期时把它算漏了。

夜里办公桌上两台显示器显示模糊折线

卡数怎么估

按参数规模估一个起点:200 亿参数全量预训练,千卡跑 2 周上下;70 亿参数,128 卡跑 3 到 5 天。这两个数只作排期参考,实际耗时受数据吞吐与通信效率影响,慢一倍的情况常见。

租卡的账要按「卡时」算,别按「天」算。排队等卡的时段也要计费或计入排期,这一项最容易在预算表里漏掉。我见过一份排期表,训练 2 周写成 2 周,实际含排队用了 5 周。

一个人站在白板前画流程方框

四、卡在哪:6 个高频返工点

  1. 损失值跳到无穷大。现象是训练日志里的数字突然失去意义,原因是学习率偏大或混合精度溢出。解法是先降学习率重跑 1 千步,能稳住再往上加,同时打开梯度裁剪。
  2. 微调后模型开始复读。现象是同一个句式连着出现,原因是 SFT 数据里模板化问答占比过高。解法是把同模板样本压到总量的 20% 以内,掺入自由问答。
  3. 对齐之后变得不敢答。现象是正常问题也回「无法回答」,原因是偏好数据里拒答样本给得太多。解法是补 3 千条正常回答的好样本,重跑对齐。
  4. 评测分数高但线上不好用。现象是榜单涨了 5 个点,业务反馈没变化。原因是评测题与真实提问分布不一致。解法是从线上日志抽 100 条真问题重做评测集。
  5. 训练中途 OOM。现象是跑到几千步报显存不足,原因是序列长度分布不均,长样本撞上峰值。解法是按长度分桶,或把最大长度从 8K 降到 4K 先跑通。
  6. 数据里混进评测题。现象是评测分数虚高。原因是清洗时没做去污染。解法是用评测集做一次 n-gram 比对,命中率高的样本剔除。

五、跑完怎么核验

训练脚本正常退出不等于做成了,看 3 个地方。

  1. 看损失曲线末段是否还在降。最后 10% 的步数里曲线走平,说明这个规模已经吃满数据;还在明显下降,说明数据没用完,可以再跑。
  2. 抽 20 条自有题人工看。判分口径写清楚:答对、答偏、不答各算几分,两个人分别打分,分歧超过 20% 的题要重新定义口径。
  3. 上线前跑一轮小流量。取 5% 的请求打到新模型,对比老模型的追问率与转人工率,跑 3 天再决定全量。

评测集怎么攒才不白费

别从网上抄公开题。公开题在网上流传太久,模型早就见过,跑出来的分数没有参考价值。从自己的客服记录、工单、销售问答里抽 200 条真问题,每条配一个懂业务的人写的答案,再补一句判分口径。

判分口径要具体到可执行。「回答准确」这种描述没法用。写成「提到 3 个关键参数中的 2 个算对,参数写错一个算偏」,两个人分别打分,分歧才能收敛。

整个流程里,最容易省掉的其实是第 5 步的评测集。省下这 2 周,后面每一轮调参都变成凭感觉,返工的总时间远超 2 周。

最后补一条经验:把每一阶段的产物都归档,带版本号。基座权重、SFT 后的权重、对齐后的权重,各存一份并记下对应的数据版本。半年后要复现某个结果,没有这套归档只能从头再跑一遍。

卡时的账还有一个隐形部分:失败重跑。分布式训练跑到一半通信中断,前面的步数作废,从最近的检查点恢复。检查点存得稀,一次失败就损失几小时。

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