deepseek 大模型怎么训练?从数据到上线过 5 道验收

22分钟前发布

DeepSeek 这类大模型的训练分 5 段:数据准备、预训练、后训练、评测、上线灰度。公开技术报告里 V3 版本用了 14.8 万亿 token 预训练、6710 亿总参数、278.8 万 H800 卡时,走完这套流程按公开口径是以月计的周期。

下面按「先要什么、再做什么、卡在哪、怎么确认做完了」四件事写。适合想搞清楚训练到底在练什么的人,也适合要给团队讲一遍流程的人。

谁能做:3 个前置条件

训练一个大模型不是有代码就能跑。3 个条件缺一个都推不动,分别对应数据、算力、人。

  1. 数据规模:中文为主的基座模型,预训练语料按万亿 token 计。V3 用的是 14.8 万亿 token,其中中英文占比最高。
  2. 算力规模:千卡级起步。V3 的预训练累计 278.8 万 H800 卡时,折算成 2000 卡集群是连续跑 58 天左右。
  3. 人力配置:数据工程、训练框架、评测三组人,小组 10 人上下也能推,但三组不能合并,合并后评测会失真。

第 2 条是硬门槛。千卡集群的网络拓扑、故障率、检查点写入速度,任意一项没调好,训练中途会反复回滚,实际耗时比理论值多出 30% 以上。

要准备什么

四类资源要提前备齐,缺一项都会在训练中途停。

资源具体内容规模参考没准备好会怎样
语料网页、书籍、代码、论文,按语言和领域分桶万亿 token 级训练到一半发现某类语料占比过高,只能重跑
算力GPU 集群、高速互联、分布式存储千卡以上通信成瓶颈,卡利用率掉到 40% 以下
训练框架并行策略、混合精度、检查点机制支持千卡并行单卡故障导致整轮重来
评测集能力评测、安全评测、领域评测三套每套 500 到 2000 题训练完说不清好在哪,只能凭感觉判断

表里第 4 行最容易被跳过。评测集要在训练前建好,训练中每 1 万步跑一次,才能看出能力是在涨还是在过拟合。

数据中心走道两侧的机柜,地面反光

流程怎么走:5 段

五段流程有先后依赖,前一段的产出一致性决定后一段能不能开始。每段都写了做什么、要多久、产出什么。

  1. 数据准备:清洗、去重、质量打分、配比。公开资料里这一步占整体工期约三分之一,产出是分好桶的训练集和验证集。
  2. 预训练:按下一个词预测的目标,把万亿 token 灌进模型。V3 的预训练在 2000 卡规模上跑 2 个月上下,产出是基座模型权重。
  3. 后训练:监督微调加偏好对齐,用几万到几十万条高质量对话把基座调成能聊天的助手。这一步通常 1 到 3 周。
  4. 评测:三套评测集全跑一遍,另加人工盲测。人工盲测 500 条样本,2 天能出结论。
  5. 上线灰度:先放 5% 流量,看错误率、拒答率、平均响应长度,稳定 3 天再放全量。

第 2 段和第 3 段的工程量差得很远。预训练吃掉八成算力,后训练只占几个百分点,但后训练决定模型好不好用,两段都不能省。

预训练里在练什么

练的是「给定前文,下一个词最可能是什么」。目标函数简单,难度全在规模和稳定性上。参数量 6710 亿的模型,每个专家只激活一部分,V3 每次前向激活 370 亿参数,这样能在同样算力下把总容量做大。

训练过程中要盯 3 个指标:损失曲线是否平滑下降、梯度范数是否突变、各卡的算力利用率是否均衡。损失曲线出现平台期超过 5000 步,通常是学习率或数据配比出了问题。

后训练为什么决定体验

基座模型只会续写,不会按指令回答。后训练用监督微调教它「问什么答什么」,再用偏好对齐让它学会「哪种回答更受欢迎」。同样一个基座,后训练做得细不细,人工盲测的胜率能差 15 个百分点以上。

偏好数据量不用很大,几千到几万条高质量对比就够,关键是标注一致性。同一批数据由 3 个人标,一致性低于 80% 时要先统一标准再标,否则对齐方向会互相抵消。

桌面上摊开的方格纸与三支铅笔,纸面空白

卡在哪:6 个常见卡点

训练跑不动的原因不多,多数集中在通信、数据、数值稳定这三类。每条写了现象、原因和解法。

  1. 损失突然变成 NaN。原因是混合精度下某些层数值溢出,解法是把这几层单独提回 fp32,并加梯度裁剪。
  2. 卡利用率上不去,卡在 40% 左右。原因是节点间通信带宽不够,解法是换并行切分方式,把通信量大的层放在同一节点内。
  3. 训练到 60% 进度时反复回滚。原因是单卡故障率高,解法是缩短检查点间隔到 30 分钟一次,并做故障自动摘除。
  4. 验证集损失开始上升。原因是过拟合或数据泄漏,解法是查训练集和验证集的重复率,超过 1% 就要重新切分。
  5. 长文本能力差。原因是训练时序列长度太短,解法是在预训练末段加入长序列阶段,把长度逐步拉到目标值。
  6. 中文回答夹英文。原因是语料里英文占比过高,解法是调整配比并在后训练阶段补中文指令数据。

第 2 条最耗钱。卡利用率从 40% 提到 70%,同样任务的时间直接砍掉四成,这也是各家都在自研通信库的原因。

数据配比怎么定

没有通用答案,按目标能力倒推。要做代码能力,代码语料占比往上提;要做长文写作,高质量中文长文的比例要够。V3 公开的配比里中英文占大头,数学和代码单独加权重。

配比调一次要重跑一段小规模实验验证。用小模型跑 1000 亿 token 的对照实验,2 周能出趋势,比直接在大模型上试省 20 倍成本。

做完怎么核验

训练结束不等于能上线。3 个动作能确认模型真的练成了,光看损失曲线不够。损失降下去、能力没涨的情况,在数据配比失衡时经常出现。

  1. 跑固定评测集。同一套题在训练前后各跑一次,分数涨幅要看分项,总分涨 3 分但推理项掉 2 分,说明偏科。
  2. 人工盲测。准备 200 条真实问题,让新模型和上一版各答一遍,标注人不知道哪版是谁,胜率过 55% 才算真的变好。
  3. 压测长尾。挑 50 条冷门问题问一遍,看有没有整段胡编。命中率低于 90% 时,后训练还得再补数据。

第 2 个动作最能说明问题。评测集会被针对性优化,盲测不会,同一批问题连测 3 轮,胜率稳定在 55% 以上才值得上线。

屏幕上滚动的曲线图,坐标与曲线虚化

小团队能复用到什么

不训基座也能用上这套流程。多数团队真正要做的是在自己的数据上做后训练,也就是第 3 段,成本比预训练低 2 个数量级。

  • 准备 3000 到 1 万条领域问答,覆盖常见问法和长尾问法,比例按 7 比 3 分。
  • 用开源基座做监督微调,单卡或 8 卡跑几小时到 1 天。
  • 建 200 条人工盲测集,每轮微调后测一次,胜率不动就停下。

三步走完,领域内的回答质量能比通用模型好一截。我 8 月帮一个制造企业做过一轮,3000 条问答微调 4 小时,人工盲测胜率 62%,投入的算力成本不到预训练的千分之一。

流程本身不神秘,难的是每一段的验收标准要提前定死。定不死,训练就成了不断试的过程,算力花完了也说不清哪一版更好。

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