DeepSeek不只是一个模型,而是一套完整的训练工程体系。它涵盖:数据工程、分词策略、模型架构设计、预训练、微调、对齐训练(SFT+RL)、分布式训练优化、推理部署和持续迭代体系。
这个流程不是"下载数据---跑训练"那么简单,而是工业级工程体系,涉及数千小时 GPU 训练、分布式系统优化、语料处理、反馈循环和模型对齐策略。
本文将从研发视角带你理解一个大模型从无到有的全过程。
Part 1:训练目标与设计理念
在开始训练之前,需要明确三件事:
| 关键问题 | DeepSeek 解决方式 |
|---|---|
| 模型要做什么? | 通用语言理解与生成,具备编程、推理、多语言能力 |
| 模型规模设计? | 数十亿至百亿参数(Dense + MoE 混合架构) |
| 训练方式? | 并行分阶段:预训练 → SFT → 强化学习(GRPO)→ 迭代优化 |
DeepSeek 的策略是:
先让模型"拥有语言能力",再让它"像人类表达",最后让它"按用户偏好优化回答"。
Part 2:数据构建与质量链路
训练质量 = 数据质量 × 模型规模 × 训练策略
DeepSeek 的数据来源大致分为:
| 类型 | 占比 | 内容 |
|---|---|---|
| 通用文本 | 40--60% | 书籍、百科、新闻、博客 |
| 科学论文 & 技术文档 | 10--20% | Arxiv/专利/API文档 |
| 编程语料 | 15--30% | GitHub、StackOverflow |
| 多语言语料 | 5--15% | 中文、英文、日语等 |
数据清洗流程:
yaml
采集 → 去重 → 分段 → 质量评估 → 毒性过滤 → 纠错 → 分布平衡 → 数据蒸馏 → 数据增强
关键技术手段包括:
- MinHash 去重避免学成复读机
- LLM-based Quality Scoring(模型自动给语料评分)
- 语言检测 + 格式修复(Markdown、代码结构识别)
- 有害内容过滤(毒性检测、PII 识别)
- 知识重采样(领域分布平衡)
最终输出一个 数万亿 Token 的训练语料池。
Part 3:Tokenizer 训练(分词器设计)
DeepSeek 使用类似 BPE/SentencePiece + 字节级适配(byte-level) 的 tokenizer:
设计目标:
- 兼容多语言
- 适合代码结构
- 避免中文切割丢语义
训练方式:
yaml
语料(抽样) → Token学习 → 合并规则 → Vocab构建 → 频率调优 → 冷门token裁剪
词表大小约:30K~200K token(视模型版本而定)
Part 4:模型架构设计(Transformer Variant)
DeepSeek 的核心结构基于 Decoder-Only Transformer,但进行了工业级优化:
| 模块 | 特点 |
|---|---|
| Attention | QKV多组优化、RoPE增强长上下文、多查询注意力(MQA/GQA) |
| FeedForward | SwiGLU + 更大维度以提升表达能力 |
| Normalization | RMSNorm 替代 LayerNorm |
| 位置编码 | RoPE(可扩展至超长上下文) |
| 稀疏激活 | MoE(Mixture-of-Experts)加速训练与推理 |
模型不是机械堆层,而是经过大量训练实验与损失曲线分析后调优的产物。
Part 5:预训练(Pretraining)
核心任务: predicting next token(语言建模任务)
数学公式:P(xt+1∣x1,x2,...,xt)
流程:
yaml
输入Token序列(Token ids) → Embedding → Transformer编码 → HiddenState → Logits → Softmax → 概率分布 → Loss
训练机制:
- 损失函数:Cross Entropy Loss
- 优化器:AdamW / Lion / Adafactor
- 学习率调度:Warmup + Cosine Decay
- 精度策略:FP16/BF16/FP8 混合精度
- 并行训练:Tensor Parallel + Pipeline Parallel + ZeRO + Checkpointing
训练持续 数周到数月 ,GPU 使用量可达到 数千 A/H 系卡时规模。
这一阶段模型学到:
- 语法、词序、上下文依赖
- 大规模世界知识
- 推断与隐式逻辑能力(涌现效应)
Part 6:SFT(监督微调)
预训练让模型"会说话",但它还不知道怎么用语言解决任务。
SFT 数据来自:
- 高质量人工标注问答
- 过滤后的对话语料
- 专业任务数据(数学、编程、推理)
训练目标:
输入 → 模型回答 → 对照人类参考答案,优化使模型更符合任务需求
Part 7:对齐训练(Alignment: RLHF / GRPO)
DeepSeek 使用 GRPO(Group-based Reinforcement Policy Optimization) 替代传统 RLHF。
流程:
yaml
模型生成多答案 → Reward模型打分 → 计算奖励梯度 → 更新主模型
奖励来自:
- 逻辑性
- 正确性
- 格式清晰度
- 是否符合用户意图
这一阶段让模型:
- 不乱讲
- 不重复
- 逻辑更严谨
- 能避免幻觉或弱化错误输出
Part 8:推理优化与部署
训练完成 ≠ 可实际部署。
需要进行:
- KV Cache 加速
- TensorRT / vLLM 推理优化
- 量化(FP16 → INT8 → INT4甚至NPU特化格式)
- 分布式调度与故障恢复
- 推理裁剪与蒸馏
MoE 模型进一步降低推理成本,让只有部分专家被激活:→ 相同性能,成本更低。
Part 9:持续迭代与数据反馈循环
模型发布后进入Self-Improve Loop:
yaml
用户输入 → 模型行为 → 质量评分 → 数据蒸馏 → 微调更新 → 新版本发布
这使得模型能力不断演化,比传统版本更新方式更高效。
总结:DeepSeek 的训练是一个闭环系统
| 阶段 | 目的 |
|---|---|
| 数据工程 | 决定模型知识上限 |
| Tokenizer | 定义语言颗粒度 |
| 架构设计 | 决定表达能力 |
| 预训练 | 形成基础语言与知识能力 |
| SFT | 让模型学会按任务输出 |
| RLHF/GRPO | 让模型更符合人类偏好 |
| 推理优化 | 让它能运行、能落地 |
| 反馈循环 | 让模型不断进化 |
大模型不是训练一次,而是一个长期进化系统。 真正难的不是模型结构,而是训练工程体系本身。