Skip to content
Gains Summary
Main Navigation 首页 / Home
C++ 编程 / C++ Programming
系统与高性能 / Systems & Performance
Web 开发 / Web Development
人工智能 / Artificial Intelligence
工业软件 / Industrial Software
其他内容 / Other Topics
C++ 编程 / C++系统与性能 / SystemsWeb 开发 / Web人工智能 / AI工业软件 / Industrial

外观

Sidebar Navigation

← 人工智能 / Artificial Intelligence

AI 基础设施 / AI Infrastructure

集群基础设施 / Cluster Infrastructure

1. GPU 集群基础设施全景——训练框架之下、硬件之上的那一层 / GPU Cluster Infrastructure Between Training Frameworks and Hardware

2. GPU 集群硬件架构——从 NVLink 到 InfiniBand / GPU Cluster Hardware from NVLink to InfiniBand

3. 异构硬件生态——CPU/DPU/NPU 的集群角色 / Roles of CPUs, DPUs, and NPUs in Heterogeneous Clusters

4. GPU 虚拟化与资源隔离——一张卡多人用 / GPU Virtualization and Resource Isolation

5. 作业调度系统——Kubernetes 和 Slurm / Job Scheduling with Kubernetes and Slurm

6. 多作业与多租户管理——让集群被所有人高效使用 / Multi-Job and Multi-Tenant Cluster Management

7. 网络架构与 RDMA——让 GPU 之间的通信更快 / Network Architecture and RDMA for Faster GPU Communication

8. NCCL 集群组网——大规模集合通信调优 / NCCL Cluster Networking and Collective Communication Tuning

9. 分布式存储——让数据跑得比 GPU 快 / Distributed Storage That Keeps GPUs Fed with Data

10. 集群运营与故障处理——让万卡集群稳定运行 / Operations and Failure Recovery for Large GPU Clusters

训练系统 / Training Systems

1. AI Infra 训练侧全景——让千亿参数模型跑起来需要什么 / Training-Side AI Infrastructure for Hundred-Billion-Parameter Models

2. GPU 硬件基础——为什么 GPU 比 CPU 快,显存为什么总是不够 / GPU Hardware, Parallel Throughput, and Memory Capacity

3. 分布式训练——如何把大模型分到多张卡上 / Distributing Large-Model Training Across Multiple GPUs

4. 显存优化——让 70B 模型在有限显存中跑起来 / Memory Optimization for Running 70B Models

5. 混合精度与通信——BF16 为什么是 LLM 训练的主流选择 / Mixed Precision and Communication with BF16

6. 预训练——Scaling Laws、数据工程与训练稳定性 / Pretraining with Scaling Laws, Data Engineering, and Stability

7. 后训练 SFT——从预训练模型到助手模型 / Supervised Fine-Tuning from Pretrained Model to Assistant

8. 后训练 RLHF/DPO——从助手模型到对齐模型 / RLHF and DPO from Assistant Model to Aligned Model

9. 高效微调——LoRA 和 QLoRA 让大模型走进消费级 GPU / Efficient Fine-Tuning with LoRA and QLoRA on Consumer GPUs

10. 训练工程——千卡集群的管理与故障恢复 / Training Engineering for Thousand-GPU Cluster Operations and Recovery

本页目录

AI Infra 训练侧全景——让千亿参数模型跑起来需要什么 / Training-Side AI Infrastructure for Hundred-Billion-Parameter Models ​

📅 创建时间:2026-06-02 🏷️ 标签:#AI-Infra #训练侧 #全景 #分布式 #GPU 📚 前置知识:[[/04-ai/01-llm-engineering/01-neural-network-basics]](神经网络基础) [[/04-ai/01-llm-engineering/07-llm-evolution]](LLM 发展脉络) 📚 相关知识:[[01-gpu-hardware]](GPU 硬件基础) [[02-distributed-training]](分布式训练)


场景:一个 70B 参数的模型怎么训练起来 ​

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  你拿到了一张 H100 显卡(80GB 显存)。                      │
│                                                             │
│  第一件事:试着把 70B 参数的模型加载进去。                   │
│  70B 参数 × 2 字节(BF16)= 140GB                         │
│  你的卡只有 80GB。                                         │
│  → 加载失败。                                              │
│                                                             │
│  第二件事:把模型切成 8 块,放到 8 张卡上。                │
│  → 勉强加载成功,但每张卡之间要不断同步数据。               │
│  → 通信太慢,GPU 大部分时间在等数据,效率只有 30%。        │
│                                                             │
│  第三件事:调整并行策略 + 优化显存。                        │
│  → 数据并行 + ZeRO-3 + 混合精度 + Gradient Checkpointing   │
│  → 效率提升到 55%,但还是不够。                            │
│                                                             │
│  第四件事:换更大集群,调参,继续优化。                     │
│  → 最终在 64 张 H100 上稳定跑起来,MFU 70%。               │
│                                                             │
│  结论:70B 模型的训练不是"下载模型开始训练"这么简单。       │
│  它需要一整套 Infra 基础设施来支撑。                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

第1节:什么是 AI Infra ​

传统后端 Infra vs AI Infra ​

┌─────────────────────────────────────────────────────────────┐
│              传统后端 Infra vs AI Infra                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  传统后端:                                                │
│  用户请求 → API 网关 → 应用服务 → MySQL / Redis            │
│                                                             │
│  AI Infra(训练侧):                                       │
│  原始数据 → 数据流水线 → 分布式训练框架 → GPU 集群         │
│                         ↑                                   │
│                   这个环节就是 AI Infra 的核心               │
│                                                             │
│  AI Infra(推理侧):                                       │
│  用户请求 → 模型服务 → vLLM / TensorRT → 模型权重          │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

AI Infra 的核心挑战 ​

训练一个 LLM(大语言模型)和训练一个传统 ML 模型(比如推荐系统)的难度完全不在一个量级:

┌─────────────────────────────────────────────────────────────┐
│                 LLM 训练 vs 普通 ML 训练                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  │ 维度           │  推荐系统 / CTR  │  LLM(如 Llama-3)  │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 模型参数量      │  百万~千万       │  7B ~ 405B         │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 训练硬件        │  单机 4~8 卡    │  64~10000+ 张 GPU  │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 训练时长        │  小时~天         │  天~月              │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 显存需求        │  < 100GB        │  140GB~TB 级       │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 数据量          │  GB~TB 级       │  TB~PB 级          │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 故障容忍        │  重跑即可        │  重跑 = 浪费百万   │
│  ├────────────────┼───────────────────┼──────────────────────┤
│  │ 调参难度        │  中等           │  高(Loss 稳定性)   │
│                                                             │
│  LLM 训练是工程上的极端挑战,                              │
│  需要 GPU 集群、分布式框架、显存优化、故障恢复等全套能力。  │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

AI Infra 的三大墙 ​

┌─────────────────────────────────────────────────────────────┐
│                 训练侧的三大工程瓶颈                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 显存墙(Memory Wall)                                   │
│     70B 参数的模型,BF16 格式 = 140GB                       │
│     单卡 80GB → 存不下                                     │
│     → 需要分布式、ZeRO 切片、Gradient Checkpointing         │
│                                                             │
│  2. 算力墙(Compute Wall)                                  │
│     训练 1T token 的计算量 ≈ 10^23 次浮点运算              │
│     单卡 H100 FP8 = 3958 TFLOPS                            │
│     → 需要数千张卡并行计算                                  │
│                                                             │
│  3. 通信墙(Communication Wall)                           │
│     分布式训练中,卡间需要同步梯度                          │
│     跨节点带宽:800 Gbps(IB)vs 节点内 NVLink:900 GB/s   │
│     → 通信很容易成为瓶颈,需要精心设计通信策略               │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

第2节:训练侧技术全景图 ​

一个模型的完整生命周期 ​

┌─────────────────────────────────────────────────────────────┐
│                 模型训练完整生命周期                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────────┐                                       │
│  │ 阶段 1:预训练   │  Pretraining                         │
│  │ 自回归语言建模   │  自回归语言建模                      │
│  │ 目标:通用能力   │  学会"下一个词是什么"                │
│  └────────┬────────┘                                       │
│           │                                                 │
│           ▼                                                 │
│  ┌─────────────────┐                                       │
│  │ 阶段 2:后训练   │  Post-training                       │
│  │                 │                                       │
│  │  ┌───────────┐  │                                       │
│  │  │ SFT      │  │  监督微调——学会"怎么对话"             │
│  │  └───────────┘  │                                       │
│  │  ┌───────────┐  │                                       │
│  │  │ RLHF/DPO  │  │  对齐微调——学会"什么该说什么不该说"   │
│  │  └───────────┘  │                                       │
│  └────────┬────────┘                                       │
│           │                                                 │
│           ▼                                                 │
│  ┌─────────────────┐                                       │
│  │ 阶段 3:部署上线  │  Inference                           │
│  │ 模型服务化       │  vLLM / TensorRT-LLM / TGI           │
│  └─────────────────┘                                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

训练侧 Infra 分层 ​

┌─────────────────────────────────────────────────────────────┐
│                 AI Infra 训练侧分层图                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  应用层(你写的训练代码)                                     │
│  ┌─────────────────────────────────────────────────────┐  │
│  │  数据集 → 模型定义 → 训练循环 → 日志记录               │  │
│  └─────────────────────────────────────────────────────┘  │
│           ↓                                                 │
│  框架层(DeepSpeed / Megatron-LM / FSDV)                   │
│  ┌─────────────────────────────────────────────────────┐  │
│  │  分布式策略 + 显存优化 + 混合精度 + Checkpoint        │  │
│  └─────────────────────────────────────────────────────┘  │
│           ↓                                                 │
│  通信层(NCCL / UCX / GLOO)                               │
│  ┌─────────────────────────────────────────────────────┐  │
│  │  AllReduce / AllGather / 点对点通信                  │  │
│  └─────────────────────────────────────────────────────┘  │
│           ↓                                                 │
│  硬件层(GPU / NVLink / InfiniBand)                        │
│  ┌─────────────────────────────────────────────────────┐  │
│  │  GPU 集群拓扑 + 显存管理 + 网络拓扑                   │  │
│  └─────────────────────────────────────────────────────┘  │
│                                                             │
│  越底层越通用,越上层越和具体训练阶段相关。                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

第3节:从算法层到工程层 ​

你的 LLM 知识在这里 ​

你已经在 LLM/ 目录下学过:

┌─────────────────────────────────────────────────────────────┐
│                 已有知识:算法层(LLM 目录)                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  神经网络基础 → Transformer 架构                           │
│                    ↓                                        │
│               Self-Attention 的数学原理                      │
│                    ↓                                        │
│               Tokenization、位置编码                         │
│                    ↓                                        │
│               解码策略(Greedy / Beam / Sampling)           │
│                    ↓                                        │
│               模型演进(GPT / BERT / T5 / LLaMA...)         │
│                                                             │
│  这些告诉你:模型"是什么"和"怎么做"                        │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

AI Infra 告诉你:模型"怎么能跑起来" ​

┌─────────────────────────────────────────────────────────────┐
│                 新知识:工程层(AI Infra 目录)                 │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  算法层(已知)                                             │
│  Transformer = Self-Attention + FFN + LayerNorm             │
│  Self-Attention = QKV 投影 + 注意力计算 + 输出投影          │
│                                                             │
│  工程层(新学)                                             │
│  QKV 投影 8xFP16 张量,切分到 8 张卡 → 张量并行            │
│  Attention 输出累积梯度,需要 AllReduce → 通信策略          │
│  70B 参数每张卡存不下 → ZeRO-3 分片显存                   │
│  单精度 FP32 梯度会溢出 → BF16 前向 + FP32 优化器状态     │
│                                                             │
│  算法层决定模型能力上限,                                    │
│  工程层决定模型能否被训练出来。                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

一个 Attention 计算的工程视角 ​

┌─────────────────────────────────────────────────────────────┐
│          "算法层 + 工程层" 的一个具体例子                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  算法层(LLM 目录学过的):                                 │
│                                                             │
│  Attention(Q, K, V) = softmax(QK^T / sqrt(d)) V           │
│                                                             │
│  工程层(新学):                                           │
│                                                             │
│  70B 模型中,QKV 投影参数规模:                            │
│  4096 × 4096 × 3 × 2字节(BF16) ≈ 400MB × 80层 ≈ 32GB     │
│                                                             │
│  单卡 80GB 显存,模型 + 优化器 + 梯度 + Activation:        │
│  模型 35GB + 优化器 70GB + 梯度 35GB + Activation ?GB     │
│  → 总需求远超 80GB,必须分布式                              │
│                                                             │
│  切分策略:                                                │
│  → 参数分片(ZeRO-3):每张卡只存 1/8 的参数和梯度          │
│  → Activation 重计算(Gradient Checkpointing):            │
│    不存所有中间 activation,用时重新算,节省显存            │
│                                                             │
│  这就是 AI Infra 存在的意义:                               │
│  把算法上可行的东西,在工程上变成可执行的。                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

第4节:各章节内容导航 ​

与 LLM 目录的衔接关系 ​

┌─────────────────────────────────────────────────────────────┐
│                 学习路径:算法层 → 工程层                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  LLM/07-llm-evolution  ──了解 LLM 发展脉络──▶              │
│         ↓                                                   │
│  LLM/08-transformer-deep-dive  ──理解 Attention 原理──▶    │
│         ↓                                                   │
│  aiInfra/01-gpu-hardware  ──GPU 如何执行计算──▶          │
│         ↓                                                   │
│  aiInfra/02-distributed-training  ──多卡如何协同──▶       │
│         ↓                                                   │
│  aiInfra/03-memory-optimization  ──显存瓶颈如何破──▶      │
│         ↓                                                   │
│  aiInfra/04-mixed-precision  ──精度与效率如何平衡──▶      │
│         ↓                                                   │
│  aiInfra/05-pretraining  ──预训练如何做──▶               │
│         ↓                                                   │
│  aiInfra/06-posttraining-sft  ──SFT 如何微调──▶          │
│         ↓                                                   │
│  aiInfra/07-posttraining-rlhf  ──RLHF 如何对齐──▶        │
│         ↓                                                   │
│  aiInfra/08-efficient-finetuning  ──轻量微调怎么做──▶    │
│         ↓                                                   │
│  aiInfra/09-training-engineering  ──训练工程怎么管──▶     │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

各章节主题 ​

章节主题核心问题
[[01-gpu-hardware]]GPU 硬件基础GPU 为什么比 CPU 快,显存管理原理
[[02-distributed-training]]分布式训练如何把大模型分到多张卡上
[[03-memory-optimization]]显存优化如何让 70B 模型在有限显存中跑起来
[[04-mixed-precision]]混合精度BF16 vs FP16,NCCL 通信原理
[[05-pretraining]]预训练Scaling Laws,数据工程,训练稳定性
[[06-posttraining-sft]]SFT监督微调,数据配比,过拟合检测
[[07-posttraining-rlhf]]RLHF/DPOReward Model,PPO,DPO 对比
[[08-efficient-finetuning]]高效微调LoRA,QLoRA,Adapter
[[09-training-engineering]]训练工程Checkpoint,故障恢复,实验追踪

升华:AI Infra 的工程哲学 ​

┌─────────────────────────────────────────────────────────────┐
│              AI Infra 的核心工程哲学                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 没有银弹:每一个优化都是 trade-off                       │
│     → 张量并行通信快,但增加复杂度                          │
│     → 量化省显存,但可能损失精度                            │
│     → 增大 Batch 提升 MFU,但需要更多显存                  │
│                                                             │
│  2. 测量先行:AI Infra 的决策都基于 benchmark               │
│     → 不要猜测瓶颈在哪里,用 profiler 看                     │
│     → nvidia-smi / DCGM / PyTorch Profiler 是你的工具       │
│                                                             │
│  3. 通用到专用的演进:                                       │
│     → PyTorch DDP(通用)→ DeepSpeed(更大规模)            │
│     → HuggingFace Trainer(易用)→ Megatron(极致优化)    │
│                                                             │
│  4. 容错是必须的,不是可选项:                               │
│     → 10000 张卡跑 30 天,任何一张卡故障概率接近 100%       │
│     → 必须在设计阶段就把故障恢复考虑进去                    │
│                                                             │
│  一句话总结:                                               │
│  AI Infra 是把"算法上能算"的模型,变成"工程上能跑"的系统。 │
│  理解 trade-off,而不是追求单一指标最优。                    │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

"AI 可查 vs 必须理解"清单 ​

AI 可查:
✅ DeepSpeed / Megatron 的具体 API 用法
✅ 不同 GPU 型号(A100 / H100 / H200)的详细参数对比
✅ PyTorch 分布式训练的具体配置参数

必须理解:
🔴 为什么 LLM 训练需要特殊的 Infra(显存墙 / 算力墙 / 通信墙)
🔴 算法层(LLM 知识)和工程层(AI Infra 知识)的关系
🔴 AI Infra 训练侧的三层结构:硬件层 → 框架层 → 应用层
🔴 三大工程瓶颈(显存墙 / 算力墙 / 通信墙)分别对应哪些解法
1
2
3
4
5
6
7
8
9
10

学习状态:🟡 开始学习

最后更新于:

Pager
上一篇10. 集群运营与故障处理——让万卡集群稳定运行 / Operations and Failure Recovery for Large GPU Clusters
下一篇2. GPU 硬件基础——为什么 GPU 比 CPU 快,显存为什么总是不够 / GPU Hardware, Parallel Throughput, and Memory Capacity

持续记录,持续成长

Copyright © Tidenflow