第 27 章 LLM分布式训练千卡集群
第 27 章 案例:分布式训练与分布式推理
第 27 章 案例:分布式训练与分布式推理
学习目标
- 通过千卡训练集群的完整复盘,理解第 10-12 章的系统落地;
- 通过多区域推理部署案例,理解第 20 章的架构权衡;
- 通过边缘-云协同推理案例,理解分层与成本;
- 掌握成本、性能、可靠性的复盘方法论。
27.1 案例:千卡训练集群的完整复盘
背景:训练一个 70B 稠密模型(1.5 万亿 token,H100 集群,1024 卡)。这个案例复盘从规划到跑通的全过程,是第 10-12 章的系统集成。
27.1.1 并行方案设计(第 10 章)
- 模型放不下单卡:70B BF16 权重 140GB → 需要张量并行;
- 方案:TP=8(机内 NVLink,第 10 章)+ PP=4(跨机,4 机)× DP=32(吞吐)→ 共 8×4×32 = 1024 卡;
- ZeRO 不参与(预训练不用优化器分片,因为 TP/PP 已摊平权重与优化器状态)——这是「数据并行缺显存才用 ZeRO」的边界(第 8、11 章)。
%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
flowchart LR
A[DP=32
吞吐] --> B[PP=4
层切 4 段跨机]
B --> C[TP=8
机内 NVLink]
C --> D[1024 卡
70B]27.1.2 基础设施(第 11-12 章)
- 网络:TP 用机内 NVLink,DP/PP 走 IB;IB 链路健康是第一监控对象(第 11 章);
- Checkpoint:70B 全量约 150GB,每 1000 步异步写盘(第 11 章)——写盘与训练重叠,不阻塞步进;
- 容错:平均每周 1-2 次节点故障,靠「自动剔除 + 从最近 checkpoint 恢复」(第 11 章弹性训练);
- 调度:Volcano 的 gang scheduling(第 12 章)保证 1024 个 Pod 同时就绪才开始。
27.1.3 性能与稳定性(第 11 章)
- 目标 MFU:规划 45%,实际 38-42%(通信 + 气泡 + 负载不均吃掉的 10%);
- Loss spike 实战:训练中 3 次 spike,2 次定位到坏数据批次(跳批),1 次定位到 IB 链路抖动(换路)——第 7 章 loss spike 排查法 + 第 12 章基础设施监控的联合作战;
- 扩展效率:512→1024 卡只提升 1.8 倍(扩展效率 0.9)——PP 段间通信与 DP 同步开始吃吞吐(第 11 章)。
27.1.4 成本复盘(第 4、11 章)
- 成本构成:GPU 时数占 85%(训练)+ 存储/网络 15%;
- 加卡的收益边界:1024→2048 卡,扩展效率降到 0.7,训练时长只省 35%,但成本翻倍——「加卡省钱」的错觉在此戳破(第 20 章 CAP 与成本权衡的实证)。
27.2 案例:多区域推理部署
背景:把 70B 服务部署到华东、华北两区域,就近服务。
%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
flowchart LR
A[华东用户] --> B[华东集群
主]
C[华北用户] --> D[华北集群
主]
B -.故障.-> D
D -.溢出.-> E[公有云弹性池]工程复盘要点(第 20 章落地):
- 模型制品同步:70B 权重 140GB + TensorRT Engine,通过镜像仓库/对象存储 CDN 双区同步(第 18 章「重制品」);
- 一致性路由:会话按租户/前缀 hash 到固定区域(第 20 章),缓存命中靠「同前缀同区」;
- 故障转移的隐性成本:跨区切换 = 重新 Prefill 长上下文,TTFT 跳变(第 20 章)——SLO 要区分「本区正常」与「跨区降级」;
- 成本教训:双区常驻 70B 集群利用率不足 40%,最终方案是「主区常驻 + 次区弹性(冷启动预警)」——用弹性池替代双常驻,省 30% 成本(第 20 章 CAP 权衡的实证)。
27.3 案例:边缘-云协同推理
背景:语音助手(端侧麦克风 + 云端大模型),要低延迟又要能力。
%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
flowchart LR
A[端侧
VAD+ASR 小模型] --> B[端侧意图分类
简单任务本地答]
B -->|复杂任务| C[云端
大模型+Agent]
B -->|简单任务| D[本地小模型
低延迟零成本]复盘要点(第 20 章分层推理):
- 端侧:量化 1B ASR + 意图分类(第 13、18 章),简单指令本地秒回;
- 云端:复杂任务(多轮对话、知识问答)上大模型;
- 协同:端侧把「去隐私后的请求」发云端(第 20 章边缘协同)——音频原始数据不出端,隐私与能力兼得;
- 成本:70% 简单请求本地消化 → 云端成本降 70%(第 26 章三板斧的端侧版);
- 教训:分层路由的「复杂度判定」是瓶颈——判定错(简单任务送云端)就白搭;用「端侧小模型置信度阈值」做判定(第 23 章不确定度阈值)。
27.4 复盘方法论:成本、性能、可靠性
三个案例的共同复盘框架(可复用为模板):
| 维度 | 复盘问题 | 工具 |
|---|---|---|
| 成本 | 实际 vs 规划差多少?钱花在哪?加卡是否划算? | 第 4 章成本账 + 第 11 章 MFU + 第 17 章成本公式 |
| 性能 | MFU/扩展效率/延迟是否达标?瓶颈在哪层? | 第 11 章 Profiler + 第 21 章四层指标 |
| 可靠性 | 故障频率/时长?恢复多快?SLO 达成率? | 第 23 章错误预算 + 第 21 章监控 |
复盘铁律:
- 先有基线再复盘:规划时的 MFU/成本/SLO 目标要提前写死,否则复盘无对照(第 21 章 SLO);
- 成本与性能是一体的:MFU 低 10% = 成本高 10%(第 11 章)——性能优化就是成本优化;
- 复盘要沉淀成 checklists:附录 D-G 的检查清单就是复盘输出(第 19 章「把经验固化为流程」)。
本章要点回顾
- 千卡训练案例:TP 机内 + PP 跨机 + DP 吞吐的组合,ZeRO 在预训练里不是必需品;MFU 38-42% 是现实目标。
- 训练稳定性是「数据 + 网络 + 数值」三方联合排查;加卡收益递减要在规划时算清。
- 多区域部署:重制品同步、一致性路由、跨区切换的 TTFT 成本;弹性池替代双常驻省成本。
- 边缘-云协同:端侧消化简单请求,云端处理复杂任务,去隐私转发——省 70% 成本。
- 复盘方法论:先定基线、成本与性能一体、沉淀成 checklist。
习题
- 用第 4 章 FLOPs 账算:1024 卡 H100(MFU 40%)训 70B×1.5T token 要多久?验证 27.1 的时长。
- 你的多区域部署要不要双常驻?用「利用率 + 弹性池冷启动时间」构建决策模型。
- 边缘协同的「复杂度判定」用置信度阈值,阈值定多少?如何用数据调优?
- 写一份你上一个分布式任务的复盘:成本、性能、可靠性三维度,各列 3 个问题。
延伸阅读
- Meta / NVIDIA 的 1000+ 卡训练博客
- DeepSeek-V3 / Llama 3 技术报告(训练基础设施细节)
- 各云厂商多区域部署案例
- Google SRE 手册(复盘与错误预算)
下一章预告
第 28 章未来趋势:更大 vs 更小模型、MoE/多模态/Agent/世界模型、端侧 AI 与隐私计算、绿色 AI,以及自动化 MLOps/LLMOps——收束全书的展望。