第 18 章 AI Infra 实践
第18章 AI Infra 实践
本章从工程实践视角梳理千卡/万卡 GPU 集群的完整建设路径。技术栈沿五层架构组织,本节先给出集群架构与基础设施 的实战决策——规模规划、硬件选型与网络选型,后续小节依次覆盖平台调度、分布式训练、数据工程与存储、可观测 性、统一可视化与元数据追溯,最后汇总运维实战与业界标杆。本节只陈述决策要点与工程取舍。
18.1 集群架构与基础设施实战
本节围绕集群落地的三个核心决策展开:建多大规模、用什么硬件、用什么网络。每个决策先给结论,再给判断依据;原 理性推导见对应章节。调度器需感知 NVLink 拓扑、训练框架需按网络拓扑选并行策略、存储经 GDS 直连硬件、可观测 系统收集各层指标,这些层间协作细节在后续小节逐一展开。
18.1.1 规模规划
模型参数从数亿增长到数千亿后,单卡显存与算力无法承载完整模型。Llama 3 405B 仅 BF16 权重就需约 810 GB 显存,
远超单卡 80 GB 容量,实际训练集群普遍达到千卡乃至万卡级别。
工业界按规模将集群分级,如表18-1所示。
表18-1 集群规模分级
集群规 GPU 数量 典型用途 代表案例
模
百卡级 64256 小型训练、微调、推理 企业私有化部署
千卡级 5124,096 中等规模预训练(约70B 模型) Llama 3 70B(约2,000 GPU)
万卡级 8,19232,76 大规模预训练(100B1T 模型) Llama 3 405B(16,384 GPU)、NVIDIA Eos(4,608 GPU)
十万卡 >50,000 超大规模训练、多模型并行 xAI Colossus(200,000 GPU)、Meta(350,000+ H100
级 equivalent)
本书讨论的千卡/万卡集群指 1,024 至 100,000+ 张 GPU 的训练基础设施。集群规模决定模型能力天花板、训练速度与实
验并行度三个竞争指标,算力规模已成为 AI 领域的核心竞争资源,Meta 2024 年宣布算力组合相当于 600,000 张 H100,
xAI 2025 年将 Colossus 扩展至 200,000 张 GPU。
集群从千卡扩展到万卡不是简单乘以 10,而是各维度同时质变,对比如表18-2所示。
表18-2 千卡到万卡质变对比
维度 千卡级 (约1,024 GPU) 万卡级 (约10,000+ GPU) 十万卡级 (约100,000+ GPU)
物理拓扑 单层 Spine-Leaf 即可 需要 3 层 CLOS 或 DragonFly+ 需要跨 Pod/跨建筑互联
网络复杂度 256 条链路 约10,000 条链路 >100,000 条链路
MTBF(故障间隔) 1 次 / 数天 1 次 / 2-3 小时 1 次 / <1 小时
调度延迟 秒级 秒到分钟级 需要分层调度
存储 I/O 约100 GB/s 聚合带宽 约1 TB/s 聚合带宽 约10+ TB/s 聚合带宽
监控数据量 约100 GB/天 约1-10 TB/天 约50+ TB/天
运维团队 3-5 人 10-20 人 50+ 人
规模规划应关注两条工程约束:
- 故障频率随规模恶化:Meta 在 Llama 3 405B 训练的 54 天中发生 466 次中断(计划内 47 次、意外 419 次),约 78% 归因硬件,有效训练时间占比仍大于 90%,全程仅需 3 次人工干预。规模越大,故障恢复与自动运维投入必须越重, 无自愈能力则难以支撑十万卡规模。
- 瓶颈随规模迁移:万卡集群核心瓶颈按重要性排序为网络通信(AllReduce 可占单次迭代 30-50%)、故障恢复(无自愈
时一次 GPU 故障可致数小时回滚)、数据供给(DataLoader 成为瓶颈)与调度效率(数千任务排队),后续小节围绕
这些挑战逐一展开。
集群扩展划分为三个维度:Scale-Up 用高带宽私有互联(NVLink、NVSwitch)把多卡耦合为一张“大 GPU”,用带宽换
可编程性;Scale-Out 用高速网络(InfiniBand、RoCEv2)把节点连成统一资源池,用规模换容量;Scale-Across 跨数
据中心互联。NVIDIA 各代 Scale-Up 能力持续翻倍,B200 达 1,800 GB/s,GB200 NVL72 把 72 张 Blackwell GPU 液冷互
连在一个机柜内,让 72 卡对程序员呈现为一张超级 GPU。三维度对比如表18-3所示。
表18-3 集群扩展三维度对比
扩展方式 英文名称 物理范围 互联技术 典型带宽(每GPU) 延迟
Scale-Up Vertical Scaling 单机/单柜内 NVLink + NVSwitch 900
1,800 GB/s 约1 μs Scale-Out Horizontal Scaling 数据中心内 InfiniBand / RoCE 50100 GB/s 约3-10 μs Scale-Across Cross-DC Scaling 跨数据中心 Spectrum-XGS / 长距光纤 专用链路 约50 μs - 1 ms 规模规划先算“多少卡需要 NVLink 域内互访”(即 TP/SP 域),再倒推域内卡数与机柜形态,最后才决定 Scale-Out 网络 规模。
18.1.2 硬件选型
- 主流加速器决策矩阵 主流加速器的选型决策矩阵如表18-4所示。 表18-4 主流加速器选型决策矩阵 决策因素 H100 H200 B200 MI300X TPU v5p 训练性能 (大模型) ★★★★★ ★★★★★ ★★★★★★ ★★★★ ★★★★★ 显存容量 ★★★ ★★★★ ★★★★★ ★★★★★★ ★★★ 推理性能 ★★★★ ★★★★★ ★★★★★★ ★★★★ ★★★★ 软件生态 ★★★★★ ★★★★★ ★★★★★ ★★★ ★★★★ (JAX) 能效比 ★★★★ ★★★★ ★★★★★ ★★★★ ★★★★★★ 可获得性 ★★★ ★★★ ★★ ★★★★ ★★ (仅 GCP) 单卡成本 约$30K 约$35K 约$40K 未公开 GCP 按需计费 场景化推荐如下。 +-----------------------------------------------------------+ | Scenario Recommended Configuration | +-----------------------------------------------------------+ | Large Model Pretrain (100B+) H100/B200 + NVLink + IB | | Large Model FT (LoRA/QLoRA) H100/H200 (Large VRAM First) | | Distributed Inference H200/B200 (Large Memory+BW) | | Small Model Train (<7B) A100/L40S (Cost Priority) | | Native TPU Users (JAX) TPU v5p (Best Perf/Eff) | | Non-NVIDIA Path Explore MI300X (Cost vs Ecosystem) | | Enterprise Private Deploy DGX Appliance (Out-of-box) | | Cloud Elastic Training On-demand GPU (Karpenter) | +-----------------------------------------------------------+ 核心判断:训练是最大固定成本与时间风险,H100/B200 加 CUDA 生态短期不可替代;大显存芯片(H200、MI300X) 的价值在推理与长上下文,而非峰值算力。
- 中国特供 GPU 要点 出口管制催生中国市场特供 GPU,选型先判断算力与互联哪个是约束。 H800:为满足 BIS 2022 年 10 月出口管制性能密度门槛,削减 Hopper 架构的 NVLink 带宽至恰好低于阈值,其余规格 与 H100 完全一致,本质上是大致减半 NVLink 的 H100。管制生效后 H800 成为中国 AI 公司的默认训练 GPU, DeepSeek、字节跳动、阿里巴巴、百度、腾讯、商汤等头部厂商均围绕它建设训练基础设施,2023 年出现一波赶在新 规收紧前的批量囤货潮。受带宽约束,中国团队被迫转向 Expert Parallelism 与 Pipeline Parallelism,DeepSeek V3 即 在 2,048 张 H800 上完成训练,证明架构创新可部分弥补硬件限制。 H20:2023 年 10 月 BIS 改以 TPP 与 PD 为管制参数后,NVIDIA 推出“保互联、切计算、增内存”的反向路线,精确满 足 TPP 门槛(4,800)与 PD 门槛(5.92): H20 TPP Calculation (INT8, regulated precision): INT8 TOPS = 296 Bit width = 8 bit TPP = 2 x 296 x 8 = 4,736 Absolute ban threshold = 4,800 Difference = 64 (only 1.3% margin) H20 PD Calculation:
PD = 4,736 / 814 mm^2 ~= 5.82
Threshold = 5.92
Judgment = Below threshold, no notification required设计策略:保留完整 GH100 大芯片(814 mm^2)拉低 PD,禁用大量 SM(132→78)压低 TPP,保留全部 6 个 HBM3 堆叠不受内存管制。结果是算力更弱、但比 H100 多 20% 显存和高 19% 带宽的芯片,推理场景反而占优,如表18-5所 示。 表18-5 H20 与 H100 推理指标对比 指标 H100 H20 推理优势 运算/字节比(FP16) 295 37 极低,典型的内存带宽密集型 单卡可容纳 Llama 70B (8-bit) 否(需 2 卡) 是(96 GB 足够) 单卡推理,消除跨卡通信 vLLM 单卡吞吐(Llama 70B) 基准 +20% tokens/s HBM 带宽更高 DeepSeek-V3/R1 FP8 部署 需 16 卡(跨节点) 仅需 8 卡(单节点) 免除跨节点 InfiniBand 通信 对 MoE 模型的推理,Triton Fused-MoE 内核在 H20 上进一步放大优势,如表18-6所示。 表18-6 H20 上 Triton Fused-MoE 内核加速 MoE 模型 FP8 内核加速比(vs vLLM 默认) 说明 Mixtral 8x7B 最高 2.74x (batch=1) 小批量场景优势最大 DeepSeek V2 Lite (128E) 最高 2.59x (batch=32) 大专家数场景 36 种形状几何平均 1.39x 全面优于默认配置 H20 训练侧限制明显:FP16 dense 算力仅为 H100 的约 1/7,实测有效吞吐差距约 2.8 倍: H100 measured MFU ~38% (communication bottleneck during large model training) H20 measured MFU ~90% (lower compute = no communication bottleneck) Effective throughput: H20 ~133 TFLOPS vs H100 ~375 TFLOPS = ~2.8x gap 大规模预训练仍非首选,但中模型微调(LoRA/QLoRA)、RL 后训练与合成数据生成等内存敏感场景有独特优势。中国头 部厂商对 H20 的采用格局如表18-7所示,采购一度因政策收紧短期暂停、随后恢复,反映管制下算力供应格局的频繁变 动。 表18-7 中国市场的 H20 采用格局 公司 采购规模 应用场景 字节跳动 大规模囤货 豆包大模型推理,火山引擎云 阿里巴巴 大规模直接采购 通义千问推理,阿里云 AI 服务 腾讯 批量采购 元宝应用,混元模型推理 DeepSeek 确认采购方(H200 获批前用 H20) V3/R1 推理部署 H20 对集群设计的影响:
- 推理优先规划:TP 表现弱于 H100 但 PP、DP 不受影响,常见“H800 训练 + H20 推理”混合架构。
- 内存驱动批处理:96 GB 大显存允许更大 micro-batch 与更长 KV Cache,降低推理 GPU 分片需求。
- 算力并非总瓶颈:DeepSeek V3 在 2,048 张 H800 上训练成功,印证内存带宽与容量常比峰值算力更关键。
- NVLink 恢复完整:H20 恢复 900 GB/s 完整 NVLink(H800 所缺失),单节点 8 卡 TP 不再受限。 Blackwell 时代的中国特供方案如表18-8所示。 表18-8 Blackwell 中国特供方案 型号 架构 定位 B20(原计划) Blackwell 原计划面向中国市场的 Blackwell 型号,后搁置 RTX 6000D Blackwell GDDR7 显存,推理优化 B30A Blackwell (单芯片) HBM 显存,NVLink 互联,面向合规市场的中国特供方案 后续芯片均在 TPP 与 PD 阈值内设计,延续“合规优先”策略。
- 国产昇腾体系要点 华为昇腾是当前中国市场不可回避的选型对象,与 NVIDIA 特供 GPU 形成两条并行路线。
- 单芯片算力仍落后:910C 纸面规格接近 H100(约 400-640 TFLOPS FP16,不同来源估计差异较大),独立评估实测约 60% 水平,训练与推理的实测对比如表18-9所示。 表18-9 昇腾与 NVIDIA 训练性能对比 对比 华为声明 独立评估 说明 910B vs A100 80-120% A100 效率 约70-80% A100 LLM 训练 华为官方 HC 2024 910C vs H100 对飙 H100 约60% H100 性能 (DeepSeek 实测) JimmyResearch 910B 推理 (Qwen-7B) — +14.7% vs A100 (prefill) 得益于 HBM 带宽 910B 推理 (SDXL) — -38.6% vs A100 扩散模型内核优化不足 910B 超长上下文 (128K) — p99 延迟 -36% vs A100 内存子系统更稳定
- 系统级扩展补足差距:Atlas 900 A3 SuperPoD 以 48 节点 384 卡约 300 PFLOPS FP16 交付,CloudMatrix384 把 384 张 NPU 呈现为单台逻辑机器,复刻 NVL72 的 Scale-Up 思路,规格如表18-10所示。 表18-10 Atlas 900 A3 SuperPoD 规格 参数 规格 基础单元 8x Ascend 910C NPU / 节点 参数 规格 节点数 48 个计算节点 总算力 约300 PFLOPS FP16 机柜数 16 个 (12 计算 + 4 通信) 互联网络 UnifiedBus (LingQu) 1.0 + RoCE v2 拓扑 2 层 Fat-Tree (L1: 节点级 UB Switch; L2: 机柜级 UB Switch) 跨节点带宽损失 <3% 已交付数 >300 套
- 部署重心在中国市场:运营商与互联网大厂是主要采购通道,DeepSeek V4 原生优化昇腾、R1 推理部署成为需求锚 点,安可认证强制政府采购目录覆盖昇腾 310/910,如表18-11所示。 表18-11 昇腾中国市场部署现状 阵营 代表 规模 运营商 中国移动、电信、联通 主要采购通道:大规模集中采购 互联网 字节跳动、阿里巴巴、腾讯 大规模订单与规划采购 DeepSeek V4 原生优化昇腾, R1 推理部署 关键需求锚点 政府/金融 安可认证强制国产芯片 进度低于 30% 的数据中心项目必须移除进口芯片 安可认证 多款国产 AI 芯片获批政府采购 Ascend 310/910 均在列
- 网络效应替代原始性能:系统级扩展、垂直软件栈(CANN → torch_npu → vLLM-Ascend)、政策强制(安可认证与 国产化要求)与需求锚定四因素叠加,昇腾正成为中国 AI Infra 的事实标准。CANN 的 SIMT 兼容编程模型把 CUDA 兼 容性从附加功能变为设计要求,选型应判断 CANN 迁移成本与生态成熟度,而非单芯片算力。
- 服务器平台要点 服务器平台决定密度、功耗与运维复杂度,三条路线各有取舍。 •NVIDIA DGX 系列:AI 服务器的工业标准参考设计,三代规格对比如表18-12所示,机柜级供电与液冷须按功率密度预 留。 表18-12 DGX 系列规格对比 型号 GPU 配置 CPU 系统内存 网络 存储 最大功 机柜空 耗 间 DGX 8x A100 2x AMD EPYC 7742 (128 2 TB 8x ConnectX-6 30 TB 6.5 kW 6U A100 80GB 核) 200Gb/s NVMe DGX 8x H100 2x Intel Xeon 8480C (112 2 TB 8x ConnectX-7 30 TB 10.2 8U H100 80GB 核) 400Gb/s NVMe kW DGX 8x B200 2x Intel Xeon 8570 (112 480 GB 8x ConnectX-8 30 TB 14.3 10U B200 180GB 核) DDR5 800Gb/s NVMe kW •Meta Grand Teton:OCP 标准自研路线代表,基于 OCP Open Rack v3(19/21 英寸机架可互换),GPU 与 CPU 模块 分离可独立升级,每 GPU 独立网络路径避免 PCIe 交换瓶颈,统一供电散热消除节点独立 PSU 与风扇。设计已开源, 任何厂商可基于 OCP 规范生产兼容硬件,Llama 3 405B 即在此平台训练。
18.1.3 网络选型
- 网络是万卡集群瓶颈 千卡级数据并行中 AllReduce 梯度同步可占单次迭代总时间的 30-50%,且为全局同步操作,最慢链路决定整体性能,一 个节点网络退化会拖停整个任务。网络带宽翻倍通常带来 15-25% 有效训练速度提升,省网络就是省 GPU。与传统数据 中心不同,AI 训练流量以少数大象流、周期性爆发为主,峰值带宽利用率 80-95%,对微秒级抖动高度敏感,须针对高并 发、低拥塞的集合通信模式专门设计。
- 并行策略的带宽分层 通信带宽决定并行策略的使用域:TP 每层频繁同步、对延迟最敏感,必须限定在 NVLink 域内;DP 通信量大但频率低, 适合跨节点网络;PP 点对点通信要求中等延迟;EP(MoE 模式)带宽需求低,可跨越更大物理范围,如图18-1所示。 Bandwidth (per GPU) NVLink Domain InfiniBand/RoCE Domain Cross-Rack/Pod 1,800 GB/s ─┐ │ Tensor Parallel (TP) 900 GB/s ─┤ Sequence Parallel (SP) │ 100 GB/s ─┼────────────────────── │ Pipeline Parallel (PP) 50 GB/s ─┤ Data Parallel (DP) │ 25 GB/s ─┼──────────────────────────────────────────── │ Expert Parallel (EP) 10 GB/s ─┤ Data Parallel (Large Cluster) │ 图18-1 通信带宽需求与并行策略的分层对应
- 物理拓扑选型 大型 GPU 集群物理拓扑主要有三种:Fat-Tree(CLOS)适用性最广、是中小规模与云厂商默认选择,但交换机随规模线 性增长、成本高;Rail-Optimized 让每轨 GPU 构成无竞争通信路径,DGX SuperPOD 与 Meta Llama 3 均采用; DragonFly+ 组内全互联、组间稀疏全局链路,十万卡以上成本效益更好。拓扑选型结论如表18-13所示。 表18-13 集群物理拓扑选型 集群规模 推荐拓扑 跳数 成本指数 <1,024 GPU 2 层 Fat-Tree / Spine-Leaf 2 1x 1,024~10,000 GPU 3 层 CLOS 或 Rail-Optimized 3-5 5-8x
10,000 GPU Rail-Optimized + 多平面,或 DragonFly+ 3 10-20x
- Spectrum-X 以太网方案 Spectrum-X 让以太网逼近 InfiniBand 有效吞吐,工程价值是不需自建 IB 运维能力即可获得端到端拥塞规避与性能隔 离。xAI Colossus 是最大部署:200,000 GPU,宣称有效吞吐率 95%(传统以太网约 60%)。分档选型:Spectrum-X 面 向数据中心内(单平面约 2K GPU、多平面 128K GPU);跨数据中心用 Spectrum-XGS(NCCL 跨区域性能提升约 1.9x);下一代 Photonics 共封装光学每 1.6Tb/s 端口功耗降约 5x,面向超大规模规划。
- IB 与 RoCEv2 决策 选型阈值:超过 1 万卡的训练集群强推 InfiniBand;数百至数千卡与推理场景 RoCEv2 更优。决策树如下。 Need InfiniBand? │ ├─ Single cluster size > 10,000 GPUs? ────▶ YES ▶ Strongly recommend IB (or Spectrum-X) │ ├─ Have professional IB ops team? ────────▶ NO ▶ Consider RoCEv2 + Spectrum-X │ ├─ Budget allows 5-10x network cost? ──▶ NO ▶ Consider RoCEv2 │ ├─ Need multi-vendor ecosystem flexibility? ────▶ YES ▶ Consider RoCEv2 (wait for UEC maturity) │ ├─ Need ultra-low latency (<1μs)? ────▶ YES ▶ Choose InfiniBand │ └─ NVIDIA full-stack user? ──▶ YES ▶ Recommend IB (end-to-end optimization) RoCEv2 在 Meta Llama 3 上支撑了 16K GPU 规模训练,但需专项网络工程投入;不具备该工程能力时,万卡以上仍应优 先 InfiniBand。开放标准 UEC(Ultra Ethernet Consortium)目标是以开放的以太网通信栈替代 IB 独占地位,UALink 与 NVLink 竞争加速器互联,两者均处生态早期,短期内不改变选型结论。
18.2 平台与调度实战
18.2.1 调度层角色定位
平台与调度层是千卡/万卡集群的“操作系统”,需要回答三个核心命题:资源分配(哪个任务得到 GPU、多少张、何 时)、放置策略(GPU 落在哪些物理节点、如何保证通信拓扑最优)、公平共享(数千研究员与数百项目之间如何公平分 配算力)。这些命题的难度随集群规模呈指数级上升。 业界存在两条主流调度路径,如表18-14所示。 表18-14 Kubernetes 与 Slurm 两条调度路径 维度 Kubernetes 扩展路径 HPC Slurm 路径 代表技术 Volcano, Kueue, KAI Scheduler, KubeRay Slurm, Slurm on K8s (SUNK), Slinky 设计哲学 云原生、弹性、声明式 HPC 验证、作业管理、命令式 核心优势 极致弹性、丰富生态、自愈能力 拓扑感知、大规模作业管理、公平共享 适合场景 多租户动态共享、微服务+训练混合 离线大规模训练、HPC 工作负载 代表用户 Google, Spotify, Uber CoreWeave, NVIDIA, 多数 TOP500 超算 第三条道路是 Hybrid 混部:通过 Slurm on Kubernetes (SUNK) 或 NVIDIA slurm-operator 将 Slurm 的成熟调度能力搬 上 K8s,兼顾两类优势。
18.2.2 Kubernetes 生态
传统 HPC 社区质疑 K8s 能否胜任大规模 GPU 调度,但 Google、CoreWeave 等先锋的实践证明,经过深度定制的 K8s 可以驾驭数万张 GPU。决策视角看,K8s 在 AI 场景的核心价值如表18-15所示。 表18-15 K8s 原生能力在 AI 训练中的价值 K8s 原生能力 AI 训练场景中的价值 声明式 API 以 YAML 描述训练任务,版本控制和 GitOps 友好 Pod 抽象 每个 GPU 进程封装为 Pod,统一管理生命周期 服务发现 训练节点自动发现彼此,无需手动配置 rank 地址 自愈能力 GPU 故障 → Pod 自动驱逐 → 重调度到健康节点 多租户 Namespace + RBAC + ResourceQuota 实现租户隔离 生态可移植 一套配置在本地、云上、混合云之间可迁移 大规模落地时,原生 K8s 的调度器、自动扩缩器与 GPU 健康管理均需深度定制:Gang Scheduling 需替换调度器,GPU 故障需 taint-based 机制自动驱逐,InfiniBand fabric 需与 Pod 调度联动保证通信拓扑最优。Google GKE 是云原生路径 的参考:单集群支持 65,000+ 节点,用 ProvisioningRequest API 提前预留节点。
18.2.3 集群资源管理
NVIDIA GPU Operator 是管理 GPU 软件栈的事实标准,自动化了驱动、Container Toolkit、Device Plugin、DCGM Exporter、GPU Feature Discovery、MIG Manager、DRA Driver 与 NVSentinel 的生命周期。在十万卡集群中,手动管 理每张 GPU 的驱动版本、运行时配置与设备插件不现实,GPU Operator 将这一切变为声明式配置并自动维护一致性。 驱动升级策略上,建议在维护窗口按节点滚动升级,并配合容器化驱动的镜像切换实现快速回滚。 Karpenter 是 AWS 开源的下一代节点自动扩缩器,相比 cluster-autoscaler 在 GPU 场景优势显著,对比如表18-16所 示。 表18-16 Cluster Autoscaler 与 Karpenter 对比 特性 Cluster Autoscaler Karpenter 扩缩速度 分钟级(通过 Node Group) 秒级(直接创建实例) 实例类型选择 预定义 Node Group,受限于几种类型 动态评估数百种 GPU 实例 GPU 感知 基础支持 原生支持 nvidia.com/gpu 等标签 碎片整理 无 Consolidation 自动合并低利用率节点 Karpenter 通过 NodePool 声明式描述 GPU 需求:requirements 指定 GPU 厂商(nvidia)、型号(h100)与数量下 限,taint 限定仅 GPU 工作负载可调度,limits 控制集群 GPU 总量上限。Consolidation 在节点利用率不足时自动合并实 例,减少碎片。
18.2.4 Rendezvous 机制
分布式训练所有进程需先完成 Rendezvous(集合),彼此发现并建立通信通道,才能开始训练。传统的全互联 Rendezvous 复杂度为 O(N ):N = 1,024 时约 100 万条连接、耗时数分钟,N = 16,384 时约 2.68 亿条连接,可能直接 崩溃。标准解法是分层/树形初始化:先在小范围内完成组内 KV 交换,再由组长完成组间全局拓扑交换,最后广播回所有 成员,总连接数降为 O(N log N )。Meta 在 Llama 3 405B 训练中通过优化 Rendezvous,将组初始化时间从数小时缩短 到数分钟。PyTorch 的 torch.distributed.init_process_group 已内置分层 Rendezvous 支持。
18.2.5 调度层技术选型决策
不同规模与背景团队的调度方案选型如表18-17所示。 表18-17 调度层技术选型决策 你的场景 推荐方案 理由 创业公司,< 256 GPU K8s + Kueue + Karpenter 开源、轻量、生态好 中等规模,256-2,000 GPU K8s + Volcano + GPU Operator Gang Scheduling 成熟 大型企业,2,000-10,000 GPU K8s + KAI Scheduler / Slurm on K8s 拓扑感知 + 层级调度 极致规模,>10,000 GPU Slurm on K8s (SUNK) HPC 验证的调度能力 NVIDIA 全栈用户 Base Command + KAI Scheduler 端到端集成 HPC 背景团队 Slurm + slurm-operator 团队熟悉度优先 参考技术栈:Argo Workflows 编排工作流,KubeRay 管理分布式计算,Volcano 或 KAI Scheduler 作批调度,Kueue 实 现多租户队列,GPU Operator 与 HAMi 分管 GPU 管理与虚拟化,Karpenter 负责弹性扩缩,Multus CNI 与 InfiniBand Plugin 打通网络,CSI Driver 挂载 Lustre/NFS 存储,DCGM Exporter 与 Prometheus 负责监控,Rancher 提供多集群管 理界面。
18.3 训练与数据工程实战
本节从集群实践视角聚焦训练框架选型与数据存储决策。18.3.1 对比主流训练框架,18.3.2 与 18.3.3 剖析 Llama 3 405B 与 DeepSeek-V3 两个代表性案例,18.3.4 至 18.3.7 覆盖 GPUDirect Storage、行业存储架构、性能基准测试与决策建 议,18.3.8 展望训练框架未来方向。
18.3.1 框架生态系统对比
主流框架在灵活性、性能、生态集成与学习曲线之间各有取舍,截至 2025 年的主要选项如表18-18所示。 表18-18 分布式训练框架对比 特性 Megatron-LM DeepSpeed FSDP(PyTorch) JAX Ray Train 类型 研究代码库 PyTorch 库 PyTorch 核心 编译器框架 分布式启动 器 3D 并行 原生(最优) 通过 Megatron 集成 通过 PyTorch API 编译器推导 仅编排 专家并行 支持(MoE) 通过 Megatron 手动集合操作 自动 不支持 异步检查 支持 支持(ZeRO) 支持(DCP 异步) 支持(Orbax) 不支持 点 MFU 记 52%(1T,3072 44%(176B,800 38-43%(405B,16384 50-62%(540B,2048 N/A 录 A100) V100) H100) TPUv4) 最适合 前沿规模,100B+ 参数 多用途中等规模 PyTorch 原生,中等规模 Google/TPU 生态 多框架编排 选型决策:10B 以下标准架构用 FSDP + torch.compile,自定义架构用 DeepSpeed;10B-100B 偏 PyTorch 生态用 DeepSpeed ZeRO + Megatron TP,偏 JAX/TPU 用 GSPMD 自动分片;100B 以上前沿规模用 Megatron-LM(最大控制 力),标准 decoder-only 架构可用 TorchTitan。
18.3.2 案例研究 Llama 3 405B
Llama 3 405B(arXiv:2407.21783)由 Meta 于 2024 年 7 月发布,在 16,384 张 H100 上训练,是文档最完备的大规模训 练案例。两阶段 4D 并行分解如表18-19所示。
- 并行配置 表18-19 Llama 3 405B 并行分解(16K H100) 维度 8K 阶段 128K 阶段 描述 TP(张量) 8 8 节点内,NVSwitch CP(上下文) 1 16 长上下文序列级并行,128K 阶段启用 PP(流水线) 16 16 16 个连续节点,1F1B 调度 DP(数据) 128 8 流水线副本数,梯度同步维度 两个阶段都满足 16,384 = DP × CP × TP × PP,每个流水线副本为 16 节点 × 8 GPU 共 128 块,持有一份完整模型副 本。
- 网络基础设施 集群用 RoCEv2(每节点 8 × 400 Gbps,Clos/胖树拓扑)而非 InfiniBand,由 Meta 的以太网运维经验与规模成本驱 动。自定义拥塞控制算法至关重要:单条拥塞链路会让全部 16,384 块 GPU 在等待梯度 All-reduce 时停顿,吞吐量崩 溃。
- 训练效率 MFU 集群 MFU 约 38-43%,低于 Megatron-LM 在 A100 上的 52% 记录,原因包括早期 H100 FP8 内核不成熟、16K 规模下 RoCEv2 引入更多尾延迟、训练稳定性的可靠性开销。54 天完成 15.6 万亿 token 训练(16,384 张 H100-80GB),有效吞 吐约 600 TFLOPs/s/GPU。
- 经验总结
- 可靠性工程与性能工程同等重要:16K 规模下硬件故障是常态,自动节点排空与重新集成、NCCL 看门狗、基于健康检 查的抢占是标配。
- 异步检查点不可或缺:分层 NVMe 检查点把有效保存时间压到分钟级,多次中断的算力损失从同步保存的数十小时降 至数小时。
- RoCEv2 在大规模下可行:靠自定义拥塞控制,但需专项网络工程投入。
- FSDP 已达生产就绪成熟度,无需 Megatron-LM 代码库的复杂度即可训练顶级开放模型。
18.3.3 DeepSeek HAI-LLM
DeepSeek-V3(arXiv:2412.19437)是 671B 参数、每 token 激活 37B 参数的混合专家模型,仅在 2,048 张 H800 上完成 训练。H800 的 NVLink 带宽被出口管制降至约 400 GB/s,DeepSeek 将限制转化为架构创新催化剂,自研 HAI-LLM 框 架。
- 工程约束与成本口径 预训练约 14.8 万亿 token 耗时约 2 个月,消耗 2,788,000 张 H800 GPU 小时,按约 $2/GPU 小时估算成本 557.6 万美 元。关键约束是受限 NVLink 带宽:在 H100 上近乎免费的节点内 All-reduce,在 H800 上成为瓶颈,应对是彻底消除张 量并行。
- 并行配置与路由约束 采用 PP=16、EP=64、ZeRO-1 DP、无 TP 的配置。节点限制路由让每个 token 最多分发到 4 个节点(平均每节点最多 3.2 个专家),确保 All-to-all 通信不超过节点内 NVLink 带宽,避免节点间网络饱和。
- HAI-LLM 实现增量 核心增量包括:面向 All-to-all、FP8 GEMM 与流水线调度的自定义 CUDA 内核;PTX 级编程把 132 个 SM 中的 20 个专用 于通信,通信完全隐藏在计算中;无辅助损失负载均衡消除 token 丢弃。PTX 级编程带来 15-20% 吞吐量提升,代价是开 发复杂性。
- 训练结果 训练过程损失突增显著减少,无需回滚重启,归因于无辅助损失负载均衡、FP8 细粒度量化与端到端数值控制;多 token 预测(MTP)辅助目标提高样本效率,额外计算成本微乎其微。
- 对比 Megatron/DeepSpeed 三种框架的实现差异如表18-20所示。 表18-20 训练框架方法对比 方面 Megatron-LM/NVIDIA DeepSpeed/Microsoft DeepSeek HAI-LLM 主要并行策略 节点内 TP,跨节点 PP+DP 跨节点 ZeRO-3 DP DualPipe PP + EP,无 TP 节点内假设 NVSwitch 900 GB/s NVLink 900 GB/s(通用) NVLink 400 GB/s(受限) 通信重叠 梯度同步与反向重叠 All-gather 与反向重叠 专用 SM 负责通信,完全重叠 流水线调度 交错 1F1B PipeDream-Flush(1F1B) DualPipe(双向) 方面 Megatron-LM/NVIDIA DeepSpeed/Microsoft DeepSeek HAI-LLM TP 消除 必需(≤8 GPU) 可选 DualPipe 使能,关键成本节省者 验证规模 1T MoE,3,072 A100 176B 密集,800 V100 671B MoE,2,048 H800
- 核心经验
- 约束催生创新:受限 NVLink 带宽推动 DualPipe 通信-计算重叠、Warp 专化与消除 TP 的决策。
- 针对特定硬件积极优化:HAI-LLM 专为 H800 的 SM 数量、NVLink 带宽与内存层次优化,挖出通用框架留在桌上的效 率。
- 无辅助损失负载均衡在大规模下可行,这一发现对所有 MoE 架构都有意义。
18.3.4 GPUDirect Storage
GPUDirect Storage(GDS)使 NVMe SSD 与 GPU 内存之间直接 DMA 传输,绕过 CPU 与系统内存,消除传统 I/O 路径 的中间复制。对检查点与数据加载两个存储密集操作提升显著:700 GB 检查点写入从约 40 分钟降至约 1.7 分钟(约 24x),随机读数据加载从 24 GB/s 提升到 56 GB/s(约 2.3x),I/O 期间 CPU 利用率从 100% 降至 5% 以下。
- 部署清单 硬件要求: •NVIDIA GPU:A100、H100 或 L40S(Ampere 架构起支持 GDS) •支持 PCIe 点对点的 NVMe 驱动器(Samsung PM9A3、Kioxia CM6、Intel/Solidigm P5520 等) •服务器 BIOS 需禁用或配置 PCIe ACS 为 P2P——多数服务器默认禁用,必须显式启用 软件栈: •NVIDIA GPU 驱动 ≥ 470.57.02(A100)或 ≥ 525.60.13(H100) • nvidia-fs 内核模块(开源,提供 GDS 文件系统支持) • cufile 用户空间库(CUDA Toolkit ≥ 11.4 的一部分) •支持 GDS 的文件系统(WEKA、DDN Lustre+IME、VAST Data,或本地 ext4/XFS) 验证:
18.3.5 行业实践
# Check GDS status and NVMe compatibility
nvidia-smi -q | grep -A 5 "GPUDirect Storage"
/usr/local/cuda/gds/tools/gdscheck -p- Meta Llama 3 训练基础设施 Meta 的 Llama 3 训练基础设施是超大规模 AI 存储实践的最大公开披露:16,384 张 H100 GPU 分布在两个集群,定制 Grand Teton 平台,RoCEv2 400G 互连(每 GPU 400 Gbps)。其存储分层如表18-21所示。 表18-21 Meta Llama 3 存储分层 层级 技术 容量 用途 本地 NVMe 定制 Grand Teton NVMe 阵列 每节点约 30 TB 检查点暂存,数据缓存 热层(检查点) Tectonic(Meta 内部分布式 FS) 多 PB 持久检查点存储,完整 405B 检查点约 6 分钟 温层(数据集) Hammerspace 并行 NFS >50 PB 训练数据,评估数据集 冷层(归档) 未公开披露 EB 级 历史检查点,旧数据集 Meta 通过三步把检查点写入时间从 40 分钟降至 6 分钟:先写本地 NVMe,再异步上传 Tectonic(持久、纠删码),最后 经 Hammerspace 暴露用于遗留访问。
- NVIDIA Eos Eos 的存储规格如表18-22所示。 表18-22 NVIDIA Eos 存储规格 规格 详细信息 GPU 算力 4,608 张 H100 GPU(576 个 DGX H100 节点) 互连 InfiniBand NDR400(400 Gbps) 存储 DDN EXAScaler Lustre 配 DDN SFA NVMe 设备 峰值存储带宽 约1 TB/s(聚合) 元数据性能 >100 万元数据操作/秒 Eos 的 DDN EXAScaler 配置三级:SFA NVMe 全闪存热池承载主动训练数据与检查点,HDD 温池归档实验,IME(无限 内存引擎)突发缓冲区在降级到 Lustre 前吸收检查点写入。
- Microsoft Azure Azure 的存储分层如表18-23所示。 表18-23 Azure 存储分层 层级 Azure 服务 特性 计算 Azure ND H100 v5 VM(每 VM 8× H100) InfiniBand NDR400 热层存储 Azure Managed Lustre 预配置:每 TB 2.5 GB/s,最高 1.2 TB/s 数据湖 Azure Blob Storage 热/冷/归档层,地理冗余 元数据 Azure NetApp Files 元数据密集型工作负载的高性能 NFS 编排 Azure CycleCloud Slurm → VM 扩缩 + 文件系统生命周期
- xAI Colossus Colossus 的存储架构规格如表18-24所示。 表18-24 xAI Colossus 存储架构 规格 详细信息 GPU 数量 10 万张 H100(第一阶段),扩展至 20 万张 互连 NVIDIA Spectrum-X 以太网(400G)配 GPUDirect RDMA 存储 GPUDirect Storage(GDS)+ GPUDirect RDMA 架构 全连接 GPU 架构,无传统并行文件系统瓶颈 Colossus 让数据从 NVMe 直流到 GPU HBM3,再到网络、再到对等 GPU HBM3,完全绕过 CPU 内存,把集群视为单一 的大规模 GPU 内存空间,存储只是另一个 RDMA 对等体。此规模下存储与网络界限开始模糊,数据加载成为 GPU 间 RDMA 操作。该架构仍处实验阶段,但指向极端规模 AI 基础设施的未来。
18.3.6 存储性能基准测试
- FIO FIO(灵活 I/O 测试器)用于原始存储性能表征,需模拟顺序读、顺序写、随机读与元数据操作四类负载:顺序读测数据 加载带宽,顺序写测检查点吞吐,随机读测 tokenized 样本的小记录访问,元数据操作测百万级文件集的枚举与分片创 建。关键指标与目标值如表18-25所示。 表18-25 FIO 基准测试关键指标 指标 目标(AI 工作负载) 含义 顺序读带宽 每 GPU 节点 >5 GB/s 数据加载能跟得上 顺序写带宽 每 GPU 节点 >10 GB/s(配 GDS) 检查点不会停顿训练 随机读 IOPS 每节点 >10 万 IOPS 小记录访问不会造成瓶颈 元数据创建/秒 >1 万 creates/秒 数据集分片创建不超时 元数据 Stat/秒 >5 万 stats/秒 数据集枚举速度快 p99 延迟(读) <10 毫秒 异常值不会停顿 GPU 流水线 p99.9 延迟(读) <50 毫秒 灾难性异常值极少出现
- DLIO DLIO(深度学习 I/O 基准测试)由劳伦斯利弗莫尔国家实验室与 NVIDIA 合作开发,专为模拟 AI 训练 I/O 模式构建,弥补 FIO 访问模式与 PyTorch 数据访问差异过大的缺陷。它测量多客户端协调 I/O(模拟批次开始的 I/O 风暴)、文件内半随机 访问、计算交织节奏与元数据压力。
Install and run DLIO with realistic training I/O
pip install dlio dlio_benchmark \
++workload.workflow=training \
++workload.read_type=random \
++workload.computation_time=0.1 \
++reader.data_loader=torch \
++reader.prefetch_size=2- 关键性能指标汇总 AI 存储场景的关键性能指标定义与重要性如表18-26所示。 表18-26 AI 存储关键性能指标 指标 定义 对 AI 的重要性 IOPS 每秒输入/输出操作数 衡量处理小型随机读(tokenized 样本)的能力,不足则 GPU 停顿 吞吐量(GB/s) 每秒传输字节数 衡量流式传输大文件(检查点、epoch 数据)的能力 元数据操作/秒 文件创建/stat/open/delete 每秒次数 决定枚举数据集与打开分片的速度,百万文件集的瓶颈 延迟 p99/p99.9 99/99.9 百分位延迟 长尾延迟导致偶发 GPU 停顿,一次 p99.9 事件可消耗数分钟 流式读效率 实际带宽 / 理论带宽 低于 70% 表明存在瓶颈
18.3.7 总结与建议
- 存储架构决策矩阵 不同规模的存储架构选型与预算估算如表18-27所示。 表18-27 存储架构决策矩阵 规模 GPU 数 推荐架构 估算预算(存储) 小型实验室 1-8 本地 NVMe RAID-0(8× NVMe SSD) $3K-$10K 规模 GPU 数 推荐架构 估算预算(存储) 中等规模 8-64 商用 NVMe 上的 WEKA + MinIO 归档 $5万-$20万 企业级 64-512 DDN EXAScaler Lustre + CephFS 温层 $20万-$100万 超大规模 512-4K DDN/WEKA Lustre + GPUDirect Storage + Azure Managed Lustre(云) $200万-$1000万 前沿规模 4K-16K+ 定制(Meta Tectonic)或 WEKA + GDS + InfiniBand 网络 $1000万-$5000万+
- 存储架构师检查清单
- 购买前先做基准测试:用 DLIO 模拟真实训练工作负载,FIO 单独测试会产生误导。
- 优先保障元数据性能:确保文件系统能处理 >5 万次 stat() 操作/秒。
- 从第一天起使用异步检查点,同步阻塞的代价是致命的。
- 在任何 A100/H100 集群上启用 GPUDirect Storage,硬件已就绪,瓶颈是软件配置。
- 激进分层:NVMe(天)→ 并行文件系统(周)→ 对象存储(月/年),每层成本降低约 10 倍。
- 为数据流水线算力做规划:预处理 15 万亿 token 需要可观的 CPU 算力投入,数据就绪时点制约训练开始日期。
- 版本控制数据:DVC、LakeFS 或 metadata.parquet,没有数据版本控制的可复现性是幻觉。
- 未来展望 存储行业正由 AI 工作负载驱动代际转变:NVMe-oF 推动存储与计算独立扩展;计算存储(DPU/SmartNIC)承担更多 tokenization、解压缩与过滤;GDS 随 NVIDIA 将 GPUDirect 扩展到 DPU 而普及;云原生并行文件系统(FSx for Lustre、Azure Managed Lustre、Parallelstore)缩小与本地 Lustre/WEKA 的差距。最终方案是集成层次结构:NVMe 提供速度,并行文件系统提供规模,对象存储提供持久性,GDS 将它们绑定在一起。
18.3.8 未来方向
•预填充与解码分离:分离式服务架构让预填充与解码阶段独立扩展。 •FP4 训练:B200 原生支持 FP4,BitNet b1.58 等研究表明 4 位训练可达 Transformer 的 16 位精度。 •自动并行化:编译器自动分区是长期趋势,JAX GSPMD 最先进,PyTorch 的 tensor 与 export 正趋近类似能力。 •存储分离:权重加载成为分布式问题,vLLM、SGLang 等正开发分离式 KV 缓存与权重流式传输。
18.4 可观测性与故障实战
18.4.1 可观测性基础与三大支柱
- 故障是常态,不是例外 在大规模 GPU 集群中,硬件故障是日常运维常态:Meta 在 16,000 卡 H100 集群上平均每 2-3 小时发生一次需人工介入 的故障,数十万 GPU 集群每天处理数十起以上故障事件。实际故障率低于单卡 MTBF 的简单倒数推算,因为并非所有组 件失效都会导致可用性故障,ECC 可纠正单比特错误,NVLink 链路可降级运行,多数 XID 事件无需立刻停机。 更需关注故障的关联性与传播性:HGX 基板上 8 张 GPU 共享 NVLink 域,一张卡的 NVLink CRC 错误可能触发链路重训 练,导致同板其他 GPU 暂时中断通信;一个交换机端口故障会中断所有经其路由的 RDMA 流量,波及同一机架数十张 GPU。故障类别与平均修复时间如表18-28所示。 表18-28 故障类别与修复时间 故障类别 典型表现 平均修复时间 GPU 硬件 ECC 错误、XID 事件、NVLink 降级、显存故障、过热降频 数小时到数天 网络 InfiniBand/RoCE 链路中断、交换机端口故障、RDMA 超时、拓扑降级 数分钟到数小时 软件/驱动 CUDA 驱动崩溃、NCCL 超时、容器 OOM、文件系统卡顿 数分钟
- 不可见故障的代价 未被及时发现的 GPU 故障对训练任务的影响是灾难性的:一个慢节点会拖慢整个分布式训练的 AllReduce,使整体吞吐 下降 30-50%;计算单元产生不可检测的错误输出(SDC)导致模型收敛异常甚至发散;GPU 突然离线需从最近 checkpoint 恢复,千卡规模下重建通信拓扑可能耗时 10-30 分钟。
- 从监控到可观测性 监控回答系统是否正常,可观测性回答系统为什么出现这种行为。传统监控依赖已知指标与阈值假设,在 GPU 集群中并 不成立:GPU 利用率在单次迭代内剧烈波动(各阶段在近 0% 与 95% 间切换),固定阈值产生大量误报;不同模型与训 练阶段的正常基线不同。因此需要采集足够丰富、细粒度的遥测数据,在不预设故障模式的情况下对任意时间窗口、任意 维度做关联分析。
18.4.2 DCGM 与 Prometheus
现代可观测性体系建立在 Metrics(指标)、Logging(日志)、Tracing(追踪)三类数据之上(表18-29),按 Metrics → Logs → Traces 三层下钻协同:先由指标发现异常窗口,再经日志确认事件,最后用追踪定位瓶颈。 表18-29 可观测性三大支柱 支柱 回答的问题 核心组件 规模量级(万卡集群) Metric 系统多大程度接近极限 Prometheus、DCGM Exporter、 1,000 节点每 15 秒采集一次 DCGM 200+ 字段,日均 s Grafana 约 5 亿数据点 Loggi 某个具体时刻发生了什么 Grafana Loki、Fluent Bit 日均数十 TB,需分级存储与采样 ng Tracin 请求经过哪些路径、每环 Grafana Tempo、OpenTelemetry 每次迭代产生上万 Span,需采样策略 g 节耗时 Collector
- 核心指标解读 NVIDIA Data Center GPU Manager(DCGM)是 GPU 集群监控的官方套件,通过 NVML 直接读取 GPU 硬件寄存器,提 供远超 nvidia-smi 的 200+ 字段遥测数据。核心指标、运维含义与参考阈值如表18-30所示。SM Active 与 GPU Util 的比 值是实用的诊断信号:接近 1.0 表示计算密集;0.6-0.8 可能有内存带宽瓶颈;低于 0.5 需排查 kernel launch 开销。 表18-30 DCGM 核心指标 指标 运维含义 参考阈值 真正的计算核心活跃度,区别于 nvidia- 训练矩阵密集阶段应稳定在 85-98%;通 DCGM_FI_PROF_SM_ACTIVE smi 的时间占空比 信阶段骤降为正常 Tensor Core 活跃比例 持续低于 60% 说明大量时间花在非 DCGM_FI_PROF_PIPE_TENSOR_ACTIVE Tensor Core 运算上 DCGM_FI_PROF_DRAM_ACTIVE 显存带宽利用率 持续接近 100% 表示 HBM 带宽饱和 DCGM_FI_DEV_NVLINK_CRC_FLIT_ERRO R_COUNT_TOTAL NVLink 链路质量 累积增长预示链路降级风险 DCGM_FI_DEV_ECC_SBE_VOL_TOTAL / SBE 可纠正但指示退化;DBE 不可纠正 DBE 必致错误 DBE 触发动态页退役与节点隔离 DCGM_FI_DEV_CLOCK_THROTTLE_REASO NS 降频原因位掩码(过热、功耗、供电等) 异常降频位持续置位需排查 DCGM_FI_DEV_XID_ERRORS 驱动报告的硬件/软件错误事件 事件驱动,结合 XID 编目解读 PCIe 链路质量(金手指氧化、retimer 故 高 replay 率(>10/s)需排查 DCGM_FI_DEV_PCIE_REPLAY_COUNTER 障等)
- 采集开销与频率规划 各 Field Group 的采样开销与建议采集间隔如表18-31所示。经验法则:DEV 组不超过 30 秒以免漏掉瞬时掉卡事件; Profiling 字段不短于 30 秒以免采样开销影响性能;Process/Accounting 保持 60 秒以上。 表18-31 DCGM 采集开销与频率规划 Field Group 采样开销 建议采集间隔 Device (DEV) < 1µs 10-15s Profiling (PROF) 10-50µs 15-30s(数千卡同时采集会扰动性能,建议 30s) Health (HEALTH) < 1µs 15-30s Process (PROC) 50-200µs 30-60s Accounting (ACCT) 50-200µs 60-120s
- 诊断等级 dcgmi diag 四级诊断的耗时与适用场景如表18-32所示。Level 2 通常作为节点重新加入调度池的健康门槛;Level 3/4 用 于 RMA 决策,若 Level 3 失败(如内存测试爆出多个 DBE)即确认硬件故障并触发 RMA。 表18-32 DCGM 诊断等级 等级 命令 耗时 适用场景 Level 1 dcgmi diag -r 1 约数秒 日常快速巡检 Level 2 dcgmi diag -r 2 约2 分钟 部署前验收、节点重新入池的健康门槛 Level 3 dcgmi diag -r 3 约15 分钟 故障排查 Level 4 dcgmi diag -r 4 约45 分钟 硬件 RMA 依据
- 健康检查与策略引擎 dcgmi health 支持 NVLink、PCIe、内存、热、功耗逐项检查。策略引擎支持的自动动作包括 isolate、reset、page- retirement、mark-unschedulable 与 notify,可对指定 XID 事件自动执行隔离:
NVLink / PCIe / memory / thermal / power health checks
dcgmi health -s all -i 0
Policy engine: auto-isolate GPU on XID 48
dcgmi policy -g 0 --set xid,48 --action mark-unschedulable
5) 进程级作业统计
进程级统计( dcgmi stats -p
18.4.3 故障检测与处理
- XID 错误编目 XID 是 NVIDIA 驱动报告错误的编码系统,当前定义 154+ 种类型。运维需要熟记的关键几类如表18-33所示。 表18-33 XID 错误编目 XID 名称 严重级别 处理建议 13 Graphics Engine Exception Warning 重启进程即可 31 GPU Memory Page Fault Warning 检查 CUDA kernel 越界访问 45 Preemptive Channel Removal Error 通常由 ECC DBE 触发,检查显存 48 Double Bit ECC Error Critical 立即隔离节点,检查是否需要硬件更换 62/63 ECC Page Retirement 失败/过多 Error 显存深度故障,需更换 GPU 74 NVLink Error Critical 检查 NVLink 线缆/交换芯片 79 GPU Has Fallen Off The Bus Critical PCIe 连接物理故障 92 High SBE Error Rate Warning 计划性维护窗口更换 94/95 Uncontained / Uncorrectable ECC Critical 可能已产生错误数据,验证 checkpoint 完整性 119/120 GPU Recovery Action Warning/Info 驱动层恢复,无需干预
- ECC 与动态页退役 SBE(单比特错误)由 ECC 自动纠正、不影响结果,但频繁出现是显存退化的早期信号;DBE(双比特错误)无法纠正、 必然导致结果错误,必须立即隔离该 GPU 并验证输出。从 A100 起,GPU 检测到显存页面反复 ECC 错误会自动标记退役 (单页 SBE 超阈值默认 60 次或一次 DBE),退役页数每周增加 50+ 说明显存加速退化,需计划更换,用 nvidia-smi - q -d RETIRED_PAGES 查询退役页。
- 静默数据损坏检测 SDC 发生在计算单元内部(ALU、Tensor Core),产生错误却看似合理的输出,无任何硬件错误报告,是大规模集群最隐 蔽的故障模式。检测手段如表18-34所示。 表18-34 SDC 检测方法对比 方法 原理 适用场景 局限性 DCGM memtest (Level 4) 写入已知模式 → 读出比较 部署前验收 只能检测显存错误 应用级 Checksum 关键张量 CRC/MD5 比对 训练过程中 增加计算开销 同构冗余计算 同一计算在两 GPU 上比对 部署前验证 资源开销翻倍 算法级检测(如 ABFT) 数值方法内建错误检测 矩阵运算 需修改训练代码
- NVSentinel NVSentinel 是 NVIDIA 面向 K8s 的 GPU 故障自动检测与恢复系统,以 DaemonSet 部署,对可恢复故障触发 GPU Reset,对不可恢复故障依次执行 Cordon、Taint 与更新 Node Condition,其故障防护流程如图18-4所示。 GPU Hardware DCGM NVSentinel DaemonSet Kubernetes API K8s Scheduler ECC DBE Event Detected XID 48 Assess Fault Severity alt [Recoverable Fault (High SBE Rate)] Trigger GPU Reset Reset Successful Mark Node Available [Unrecoverable Fault (DBE)]
- Cordon Node (Block New Pod Scheduling)
- Taint Node (Evict Existing GPU Pods)
- Update Node Condition (GPUProblem=True) Trigger Rescheduling GPU Hardware DCGM NVSentinel DaemonSet Kubernetes API K8s Scheduler 图18-4 NVSentinel 故障防护流程 硬件层(DCGM)与系统层(Node Exporter)属于白盒监控,训练任务的语义正确性与性能健康度需要应用层探针。训 练迭代是理想的检测粒度:千卡规模单次迭代 1-10 秒,一次迭代覆盖数据加载、GPU 计算、通信与优化器更新的完整链 路。在训练脚本中暴露 training_step_duration_seconds 、 training_dataload_duration_seconds 、 training_loss 与 training_tokens_per_second ,采集间隔 10 秒。
- 慢节点检测 慢节点(Straggler)是分布式训练最常见的性能问题。检测算法用 all-gather 计算全局平均 step 时间,本地 step 时间超 过均值 2 倍即告警,随后交叉查询对应时间窗口的 DCGM 指标(SM 利用率、温度、NVLink 错误)定位根因。
- MFU 测量 MFU(Model FLOPs Utilization)是训练效率的黄金标准。两种策略:自定义 Prometheus 指标直接上报 FLOPs(精 确,需改训练代码);从 DCGM 的 SM Active + Tensor Active + Clock 反推(无需改代码,但无法区分有效计算与空循 环)。 集群超过数千 GPU 时人工处理故障在物理上不可行,自愈系统将有经验运维的决策过程编码为自动化规则。自愈闭环分 五阶段,如图18-5所示。 Fail Success Service Restored DCGM XID/ECC Events Verify Detect App-layer Probe Timeout DCGM Diagnostic Verificati Prometheus Alert on Rule Engine Matching Pre-flight Test ML Anomaly Detection Historical Pattern Compari Gradual Pool Rejoin son K8s Cordon + Taint Diagnose Slurm Node Removal Network Route Isolation Isolate Recover GPU Reset Node Reboot Automated RMA Process 图18-5 自愈闭环五阶段
- 检测(Detect):硬件层 DCGM XID/ECC、指标异常、网络层端口错误率、应用层 step 时间异常、语义层 loss NaN 多 层覆盖。
- 诊断(Diagnose):把关联信号的时间窗口匹配到已知故障模式,DBE 直接判定显存故障,NVLink CRC 错误超 100 且 AllReduce 延迟超基线 3 倍判定 NVLink 降级。
- 隔离(Isolate):最小化爆炸半径,单 GPU DBE 驱逐容器,NVLink 域故障 taint 整个节点。
- 恢复(Recover):频繁 SBE 触发页退役,单次 DBE 做 GPU Reset 后重枚举与验证(成功率约 85%)。
- 验证(Verify):最易被忽视却最关键,DCGM 诊断 + 基线比对 + 渐进回池 + 24 小时增强监控窗口,没有验证环节的自 愈系统实际在制造不确定性。
- Meta GCM Meta 的 GPU Cluster Manager(GCM)是管理数万 GPU 生产环境的最成熟开源平台之一,核心创新是“一切围绕作 业”:可观测性必须回答“哪个作业受影响”而非仅“哪张 GPU 出问题”。其能力如表18-35所示。 表18-35 Meta GCM 能力 能力 实现方式 价值 GPU 遥测 → Slurm JobID 映射 读 Slurm cgroup,将 GPU 进程 PID → JobID GPU 指标到训练任务的精确归属 任务级诊断 GPU 错误事件与 Slurm 任务关联 回答“这次 XID 48 影响了哪个作业” 节点黑名单 自动将故障节点从 Slurm 可用列表移除 防止新任务调度到故障节点 RMA 管线 故障统计 → 自动生成 RMA 报告 → 对接供应商 加速硬件更换流程 节点黑名单的触发信号包括 ECC DBE、NVLink CRC 超阈值、XID 48/74/79/94/95,加入后通过 scontrol 将节点置为 drain ,并按故障类型自动生成 RMA 报告。
- AMD Primus 异构集群 AMD 提供对标 DCGM 的 Primus 系列:Primus-Lens 负责遥测采集与可视化,Primus-Bench 做部署前诊断,Primus- SaFE 集成故障检测与自动恢复。MI300X 为 Chiplet 设计,需关注 XCD 级指标(每个 XCD 有独立温度传感器与功耗域) 与两个层面的 Infinity Fabric 链路状态,建议在 OTel Collector 层统一指标格式,使 Grafana 面板可同时展示两种 GPU 的健康状态。
- CoreWeave 的集成告警 CoreWeave 将 W&B 实验级告警(loss 异常、梯度爆炸、吞吐下降)与 HPC 基础设施告警深度融合,检测到训练异常时 自动查询对应时间窗口的基础设施告警。告警分级路由:P1 Critical(DBE/NVLink 全断/loss NaN)走 PagerDuty 电 话,15 分钟 SLA;P2 Warning(慢节点/高温)走 Slack,1 小时;P3 Info 仅 Dashboard 标记;P4 Silent 仅记录。
18.4.4 日志与分布式追踪
- 数据量与分级 以 10,000 GPU 集群为例,日志来源包括 CUDA 驱动、NCCL 通信、框架日志、容器系统日志与 IB 子网管理器,合计约 12.5 TB/天,30 天保留即 375 TB,必须分级存储,如表18-36所示。XID 错误、ECC 事件、NCCL 错误等关键信号全量采 集、永不采样;DEBUG 等高产出流按节点限速(如每秒 100 条)。 表18-36 日志分级存储策略 日志级别 实例 存储介质 保留时间 压缩比 L1 热数据 最近 24 小时 Ingester 内存 + 本地 SSD 24 小时 无压缩 L2 温数据 过去 7 天详细日志 对象存储 (S3/MinIO) 7天 Zstd 约3:1 L3 冷数据 过去 30 天聚合日志 对象存储低频 30 天 Zstd + 采样 约10:1 L4 归档 30 天以上统计 对象存储归档 365 天 聚合统计
- Loki 与 Fluent Bit Loki 的设计原则是只索引标签(namespace、pod、node、gpu_uuid),不索引日志正文,与 Prometheus/Grafana 原 生集成,可在面板中从 Metrics 跳转到 Logs。Fluent Bit 以 DaemonSet 采集容器日志并打上 K8s 标签,经 tail 输入、 kubernetes 过滤与 loki 输出三段配置实现采集、加标签与推送。
- 日志-指标关联与 AIOps 单独一条“NCCL timeout”日志没有意义,但当 Loki 中同时出现 NCCL timeout 激增、同一节点 DCGM NVLink CRC 错 误同步上升、训练步时骤增三个信号,即可推断“NVLink 链路质量下降导致 NCCL 通信超时”。Anthropic 的实践表明日 志与指标的实时关联可实现问题前摄性检测。GPU 故障模式相对有限(XID/ECC 类型固定),适合建立监督学习模型自动 分类。 训练追踪回答“一次训练迭代跨越上万 GPU,哪一个环节成为瓶颈”。与 Web 服务不同,训练 Span 的上下文传播面临 特殊边界:GPU 侧执行由驱动异步管理,只能通过 CPU 侧 stream 同步点近似 Span 边界;NCCL AllReduce 需用 Flight Recorder 时间戳事后推断各阶段耗时;不同 rank 的 Span 关联需用全局 step 作为共享关联键,设置 iteration.step 属性即可按 step 聚合查询。
- 采样策略 每次迭代产生上万 Span(每 GPU 一个 root Span),必须智能采样,如表18-37所示。 表18-37 Span 采样策略 采样策略 说明 采样率 适用场景 Head Sampling Span 创建时随机决定 10-30% 常规监控 Tail Sampling Span 完成后决定 慢 Span 100% 精确捕获慢迭代 Error Full Sampling 含 error 的 Span 100% 采样 100%(错误) 故障排障 Tail Sampling 在 OTel Collector 中配置为 tail_sampling processor:错误 Span 全量、慢迭代(超均值 3 倍)全量、 其余按 10% 概率采样。
18.4.5 完整堆栈与工程实践
- NVIDIA Fleet Intelligence NVIDIA 提供的云端集群健康管理服务,将匿名化 GPU 物理指标(SN、UUID、温度、功耗、利用率、ECC 计数)上传云 端,提供跨集群基准对比与预测性 RMA(预测 30 天内可能故障的 GPU)。其价值在于群体智能,可发现单用户无法发现 的批次性硬件缺陷(如某批次 TIM 材料缺陷导致的异常温升)。不包含应用代码、模型权重或训练数据,企业可自主选择 是否上传。
- 实验层观测 W&B 与 MLflow W&B 是实验追踪的事实标准,承担应用层观测:实验级指标(loss、梯度范数)+ 系统指标(GPU 利用率、显存)+ 告 警(loss NaN、梯度爆炸)。其独特价值在于实验语义与基础设施指标的关联,运维在 Loki 看到“XID 48 on GPU 3”时,可在 W&B 查询该 GPU 当时在跑哪个实验、从哪个 checkpoint 恢复损失最小。MLflow 是开源替代,适合数据隐 私要求严格的企业。
- Kubernetes Node Problem Detector 通过 DaemonSet 检测节点问题并上报为 Node Condition:自定义插件每 30 秒检查 GPU 健康,检测到 XID 错误后更新 GPUHealthy=False ,调度器停止调度新 workload,配合 Descheduler 驱逐现有 Pod,修复后恢复 GPUHealthy=True 。
- 方案选型决策树 可观测性方案的整体选型决策树如图18-6所示。 GPU Cluster Scale & Sched uler Scheduler Type? Experiment Management Needed? Slurm Kubernetes Yes No GPU Count? GPU Count? W&B / MLflow Prometheus + Grafana onl y < 1000 >= 1000 < 100 100-1000 >= 1000 DCGM + Prometheus + Meta GCM + Prometheus DCGM Exporter + MEDIUM: + NVSentinel LARGE: + OTel Collector Custom Slurm Scripts + OpenTelemetry Prometheus + Grafana + Loki + Tempo + Kafka + Thanos/Cortex 图18-6 可观测性方案选型决策树 生产级可观测性堆栈的分层架构如图18-7所示。 Hardware Layer H800 GPUs × 10,000 InfiniBand NDR × 4,000 p GPFS / Lustre Storage orts Collection Layer - Node Level Fluent Bit DCGM Exporter IB Exporter Node Exporter OTel Agent Log Collector :9400 - GPU Telemetry :9310 - InfiniBand Telemet :9100 - CPU/Mem/Disk :4317 - App Traces ry Collection Layer - Cluster Level Prometheus Cluster OTel Gateway Scrape + Federation Metrics/Traces/Logs
(Kafka Buffer Layer) Storage Layer (Thanos + MinIO (Loki + S3 (Prometheus TSDB (Tempo + S3 365d Cold Data) 30d Logs) 15d Hot Data) 7d Traces) Alerting & Remediation Presentation Layer AlertManager Grafana Alert Routing Unified Dashboards NVSentinel PagerDuty / Slack / Webho GPU Auto-Remediation ok 图18-7 完整可观测性堆栈架构 5) 告警规则示例 告警规则的核心原则是每条告警必须可行动并附带 runbook。典型规则示例: rules:
- alert: GPU_DoubleBitECCError expr: increase(DCGM_FI_DEV_ECC_DBE_VOL_TOTAL[5m]) > 0 for: 1m labels: {severity: critical, category: gpu-hardware}
... (omitted): low SM utilization, NVLink errors, slow rank alerts
- 数据流总结 GPU、应用与 K8s 三类数据分别经 DCGM Exporter、OTel Agent、Fluent Bit 汇入 Prometheus、Tempo、Loki,由 Grafana 统一展示,NVSentinel 与 Meta GCM 负责闭环处置。
- 关键参考链接 各核心组件的官方文档链接如表18-38所示。 表18-38 可观测性组件参考链接 组件 链接 NVIDIA DCGM https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/index.html DCGM Exporter https://github.com/NVIDIA/dcgm-exporter NVIDIA GPU Dashboard (Grafana https://grafana.com/grafana/dashboards/12239-nvidia-dcgm-exporter-
#12239) dashboard/ Grafana Loki https://grafana.com/oss/loki/ Grafana Tempo https://grafana.com/oss/tempo/ OpenTelemetry https://opentelemetry.io/ 组件 链接 Prometheus https://prometheus.io/ NVIDIA NVSentinel https://github.com/NVIDIA/nvsentinel Weights & Biases https://wandb.ai/ MLflow https://mlflow.org/ Kubernetes Node Problem Detector https://github.com/kubernetes/node-problem-detector 大规模 GPU 集群的可观测性是决定训练效率与硬件投资回报率的核心基础设施,建设遵循几条原则:故障是常态,可观 测性必须是一等基础设施;三大支柱通过 Grafana 统一面板实现 Metrics → Logs → Traces 三层下钻;DCGM 是 GPU 硬 件遥测的基石;自愈闭环(检测→诊断→隔离→恢复→验证)是规模化运维的唯一路径;应用层探针把训练迭代作为最小 检测单元;规模决定选型,选型决策见图18-6。 从零搭建的分阶段路线:基础可见性 → 故障告警 → 日志聚合 → 应用层探针 → 分布式追踪 → 自愈自动化 → 大规模优 化。核心原则:先看见再理解,按需采集避免数据沼泽,每条告警可行动并附带 runbook,自愈有边界,DBE 可自动隔 离,但自动 RMA 需人工审批。
18.4.6 问题定位方法论
大规模集群的复杂性能问题常是应用、库、驱动、固件、硬件多层交织的产物。定位方法论的核心是「分层隔离 + 证据链 收集」,把模糊问题逐步收敛到确定层。
- 分层隔离模型 把系统按栈划分为五层,每层有明确的观测信号,如表18-39所示。定位策略是「自顶向下快速分层」:先确认问题发生在 哪一层,再在该层深入,每层排除后向下一层收敛。 表18-39 分层隔离观测信号 层 观测信号 典型问题 应用层 step 时间、loss、日志 算法错误、数据加载瓶颈 库层 NCCL 日志、cuBLAS/cuDNN 版本 算子回退、库版本不兼容 驱动层 dmesg、Xid 错误、nvidia-smi 驱动 bug、CUDA context 泄漏 固件层 BMC 日志、NVML 固件版本 固件 bug、GPU/NIC 固件不匹配 硬件层 ECC、温度、功耗、链路 CRC 物理故障、降级
- 证据链收集 问题发生时第一时间收集跨层证据,错过时序窗口会导致不可复现: •时间对齐:所有日志统一时间戳(NTP 同步 + 应用打点),跨层关联以时间为锚。 •分层快照:故障瞬间同时抓应用日志、NCCL 调试日志、dmesg、 nvidia-smi (含 Xid 计数)、BMC 传感器、交换机 端口错误计数。 •慢速缓存:高频指标(DCGM 15 秒级)与低频日志(秒级)并存,回溯时用高频指标缩小到秒级再翻日志。
- 跨层信号组合判定 单一信号不可靠,需组合判定。典型模式:DBE + 训练 OOM 超时 + NCCL 超时 → 显存物理故障;NVLink CRC 升高 + AllReduce 延迟升高 + 温度正常 → NVLink 链路降级;SM Active 低 + GPU Util 高 + 温度正常 → kernel 启动开销或同步 等待。
- 信息模糊场景的收敛方法 软硬件问题常信息不全(无明确错误码、偶发、不可复现)。收敛手段:隔离变量(换节点、换卡、换驱动版本,一次只 变一个变量);最小复现(把生产负载缩减为单卡单算子脚本);对比基线(同型号无故障节点做 A/B 对比,差异即线 索);历史模式(检索历史同类故障,匹配已知模式与修复动作)。
- 输出可落地方案 定位到根因后,输出要可落地:给出修复动作(驱动升级、参数调整、硬件替换)、验证方法(复跑最小复现 + 回归测 试)、预防措施(监控指标、版本基线、验收规范),并沉淀进故障数据库,形成“定位→修复→验证→沉淀”闭环。
18.5 可视化与平台集成实战
18.5.1 碎片化工具之痛
- 典型 AI 平台的工具矩阵 在一个具备完整能力的千卡级 GPU 集群中,平台团队通常会部署以下工具栈,每一层都自带独立的 Web 控制台。一个典 型的 H800 集群日常运维中,AI 工程师和数据工程师需要频繁在以下至少 5~7 个互不相通的 Web UI 之间切换,如表18- 40所示。 表18-40 典型 AI 平台工具矩阵 序 工具 Web 控制台 典型问题/操作 认证方式 号 1 Kubernetes (Rancher/RKE2) Rancher UI :8443 节点状态、Pod 列表、资源配额 Rancher RBAC / Keycloak 2 调度器 (Volcano/Kueue) Volcano Dashboard / kubectl 命令行 队列积压、任务优先级、Gang Scheduling K8s RBAC (kubeconfig) 3 训练平台 AI) (Determined Det WebUI :8080/det/ 实验列表、Trial 详情、超参对比、 TensorBoard Det Bearer Token 4 数据平台 台) (自研/内部平 Next.js 管理端 :3000 数据集版本、预处理任务、标注进度 平台自有 JWT 5 监控 (Grafana + Prometheus) Grafana :3030 GPU 利用率、NVLink 带宽、IB 流 量、节点温度 Grafana OAuth / 匿 名 6 日志 (Loki / ELK / ClickHouse) Grafana Loki / Kibana 训练日志、系统日志、错误栈 同监控体系 7 告警 (Alertmanager) Alertmanager UI :9093 告警规则、静默设置、通知路由 无/Basic Auth
- 转椅集成问题 业界将这种需要人工在不同系统间切换、复制粘贴信息来完成一个完整工作流的模式称为 “Swivel Chair Integration”(转椅集成)——运维人员像坐在转椅上一样,在多个显示器、多个 Web 标签页之间来回旋转。 一个典型的故障排查场景(真实时间线): 09:15 Grafana alert: node xl003 GPU 0 utilization drops from 98% to 12% 09:16 Open Rancher UI ▶ Find pods running on xl003 09:18 Open Det WebUI ▶ Search for corresponding Experiment ID, view Trial logs 09:20 SSH into xl003 ▶ nvidia-smi check GPU status 09:23 Open Prometheus ▶ Manually query xl003 DCGM XID error metrics 09:25 Open Loki ▶ Search xl003 kernel logs for ECC/NVLink errors 09:30 Comprehensive judgment: NVLink link downgrade ▶ Decide to migrate the task 09:32 Return to Rancher UI ▶ Add nodeSelector to exclude xl003 09:35 Return to Det WebUI ▶ Confirm task resumed on new node 09:40 Open Alertmanager ▶ Silence this alert for 2 hours 在这 25 分钟的排查过程中,工程师在 5 个不同工具之间切换了 9 次,多次手动复制实验 ID、节点名、时间戳等信息。对 于一个管理 200+ 节点、日均运行 50+ 训练实验的集群,这种碎片化带来的效率损失不可接受。
- 统一座舱需求 AI 集群运维需要的是一个 “统一座舱”(Unified Cockpit),一个单一入口、统一上下文、跨平台联动的操作界面。其核 心诉求可以归纳为三层,如图18-8所示。 Current Pain Points 5+ Separate Consoles Information silos Manual ID Copy Context interrupted Multi-step Navigation
Avg 25 min investigation Core Requirements Unified View One-stop cluster-wide stat us overview Context Continuity Any object can drill down t o related systems Quick Action From issue discovery to fix in < 3 steps Target State Single Entry All platforms embedded Experiment ID Linked One-click drill-down Alert ▶ Diagnose ▶ Fix Full-process automation 图18-8 统一座舱的需求分析,从碎片化到一体化
18.5.2 五种集成策略
统一的路径不止一条。根据对业界主流平台和开源项目的调研,我们将统一可视化方案归纳为五种核心策略,每一种都有 其哲学出发点、技术架构和适用场景。
- 中央仪表盘策略 •哲学:将所有功能收拢到一个统一的门户中,提供跨工作流的深层集成。 •代表产品:Kubeflow Central Dashboard、Run:ai Platform、Apolo(NeuroPlatform) •核心特征:单一 Web 入口,所有功能作为 Portal 内的子模块;统一的命名空间/项目概念贯穿所有子系统;深度工作 流集成,例如从 Notebook → Pipeline → Experiment → Serving 在同一个 UI 中完成。 典型架构(以 Kubeflow Central Dashboard 为例)如图18-9所示。 Kubeflow Central Dashboa rd (React + Node.js) Notebooks Pipelines Experiments Models Serving Istio + OIDC K8s Namespace JupyterLab KFP UI Katib ML Metadata KServe Unified Auth Multi-tenant Isolation 图18-9 Kubeflow Central Dashboard 架构 所有子系统挂载在统一的命名空间路由下。 •优点:体验最统一、工作流串联最紧密 •缺点:需要所有子系统按统一框架开发,迁移成本极高;对已有系统不友好
- 实验中心策略 •哲学:AI 平台的核心业务对象是“训练实验”,所有可视化围绕实验展开。 •代表产品:Determined AI WebUI、Weights & Biases (W&B)、MLflow Tracking UI •核心特征:以 Experiment(实验)为一级导航对象;每个实验页面内聚合超参、指标曲线、日志、系统资源、模型产 出;跨实验的比较和筛选功能强大。 •适用场景:以模型训练为核心业务的团队,其他功能(数据、部署)相对次要 实验中心模式以实验 ID 为枢纽聚合所有相关信息,如图18-10所示。 Hyperparameters batch_size=128, lr=1e-4
Metrics loss, accuracy, throughput Logs Trial logs, profiler trace Experiment experiment_id=1822 System Metrics GPU util, memory, IB BW Checkpoints Model artifacts Metadata DB PostgreSQL 图18-10 Experiment-Centric 模式 3) 计算框架中心策略 •哲学:以统一的分布式计算框架为基础,可视化围绕计算资源管理展开。 •代表产品:KubeRay + Ray Dashboard、OpenSCOW(北大) •核心特征:Ray / KubeRay 作为统一计算抽象层,训练、数据处理、推理、调参都用 Ray;Ray Dashboard 提供统一 的 Job、Actor、Task 视图;所有工作负载的资源和日志都可以在同一个 UI 中定位。 •适用场景:已经从 PyTorch DDP 迁移到 Ray 框架的团队 •优点:天然统一,Ray 本身就是抽象层 •缺点:绑定 Ray 生态,需要全团队的技术栈迁移 4) GPU 资源中心策略 •哲学:GPU 是集群的“硬通货”,以物理 GPU 设备为核心组织视图。 •代表产品:HAMi WebUI(第四范式开源)、NVIDIA DCGM + 自研面板 •核心特征:物理拓扑视角,从机柜 → 服务器 → GPU Chip → 进程 的树状导航;GPU 分配热力图,哪些 GPU 被占用、 哪些空闲、哪些故障;支持 GPU 虚拟化(vGPU、MIG)的分层展示。 GPU 资源中心以物理拓扑组织 GPU 的分配和健康状态,如图18-11所示。 Datacenter Rack R01 (16 DGX) Rack R02 (16 DGX) DGX-01 (8×H800) DGX-02 (8×H800) GPU 0 GPU 1 GPU 2 GPU 3 GPU 4 GPU 5 GPU 6 GPU 7 Pod: train-1822 Pod: train-1822 Pod: train-1928 Pod: -- ERROR: XID 48 fault Pod: train-1822 Pod: train-1822 Pod: train-1822 Util: 98% Util: 97% Util: 45% Util: 0% idle Util: 98% Util: 98% Util: 96% 图18-11 GPU Resource-Centric 视图 5) 告警与自愈策略 •哲学:对于大规模集群,“稳定性”是压倒一切的首要目标。 •代表产品:Crusoe Command Center、Datadog AI Operations •核心特征:以告警(Alert)为一级对象,告警驱动一切操作;告警附带丰富的上下文(相关指标、日志、拓扑);自动 化 Runbook,告警触发 → 诊断 → 建议 → 一键执行修复;告警生命周期管理,触发 → 确认 → 处理中 → 已解决 → 复 盘。 •适用场景:GPU 规模 > 1,000 张、SLA 要求 > 99.5% 的生产集群 6) 五种策略对比 五种集成策略的横向对比如表18-41所示。 表18-41 五种集成策略对比 策略 核心哲 关键特征 理想场景 代表产品 成熟度 学 Central Dashboard 统一门 户 单一入口、命名空间贯穿、深度 从零搭建的新平台 Kubeflow、Run:ai、 ★★★ 工作流集成 Apolo ★★ Experiment-Centric 实验中心 实验 ID 聚合一切、强对比和追 以模型训练为核心 Determined AI、 踪能力 的团队 W&B、MLflow ★★★ ★☆ Compute 计算统 统一计算抽象、Ray 生态整合 已全面采用 Ray 的 KubeRay、OpenSCOW ★★★ Framework-Centric 一 团队 ☆☆ GPU Resource- 硬件视 物理拓扑导航、GPU 热力图、 GPU 运维和容量规 HAMi WebUI、DCGM ★★★ Centric 角 虚拟化分层 划 ☆☆ Alert & Self-Healing- 稳定性 告警驱动、自动 Runbook、生 大规模生产集群 Crusoe、Datadog ★★★ Centric 优先 命周期管理 ★☆ 说明:五种策略并非互斥。实际落地中,往往是 1~2 种策略主导 + 其他策略辅助 的混合模式。例如,Run:ai 本质上 是“Central Dashboard + GPU Resource-Centric”的融合。
18.5.3 统一可视化的架构模式
无论选择哪种集成策略,都需要面对一个核心的工程问题:如何在技术上把多个独立的 Web 前端“拼”在一起?以下是 五种主流的架构模式。
- 架构模式全景图 五种架构模式的全景如图18-12所示。 Five Architecture Patterns Pattern 5: BFF Backend-for-Frontend
(Go/Node.js) Det API Prometheus API Data Platform API Unified Frontend Pattern 4: Rancher Extension Rancher UI Extension Plugin (@rancher/shell) Proxy ▶ Det/Grafana Pattern 3: iFrame Embedding Main Frame Page (with sidebar/navigation)
GET /api/v2/experiment/1822/overview
GET /api/v1/experiments/1822
query_range(avg by(node){GPU_util}[6h])
GET /api/datasets/by-experiment/1822{config, trials, metrics} [{node:xl003, values:[[t,v]]}, ...] [{dataset_id: 42, name: imagenet-1k}] Aggregate & transform {experiment, gpu_metrics["gpu_metrics"], datasets["datasets"], ...} Unified Frontend BFF Server (Go) Determined AI API Prometheus Data Platform API 图18-13 BFF 模式,后端聚合多个数据源,前端只与 BFF 通信 实现要点:用 sync.WaitGroup 并发请求三个下游(Det / Prometheus / 数据平台),各 goroutine 的错误互不影响,聚 合为视图级结构 ExperimentOverview{experiment, gpu_metrics, datasets} 后统一返回,前端只需一次请求。 •优点:前端逻辑最简洁、后端可以自由聚合和裁剪数据、性能可精确控制 •缺点:需要开发和维护一个额外的后端服务、聚合逻辑成为新的瓶颈点 7) 架构模式对比 五种架构模式的横向对比如表18-42所示。 表18-42 架构模式对比 维度 API Micro-Frontend iFrame 嵌入 Rancher Extension BFF Gateway 实现复杂度 ★☆☆☆☆ ★★★★★ ★☆☆☆☆ ★★★☆☆ ★★★★☆ UI 统一性 ★☆☆☆☆ ★★★★★ ★★☆☆☆ ★★★★☆ ★★★★★ 跨平台状态共 无 强(Event Bus) 弱(postMessage) 中(Store Plugin) 强(后端聚合) 享 对现有系统侵 零 高(需改造前端) 零 低(仅配置) 中(需改 API 调用路径) 入 维护成本 低 高 极低 中 中 适合阶段 快速验证 深度集成 原型阶段 已有 Rancher 投资的团 JSON API 为主的系统 队
18.5.4 Rancher 中心化方案
在第五章架构模式中,Rancher UI Extension 模式对已有 SUSE/Rancher 集群投资的企业是最经济高效的路径。本节概 述该方案的基座能力、扩展框架与集成思路,实施细节不展开。
- 基座能力 对于已经使用 Rancher 管理 Kubernetes 集群的团队,Rancher Dashboard 天然具备多项“统一门户”所需的基座能 力,如表18-43所示。 表18-43 Rancher 基座能力 能力 Rancher 原生支持 说明 多集群管理 是(核心能力) 一个 Rancher 实例管理成百上千个 K8s 集群 RBAC 是(全局/集群/项目三级) 用户、组、角色、ClusterRole 完全集成 SSO/OIDC 是(Keycloak / LDAP / SAML) 所有集成方共享同一认证体系 监控集成 是(Rancher Monitoring,Prometheus + Grafana) 内置 Helm Chart,一键部署 节点视图 是(Cluster Explorer) 节点列表、CPU/内存/磁盘/网络实时指标 Pod/Workload 视图 是(工作负载管理) Deployment、DaemonSet、Job、StatefulSet Extension 框架 是(@rancher/shell SDK) 从 Rancher 2.7 开始支持,独立版本、热插拔 版本要求:Rancher v2.7.0+ 支持 Extensions 框架。推荐使用 Rancher v2.8.x 以获得最稳定的 Extension API。
- 扩展框架 Extension 框架的整体架构如图18-14所示。 Browser Rancher Dashboard (Vue 3 + Pinia) Extension Plugin @rancher/shell SDK Navigation product/sidebar/route
Vue Pages Dashboard, Training, Dat a, Monitor API Proxy $fetch('/k8s/clusters/...') $fetch via Steve Proxy Auth Token Rancher Server Steve API Auth Proxy Norman API (K8s Resource) (SSO/RBAC) (Management) K8s API External Services Determined AI :8080 Grafana :3030 Data Platform :3000 Prometheus :9090 图18-14 Rancher Extension 架构 插件运行在 Rancher Dashboard 内,通过 Steve Proxy 访问外部服务。Extension 的关键技术栈如表18-44所示。 表18-44 Rancher Extension 关键技术栈 层 技术 版本/说明 框架 Vue 3 Composition API 层 技术 版本/说明 状态管理 Pinia Rancher 官方推荐 UI 组件库 @rancher/components Rancher 自研组件库,包含表格、表单、图表等 Shell SDK @rancher/shell 提供插件生命周期、路由、导航、Proxy 等 API 构建工具 Yarn + Webpack 通过 @rancher/extension CLI 管理 打包格式 .pkg (tar.gz) 通过 Rancher UI → Extensions 上传 3) 集成思路 实现路径分为四步:用 @rancher/extension CLI 创建项目骨架, pkg/ 下存放打包上传的 Extension 包(入口、导 航、路由、国际化), src/ 下存放页面与业务代码;在插件入口注册 Product(侧边栏导航)与 hai-cockpit-* 系列 路由;在 src/pages/ 下构建统一仪表盘(GPU 概览、实验摘要、存储用量、告警四卡片加热力图)、训练管理页(实 验列表筛选与行点击跳转)与监控页(iframe 嵌入 Grafana 面板,支持实验 ID 过滤);通过 Rancher UI 上传 .pkg 文件 完成部署。 外部 API 统一走 Rancher Steve Proxy(经 K8s API proxy 路径访问,自动携带认证 token),未走 Steve 的直连场景用 Nginx 反代配置 CORS 白名单。 生产注意事项: •Extension 会持久化到 Rancher 的 PVC 中,集群升级不会丢失 •每个版本的 Extension 独立存储,可以回滚到旧版本 •Extension 的权限继承当前用户的 Rancher RBAC,无需额外配置
18.5.5 与具体平台的集成实战
Grafana、Determined AI、Prometheus、Rancher Monitoring 四类平台的集成模式相同:通过 Rancher Steve Proxy 或 Nginx 反代统一 API 访问与认证,前端以 iframe 或 $fetch 消费数据。以下以 Grafana 为完整示例,其余平台列出与 Grafana 的差异。
- Grafana
Grafana 与统一 Dashboard 的集成有三种粒度:全屏 Dashboard 嵌入、Panel 级精确嵌入、深链参数。全屏嵌入用
iframe 加载 Dashboard 地址,URL 携带 from / to / refresh / theme 等参数,实验 ID 通过 var-experiment_id 预过
滤;Panel 级嵌入改用 /grafana/d-solo/
路径并附加 panelId ,适合单独嵌入 GPU 利用率或 NVLink 带宽图。 Grafana 默认禁止 iframe 嵌入(X-Frame-Options: DENY),需要在配置中开启 allow_embedding = true ,并配套设 置 cookie 的 SameSite/secure。 - Determined AI 与 Grafana 的区别:Grafana 以 iframe 嵌入可视化面板;Determined AI 以 REST API 为主,前端用 $fetch 拉取实验 数据并自绘表格。关键端点: GET /api/v1/experiments (实验列表,支持 states / users / offset / limit 分页筛 选)、 GET /api/v1/experiments/{id} 、 /trials 、 /metrics 、 /logs (详情、Trial 列表、指标、日志)、 POST /api/v1/experiments/{id}/kill 、 /pause 、 /activate (生命周期操作) 、 POST/GET /api/v1/tensorboards 及 /{id}/kill (TensorBoard 实例管理)。Det API 默认不返回 CORS 头,前端直连需在 Nginx 反向代理层按来源域名 配置 CORS 白名单,做法与 18.8.4 方案 B 相同。 TensorBoard 的相关 REST API 如表18-45所示。 表18-45 Det TensorBoard API 方法 端点 说明 POST /api/v1/tensorboards 为一个或多个实验/Trial 启动 TensorBoard 方法 端点 说明 GET /api/v1/tensorboards 列出所有 TensorBoard 实例 GET /api/v1/tensorboards/{id} 获取单个实例详情(含 serviceAddress ) POST /api/v1/tensorboards/{id}/kill 终止 TensorBoard 实例 Launch 请求体为 {"experiment_ids": [1822, 1823], "trial_ids": [], "workspace_id": 1} ,响应返回实例 id 与 serviceAddress (如 /proxy/tb-8f3a2c1d/ ),统一平台直接以该地址构建 iframe URL 即可。TensorBoard 嵌入的常见问题与业界方案对比如表18-46、表18-47所示。 表18-46 TensorBoard 嵌入注意事项 问题 解决方案 CORS TensorBoard 不支持 CORS。必须通过代理层访问,不可直接从浏览器跨域请求 WebSocket TensorBoard 依赖 WebSocket 实现实时刷新。代理层(Nginx/Envoy/Rancher Steve)必须支持 Upgrade: websocket 认证 TensorBoard 本身无认证机制。认证必须在反向代理层完成(Det 的方法:Master 代理 + Bearer Token 校验) X-Frame- 若用 iframe 嵌入,TensorBoard 需设 --allow_all_origins 或代理层移除 X-Frame-Options 响应头 Options 多实验合并 一个 TB 实例可同时展示多个实验: POST /api/v1/tensorboards 的 experiment_ids 传入数组即可 空闲回收 生产环境务必设置超时自动终止(Det 的 TensorBoardTimeout ),避免资源浪费 性能 TensorBoard 加载大量 TFEvent 文件时可能卡顿。建议限制 --samples_per_plugin ,对大实验使用 -- reload_multifile=false
表18-47 TensorBoard 集成方案对比 方案 架构 适用场景 复杂度 Det 内置 Master 代理 → 容器化 TB 已用 Determined AI 极低(开箱即用) Rancher + Det Rancher Steve → Det Master → TB 以 Rancher 为中心的统合方 低 Proxy 案 自建代理 + Docker Nginx → Docker TB 容器 无 Det,使用其他训练框架 中 Kubeflow CRD TB Controller → K8s Deployment + Istio K8s + Kubeflow 生态 中 VirtualService 3) Prometheus 与 Grafana 的区别:Grafana 集成以面板 URL 为入口;Prometheus 集成以 query / query_range 两个端点返回的时序 数据为输入,由前端自行绘图。常用 PromQL:GPU 利用率 avg by (node, gpu) (DCGM_FI_DEV_GPU_UTIL{experiment_id="..."}) ;NVLink 带宽 rate(DCGM_NVLINK_BANDWIDTH_TOTAL{node="$node"}[1m]) ;IB 端口流量 rate(node_infiniband_port_data_transmitted_bytes_total{node="$node"}[1m]) ;GPU 故障 DCGM_FI_DEV_XID_ERRORS > 0 or DCGM_FI_DEV_ECC_CURRENT_FAILS > 0 or DCGM_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTAL > 0 。 4) Rancher 内置监控集成 Rancher Monitoring 是 kube-prometheus-stack 的封装,包含 Prometheus、Grafana(预装 20+ Dashboard)、 Alertmanager、node_exporter、kube-state-metrics。内置 Grafana 通过 Rancher 的 K8s API proxy 路径访问,与直 接集成 Grafana 的区别仅在于访问路径需拼接 /k8s/clusters/{clusterId}/api/v1/namespaces/cattle- monitoring-system/services/http:rancher-monitoring-grafana:80/proxy/ 前缀,Extension 中应动态获取当前 集群 ID。注意 Rancher Monitoring 部署的 Grafana 默认不含 GPU 相关 Dashboard(如 DCGM 指标),GPU 监控需单独 部署 NVIDIA DCGM Exporter 和配套的 Grafana Dashboard JSON。
18.5.6 业界统一平台对比
- 商业平台 Run:ai Run:ai 的详细信息如表18-48所示。 表18-48 Run:ai 平台详情 维度 详情 定位 企业级 AI 编排与资源管理平台 URL https://www.run.ai/ 核心功能 GPU 调度(Gang Scheduling、Fractional GPU)、资源配额、统一 Dashboard、工作负载管理 可视化特点 基于项目的统一视图;GPU 分配热力图;工作负载实时状态;与 K8s 深度集成 UI 架构 React SPA + 自研组件库;通过 K8s CRD 驱动 UI 渲染 优势 NVIDIA 生态完整集成、对 GPU 拓扑感知调度是业界最强 局限 商业闭源、依赖 NVIDIA GPU、小团队成本高 适用场景 100~10,000 GPU、已投资 NVIDIA 生态的企业 Crusoe Command Center Crusoe Command Center 的详细信息如表18-49所示。 表18-49 Crusoe Command Center 平台详情 维度 详情 定位 GPU 集群“单一事实源”(Single Source of Truth) URL https://crusoe.ai/ 核心功能 全集群 GPU 健康仪表盘、实时故障检测、自动化 Runbook、容量规划 可视化特点 以物理拓扑组织 GPU;红/黄/绿健康状态编码;故障预测热力图 UI 架构 Next.js SPA + WebSocket 实时更新;Grafana + 自研双轨监控 优势 GPU 故障诊断和自愈能力业界领先;对 H800/GB200 特有故障模式有深度适配 局限 主要服务自有数据中心、产品化程度待提升 适用场景 >500 GPU 的生产集群、对稳定性要求极高的场景 Apolo Apolo 的详细信息如表18-50所示。 表18-50 Apolo 平台详情 维度 详情 定位 端到端 ML 平台,统一 UI 覆盖训练到推理 URL https://www.apolo.ai/ 核心功能 项目管理、数据版本、训练调度、模型注册、推理部署全流程 可视化特点 左侧面包屑导航 + Workspace 概念;每个 Workspace 下聚合数据、训练、模型、部署 维度 详情 UI 架构 React SPA + BFF 架构;工作流引擎驱动 UI 状态 优势 端到端覆盖最完整;对 ML 工程师的日常工作流支撑最好 局限 学习曲线较陡、定制化难度高 适用场景 需要从数据到推理全线打通的 ML 团队
- 开源平台 Kubeflow Kubeflow 的详细信息如表18-51所示。 表18-51 Kubeflow 平台详情 维度 详情 定位 K8s 原生 MLOps 平台 URL https://www.kubeflow.org/ 核心功能 Notebooks、Pipelines (KFP)、超参搜索 (Katib)、模型服务 (KServe)、Central Dashboard 可视化特点 Central Dashboard 提供左侧统一的命名空间切换和功能入口;各子系统独立部署 UI 架构 Angular SPA(Central Dashboard)+ React/其他(各子系统) 优势 Google 背书、社区最大、K8s 原生、无供应商锁定 局限 组件臃肿(10+ CRD)、升级痛苦、各子系统UI不一致、对 GPU 拓扑感知弱 适用场景 已有 K8s 基础设施的团队、希望避免商业锁定的组织 Autodesk RayLab Autodesk RayLab 的详细信息如表18-52所示。 表18-52 Autodesk RayLab 平台详情 维度 详情 定位 基于 KubeRay 的统一计算与可视化平台 URL https://github.com/autodesk/raylab 核心功能 通过 KubeRay Operator 统一管理 Ray 集群 + Ray Dashboard 作为统一 UI 可视化特点 Ray Dashboard 原生提供 Job、Actor、Task 视图;KubeRay 添加 GPU 资源视图 UI 架构 React (Ray Dashboard) + K8s Operator 优势 Ray 生态原生的统一接口、Python API 即可驱动物理 GPU 资源 局限 需全团队采用 Ray 框架、对已有 PyTorch DDP 工作负载迁移成本高 适用场景 已全面采用 Ray 生态的团队、RL/调参密集型工作负载 Rancher + Extensions Rancher + Extensions 的详细信息如表18-53所示。 表18-53 Rancher + Extensions 平台详情 维度 详情 定位 轻量级、基于现有投资的统一可视化方案 URL https://www.rancher.com/ 维度 详情 核心功能 K8s 多集群管理 + Extension 框架实现 AI 平台集成 可视化特点 统一的侧边栏导航、Rancher 原生 UI 风格、可通过 Extension 渐进式添加 AI 专属功能 UI 架构 Vue 3 + Pinia + @rancher/shell SDK 优势 零额外许可成本(如已有 Rancher 部署)、轻量化、渐进式、与 K8s RBAC 天然统一 局限 需要前端开发能力、Extension 社区生态不够成熟、无内建 AI 领域组件 适用场景 已部署 Rancher、有前端团队、预算有限但需要自建差异化能力的组织
- 选型决策框架 统一平台的整体选型决策树如图18-15所示。 Start Selection Team < 5 people? Yes No Rancher already deploye GPU > 1,000 cards? d? Yes No Yes No Rancher + Extensions Kubeflow Budget allows commercia Progressive custom build (Deploy only needed comp l products? Primary scenario? onents) Yes No Model Training ML Full Pipeline GPU Operations Deeply tied to NVIDIA? Already using Ray stack? Determined AI Kubeflow HAMi / Rancher (Experiment-Centric) (Central Dashboard) (Resource-Centric) Yes No Yes No Run:ai Crusoe / Datadog Rancher + Extensions (Complete NVIDIA ecosyste (Stability-first) KubeRay + Ray Dashboard + Custom BFF m integration) 图18-15 统一平台选型决策树
18.6 元数据与追溯实战
本节聚焦把分散的观测数据组织成可关联、可追溯、可下钻的统一体系:统一元数据模型、跨平台数据下钻、训练全链路 可追溯性与实施路线图。
18.6.1 统一元数据模型
- experiment_id 作为通用关联 在 AI 集群的多个子系统中, experiment_id 是天然的 跨平台通用关联键(Universal Join Key)。一个训练实验的生命 周期跨越调度、资源分配、训练执行、数据读取、监控采集、日志聚合等多个环节,各子系统以实验 ID 为纽带关联,如 图18-16所示。 experiment_id = 1822
(Universal Join Key) Scheduler (Volcano) Training Platform (Det) GPU Resources Data Platform Prometheus Loki Network Monitoring PodGroup: pg-train-1822 Trial ID: 1822-1, 1822-2 Nodes: xl003, xl007 Dataset: imagenet-1k-v3 Metric: GPU_util{exp='182 Log Stream: {exp='1822'} IB Ports: mlx5_0~mlx5_7 Queue: high-priority Hyperparams, Metrics GPU 0-7 on each node Shards: 0-127 2'} Trial logs + syslogs NVLink Domain: xl003 Time series: 6h 图18-16 experiment_id 跨平台关联键 2) 统一元数据 Schema 为了实现跨平台数据关联和上下文下钻,需要定义统一元数据模型(Unified Metadata Schema)。模型以 experiment_id 为顶层键,各子对象描述一个环节,核心结构如下: { "experiment_id": 1822, "experiment": { "name": "llama3-70b-pretrain-20260510", "framework": "megatron-lm" }, "scheduling": { "scheduler": "volcano", "queue": "high-priority", "requested_gpus": 128 }, "observability": { "grafana_dashboard_uid": "training-time-cost-v1", "prometheus_labels": { "experiment_id": "1822" } } // ... (omitted: resources, trials, data, tags) } 3) 元数据流转机制 experiment_id 从任务提交到全平台标注的流转过程如图18-17所示。 AI Engineer CLI Scheduler (Volcano) Determined AI Metadata Service Label Injector Prometheus/DCGM Loki/Fluentd Submit training Job Create PodGroup: pg-train-1822 Register experiment_id=1822 {resources, scheduling info} ACK Bind pods to nodes xl003, xl007 Inject labels: experiment_id=1822 ▶ Pods DCGM labels propagated: GPU_util{"exp='1822',node='xl003',gpu='0'"} Fluentd labels added: {exp="1822"} ▶ log streams Create experiment with exp_id=1822 Link Det trial IDs to exp_id=1822 ACK Trials start training emit metrics + logs Metadata is now complete — Scheduler + Det + Monitoring + Logs all share experiment_id=1822 AI Engineer CLI Scheduler (Volcano) Determined AI Metadata Service Label Injector Prometheus/DCGM Loki/Fluentd 图18-17 元数据流转机制 Label Injector 实现原理 在 Kubernetes 中,通过 Mutating Admission Webhook 自动向 Pod 注入 experiment_id 标签:Webhook 注册到 Pod 的 CREATE 操作,读取 annotations 中的实验 ID 写入 labels,Prometheus 与 Loki 据此自动发现对应实验的时间序 列与日志流。注册配置与注入逻辑均属常规代码,此处不再展开。
18.6.2 跨平台数据下钻
- 下钻场景与流程 统一可视化的核心价值在于 一键下钻——从一个告警出发,逐步深入到关联系统的具体细节,完成从“发现问题”到“定 位根因”的全链路。跨平台下钻的完整流程如图18-18所示。 Unified Dashboard Alertmanager Determined AI Grafana Node Details Ops Engineer Alert Triggered GPU util drop on xl003 < 20% Alert Webhook {alert, experiment_id=1822, node=xl003} Dashboard flashes alert marker Click alert ▶ View details Get alert full context Show: alert time, node, experiment ID, suggested Runbook Click experiment_id=1822 GET /api/v1/experiments/1822
Experiment details + Trial list Show: hyperparams, metric curves, trial logs See loss curve anomaly at certain time Deep-link with time params and exp_id Grafana panel: GPU util drop at anomaly timestamp Click node xl003 DCGM + node_exporter details Show: GPU temperature curve, ECC error count, NVLink CRC errors Root cause located: NVLink lane 0 CRC error accumulation Triggered link downgrade ▶ GPU memory bandwidth halved Recommended actions:
- Mark xl003 as unschedulable
- Restart DCGM health check
- Notify hardware team to check physical link Unified Dashboard Alertmanager Determined AI Grafana Node Details Ops Engineer 图18-18 跨平台下钻流程
- 深链接实现
Grafana 深链接
Grafana 支持丰富的 URL 参数来控制面板视图,如表18-54所示。
表18-54 Grafana 深链接 URL 参数
参数 说明 示例
from / to 时间范围 from=2026-05-10T08:00:00Z&to=2026-05-10T14:00:00Z
var-
设置模板变量 var-experiment_id=1822 var-node 设置节点变量 var-node=xl003 viewPanel 聚焦到特定面板 viewPanel=4 kiosk Kiosk 模式(隐藏顶部导航) kiosk 或 kiosk=tv refresh 自动刷新间隔 refresh=30s 深链接构造逻辑统一:基础 URL 拼接 from / to 时间参数与 var-* 模板变量,核心是一段 URLSearchParams 组装代 码,不再展开。 Determined AI 深链接 Determined AI WebUI 的 URL 模式如表18-55所示。 表18-55 Det WebUI URL 模式 资源 URL 模式 实验列表 /det/dashboard 实验详情 /det/experiments/{experimentId} 实验配置 /det/experiments/{experimentId}/config 实验日志 /det/experiments/{experimentId}/logs Trial 详情 /det/experiments/{experimentId}/trials/{trialId} 超参搜索 /det/experiments/{experimentId}/hp-tuning TensorBoard /det/experiments/{experimentId}/tensorboard Det 深链接的构造与 Grafana 一致,按 URL 模式拼接 path 并追加 timeFrom / timeTo 查询参数即可。 - 下钻时的上下文保持 跨页面导航的核心挑战是保持上下文(Context Preservation)。从 Grafana 面板发现异常指标跳转到训练详情页时,需 要保留时间范围、节点筛选条件等信息。状态由 Pinia Store 统一承载,核心是保存 experimentId 、 nodeName 、 timeRange 、来源与告警 ID 的全局上下文对象,避免各页面维护碎片化状态。实现方案是 URL Query Params + Pinia Store 双重保持:URL 保证链接可分享、刷新不丢失;Store 保证跨页内存态连续。目标页面挂载时读取来源与实验 ID, 与当前路由参数一致则沿用告警上下文,再加载实验详情。
18.6.3 训练全链路可追溯性
千卡/万卡集群中,一次训练任务涉及多个独立系统:Git 提交代码、Determined AI 编排实验、训练框架产出指标和日 志、Prometheus + Grafana 采集 GPU 硬件数据、TensorBoard 展示损失曲线。训练出现问题时,工程师需在多个系统 间反复跳转手动查询,效率极低。全链路可追溯性 的目标是:以 experiment_id + git_commit 为核心线索,在统一 可视化平台中,将所有训练相关数据串联为一个不可分割的上下文。点击任何一个异常点,就能看到当时的代码、GPU 状态与训练日志。
- 可追溯性数据模型 全链路可追溯性的数据模型实体关系如图18-19所示。 GIT_COMMIT string hash a1b2c3d4 string branch main / feat/optimizer string author who committed string message commit message datetime committed_at produces EXPERIMENT int id Det experiment_id string name exp-20260513-lr-sweep string git_commit a1b2c3d4 string dataset_version imagenet-v3.1 json hyperparameters json labels contains saves visualizes emits TRIAL TRAINING_LOG int id int experiment_id int experiment_id int trial_id CHECKPOINT TENSORBOARD string state string level string node_name string message json hparams datetime timestamp observed via reports per step OBS_METRICS STEP_METRIC int trial_id int trial_id string node_name int step float gpu_util float loss float gpu_temp float accuracy float ib_bw_bytes float step_time_ms float cpu_iowait float data_load_ms datetime timestamp 图18-19 全链路可追溯性数据模型
- 元数据注入
Determined AI 端
Determined AI 不自动捕获 git commit,通过 labels 和 notes 字段可手工注入。建议在提交脚本中自动提取 git 信息,
以 git rev-parse HEAD 取哈希与分支,作为 labels 注入实验。
训练代码端
在 PyTorch 训练脚本中,将 experiment_id 、 trial_id 与 git_commit 注入 Prometheus 自定义指标的标签(如
training_step_time_ms )。判断依据:训练指标与硬件指标都依赖 experiment_id 对齐。
Grafana / Prometheus 端
在 Grafana 仪表盘中配置 experiment_id 变量( Query: label_values(training_step_time_ms,
experiment_id) ),让所有面板根据该变量联动筛选。关键 PromQL 查询模板——通过 experiment_id 关联训练指标
和硬件指标:
training_step_time_ms{experiment_id="$experiment_id", rank=
"$rank"} DCGM_FI_PROF_GR_ENGINE_ACTIVE{node="$node_names"} - 统一可追溯性面板设计 实验全景页 在统一平台的实验详情页中,将所有相关信息聚合到一个视图,元数据、GPU 指标、训练曲线、日志与版本对比的聚合 布局如图18-20所示。 ┌──────────────────────────────────────────────────────────────────────────┐ │ Experiment #1822: lr-sweep-v2 [TensorBoard] [Logs] │ │ Git: a1b2c3d Dataset: imagenet-v3.1 Nodes: xl003, xl007 │ │ GPU Trend (1h): avg 87% Loss: 0.342 ▶ 0.187 │ │ Logs: [10:32:15] Step 100 [10:32:18] Step 101 │ │ Compare vs exp-1810: Loss 0.187 vs 0.213, GPU 87% vs 82% │ └──────────────────────────────────────────────────────────────────────────┘ 图18-20 实验全景页 异常下钻工作流 从告警到代码变更的完整追溯路径如图18-21所示。 Dashboard Prometheus Determined AI GitLab/GitHub Engineer Alert: loss plateau at step 5200 Click alert ▶ experiment_id = 1822 Query GPU util at step 5200 time window GPU util drop: 87% ▶ 42% at 11:15 AM GET /api/v1/experiments/1822 git_commit = a1b2c3d4, nodes: [xl003, xl007]
Show: code snapshot, GPU metrics, log snippet Drill into GPU util dip on xl003 Query DCGM metrics for xl003 at 11:15 NVLink CRC errors spike, ECC SBE count = 147 Root cause: NVLink lane 0 degraded on xl003 "Compare with previous run" GET /api/v1/experiments?labels=git:a1b2c3d4 Previous run: exp-1810 (same commit, different dataset) exp-1810 had no NVLink issue ▶ dataset change irrelevant "Show git diff from last good commit" GET /api/v1/projects/.../repository/commits/a1b2c3/diff Changed files: optimizer.py, data_loader.py [Decision] Revert optimizer.py, re-run with same dataset Dashboard Prometheus Determined AI GitLab/GitHub Engineer 图18-21 异常下钻工作流,从告警到代码变更的完整追溯路径 4) Vue 页面实现 全景页核心是调用 Det API 加载实验详情,从 labels 中解析 git_commit 、 git_branch 、 dataset 等字段,再拼接 Grafana GPU 面板深链接,代码属常规 Vue 组合式写法。跨面板上下文通过 Vue Router 的 query 参数传递:路由以 /experiments/:id 为入口,将 from / to 时间范围透传为 props,供各面板初始化时使用。 5) 版本对比与迭代闭环 当同一代码仓库的不同 git commit 产生多个实验时,对比视图能直观显示代码变更对训练效果的影响:左侧列出 commit 历史,右侧展示每次运行的 Loss 与 GPU 利用率趋势。统一可追溯性让训练迭代形成完整闭环,从代码提交到分 析反馈再到下一次提交的闭环流程如图18-22所示。 Det Experiment Training Run Observability Analysis: Compare Yes Merge & Deploy (experiment_id) (loss, metrics, logs) (GPU, NVLink, IO) with previous runs Better? Code Commit (git push) No Identify Bottleneck (code / data / hardware) 图18-22 训练迭代闭环,从代码提交到分析反馈再到下一次提交 6) 数据库设计参考 若需在统一平台的数据库中存储元数据关系以支持跨实验查询和分析,核心表以 experiment_id 关联 git 与超参: CREATE TABLE experiments ( id INTEGER PRIMARY KEY, -- Det experiment_id git_commit TEXT NOT NULL, -- Full 40-char SHA dataset_version TEXT, hyperparams JSONB, started_at TIMESTAMP NOT NULL ); CREATE INDEX idx_exp_git_commit ON experiments(git_commit); 7) 总结 全链路可追溯性的核心原则如表18-56所示。 表18-56 可追溯性核心原则 原则 说明 experiment_id 是一号通 所有系统以 experiment_id 为标签,实现跨系统关联 git_commit 是可复现锚点 任何实验都能回溯到精确的代码版本、超参和数据版本 时间窗口是时空坐标系 训练指标、GPU 指标、日志通过时间戳对齐,实现毫秒级关联 标签注入在提交时完成 在提交实验时一次性注入所有元数据(git、dataset、framework),避免后续补录 异常下钻是核心体验 从 loss 异常 → GPU 指标 → 节点日志 → git diff,一键完成 对比是迭代动力 同一代码仓库的两个 commit 之间的性能差异一目了然,加速迭代
18.6.4 实施路线图
统一可视化平台的实施路线如图18-23所示,分 4 个阶段递进。 Phase 1 基础门户 Phase 2 统一认证 Phase 3 自定义面板 Phase 4 元数据追溯 单一域名访问 SSO 与深链接 聚合视图与热力图 跨平台下钻与 Runbook 图18-23 实施路线图四阶段
- 第一阶段 基础门户 目标:所有平台可通过单一域名访问。 [ ]部署 Nginx 反向代理与 CORS 头,开启 Grafana allow_embedding [ ]创建基础 HTML 壳页面(侧边栏导航 + iframe 嵌入区域) [ ]验证:可通过 https://hai.your-domain.com 访问所有子系统
- 第二阶段 统一认证 目标:统一认证、支持跨页面上下文传递。 [ ]集成 OIDC Provider,配置 Grafana OAuth 使用同一 Provider [ ]实现 URL Query Parameter 深链接规范,告警 Webhook 一键跳转实验详情 [ ]验证:从一个告警出发,3 步内到达 GPU 利用率详 细面板
- 第三阶段 自定义面板 目标:提供聚合视图,减少对 iframe 的依赖。 [ ]开发统一 Dashboard 首页,聚合 GPU 状态、实验数量、存储使用率 [ ] 开发 GPU 资源热力图(ECharts / Chart.js)、实验管理列表、实时告警 Feed [ ]验证:首页可在 5 秒内加载完成,关键指 标一目了然
- 第四阶段 元数据追溯 目标:实现跨平台上下文感知的自动化下钻。 [ ]定义统一元数据 Schema,开发 Mutating Admission Webhook 自动注 入 experiment_id label [ ]实现 Pinia Store 全局上下文跨页面传递,开发告警/指标/日志到根因的完整下钻链路 [ ]基于 根因分析推荐 Runbook 操作,编写运维手册与 Runbook 库 [ ]端到端测试:模拟 5 种典型故障场景,验证下钻流程完整 性和时效性
18.6.5 总结与建议
- 核心启示
- 统一元数据是地基:在构建统一可视化之前,先定义好 experiment_id 通用关联键在全平台的流转机制。没有这个地 基,所有下钻和联动都会变成不可靠的字符串拼接。
- iFrame 是起点,不是终点:用 iFrame 嵌入快速串起各平台的 URL 是必要的过渡,但不要停留于此。iFrame 交互有 限,最终应走向自定义组件 + API 驱动的深度集成。
- Rancher Extension 是小团队的最优解:已有 Rancher 部署的团队(即使只有 3~5 人),利用 Extension 框架可快速 获得 SSO、RBAC、导航、监控等基础能力,把精力集中在 AI 特有的集成逻辑上。
- 深链接比超级 UI 更重要:不要追求用一个 UI 取代所有子系统,更务实的是让各子系统的 URL 携带足够上下文参数 (时间戳、实验 ID、节点名),实现一键跳转看到该看的东西。
- 告警驱动比仪表盘驱动更高效:对管理 1,000+ GPU 的集群,真正创造价值的是告警 → 下钻 → 诊断 → 修复的自动化 链路。仪表盘是事后复盘工具,告警下钻是事前事中响应工具。
- 决策速查表 不同条件下的统一可视化方案推荐如表18-57所示。 表18-57 方案决策速查表 条件 推荐方案 原因 已有 Rancher + 小团队 Rancher Extensions 零许可成本、渐进式、与 K8s RBAC 统一 从零开始 + 无 GPU 深度需求 Kubeflow K8s 原生、社区最大、避免锁定 GPU > 500 张 + 预算充裕 Run:ai / Crusoe 商业支持、GPU 故障诊断能力更强 已全面采用 Ray KubeRay + Ray Dashboard 计算抽象层统一、Python API 驱动 以模型训练占比 > 80% Determined AI 实验管理能力业界最强、原生超参搜索 需要数据→训练→推理全流程 Apolo / Kubeflow 端到端覆盖
- 通往生产的关键检查点 在将统一可视化平台投入生产之前,请确认以下 10 项检查点: [ ]SSO 统一:所有子系统通过同一个 OIDC Provider 认证,UX 中无二次登录 [ ]RBAC 一致:用户在 K8s 中的权限与在 Det/Grafana/数据平台中的权限逻辑一致 [ ]CORS 正确配置:Grafana allow_embedding=true ,Prometheus -- web.cors.origin=.* [ ]深链接可用:从任意告警可 3 步内到达该实验的 GPU 利用率面板(带正确的时间范围) [ ]元数 据注入可靠:每个训练 Pod 启动后 5 秒内,Prometheus 指标带 experiment_id label [ ]Session 安全:API 密钥不在 前端代码中硬编码,所有认证走 Rancher Auth Proxy [ ]错误隔离:某个子系统宕机不影响 Dashboard 主页面渲染(优雅 降级而非整体白屏) [ ]性能可接受:Dashboard 首页加载 < 3 秒,Grafana iframe 首屏渲染 < 5 秒 [ ]Operational Ready:有完整的 On-Call Runbook,包含 Dashboard 宕机时的回退流程(直接访问各子系统的原始 URL) [ ]文档齐 全:统一元数据 Schema 已对外发布、深链接 URL 格式已文档化、Extension 部署和回滚步骤已写入运维手册
18.7 运维实战与业界实践
18.7.1 大规模 GPU 集群的运维
- 故障是新常态 在万卡集群中,故障不再是偶然事件,而是常态。运维哲学必须从“预防故障”转变为“拥抱故障,快速恢复”。不同规 模集群的预期 MTBF 与故障次数如表18-58所示。 表18-58 集群规模与故障频率 集群规模 预期 MTBF 每天预期故障次数 每月预期故障次数 1,024 GPU 约2 天 0.5 15 4,096 GPU 约12 小时 2 60 16,384 GPU 约2-3 小时 8-12 240-360 100,000 GPU 约20 分钟 72 2,160
- 故障分类与应对策略 常见故障类别的检测方式与自动恢复策略如表18-59所示。 表18-59 故障分类与应对策略 故障类别 典型表现 检测方式 自动恢复策略 恢复时间 GPU ECC DBE DCGM / 使用 Checkpoint 恢复,故障 约30分钟(含 XID 48,63,64 NVSentinel GPU 隔离 重算) XID 74 , GPU NVLink 降级 DCGM_FI_DEV_NVLINK_CRC_ERRO DCGM 计数器 检查点恢复 约30分钟 RS GPU 脱落 (Fallen DCGM / 节点标记不可调度,任务迁移 约5-15分钟 off Bus) XID 79 NVSentinel 到健康节点 GPU 过热降频 DCGM_FI_DEV_THERMAL_VIOLATI DCGM 调整风扇/液冷,临时降低功 约1-5分钟 ONS 耗或迁移任务 NCCL 超时 NCCL WATCHDOG 错误 NCCL 日志 / 检查点恢复,可能需追踪网络 约30-60分钟 nvidia-smi 路径 InfiniBand 链路中 Link down, BER 过高 UFM / UFM 自动重新路由,NCCL 重 约5-15分钟 断 Prometheus 新建立连接 CUDA OOM CUDA out of memory 应用日志 调整 Batch Size,重启 Pod 约2-5分钟 cuDNN/CUBLAS cuBLAS/cuDNN 异常 应用日志 重启 Pod,如反复出现则检查 约2-5分钟 错误 驱动
18.7.2 集群部署 Checklist
- 硬件验收 部署大规模 GPU 集群的第一步是逐节点硬件验收,这部分工作虽然枯燥,但决定了后续稳定性。节点级验收要点如下。 •GPU 识别: nvidia-smi 正确显示全部 GPU,型号、显存与驱动版本齐全 •PCIe 与 NVLink:所有 GPU 运行在 x16 Gen4/Gen5, nvidia-smi nvlink -s 各链路状态为 Active •HBM 与 ECC:DCGM Level 3 诊断通过(含 Memory Test Pattern),无累积 DBE •性能基线:标准基准训练吞吐相对基线波动在 ±5% 以内 •网络端口: ibstat / ethtool 确认所有端口 Up 且速率正确, ib_write_bw 实测带宽达到理论值 90% 以上 •存储与内存:fio 顺序/随机读写达标,memtester 2-3 轮通过 •温度与供电:空载温度正常(GPU 低于 40°C、CPU 低于 50°C),PSU 状态正常 集群级网络验收要点如下。 • all_reduce_perf 全节点测试(8B 数据):机内带宽大于理论线速 85%,跨机架大于 80%,p99 延迟抖动低于 2 倍 p50 •NCCL 拓扑检测: NCCL_TOPO_DUMP_FILE 输出与预期拓扑一致 •InfiniBand:全链路 BER 低于 1e-12;RoCE 注入拥塞压力,确认无 PFC 风暴 •SHARP/NCCL_COLLNET_ENABLE 测试(InfiniBand)
- 软件栈部署 Kubernetes 集群初始化的核心组件与部署方式如表18-60所示。 表18-60 Kubernetes 软件栈部署清单 组件 用途 部署方式 Kubernetes (1.30+) 容器编排核心 Kubespray (Ansible) 或 RKE2 Rancher 多集群管理 / UI Helm Chart NVIDIA GPU Operator (v25+) GPU 软件栈管理 Helm Chart NVIDIA Network Operator InfiniBand/RoCE 网络管理 Helm Chart Multus CNI 多网络 Pod Helm Chart DCGM Exporter GPU 监控指标 GPU Operator 自带 Prometheus Stack 指标聚合 kube-prometheus-stack Helm Chart Grafana 可视化 kube-prometheus-stack 自带 Volcano 批调度 Helm Chart Kueue 多租户队列 Helm Chart Karpenter 弹性扩缩 Helm Chart Argo Workflows 工作流引擎 Helm Chart 推荐的最小化部署命令流要点如下。 •Rancher 多集群管理与 GPU Operator(v25+,含 DCGM Exporter)用 helm install 分别部署至 cattle-system 与 gpu-operator 命名空间,GPU Operator 开启 driver.enabled=true 与 mig.strategy=mixed •监控与调度:kube-prometheus-stack 一条命令部署 Prometheus 与 Grafana;Volcano 经 Helm 安装,Kueue 用 kubectl apply --server-side 应用官方 manifest •其余组件(Multus、Karpenter、Argo Workflows 等)统一经 Helm Chart 安装,参数按各组件官方文档调整
- 验证测试 部署完成后依次验证 GPU 可用性、NCCL 通信与存储性能。
1. GPU availability
kubectl get nodes -o json | jq '.items[].status.capacity["nvidia.com/gpu"]'
18.7.3 成本优化策略
# 2. NCCL communication test (16 GPUs)
mpirun -np 16 --hostfile hosts.txt all_reduce_perf -b 8M -e 8G -f 2 -g 1
# 3. Storage performance
fio --name=write-test --rw=write --bs=1M --size=100G --numjobs=8 --directory=/mnt/lustre- GPU 利用率 万卡集群的 GPU 利用率是最重要的成本指标。各阶段提升 GPU 利用率的关键手段如表18-61所示。 表18-61 GPU 利用率优化手段 优化手段 典型利用率提升 实现难度 适用场景 GPU 虚拟化 (MIG/vGPU) 15% → 30% 低 多任务混合、小模型实验 弹性训练 (Elastic) +5-10% 中 可接受动态 GPU 数的训练 Spot/可抢占实例 成本降低 60-80% 中 容错训练 (配合检查点) Gang Scheduling +5-10% 低 (部署 Volcano) 必须 多租户公平队列 +10-20% 中 多团队共享集群 GPU 内存 Swap (Run:ai) +5-15% 商业方案 推理+训练混部 共享调度 (Binpacking) +5-10% 低 碎片整理 全部手段结合 13% → 80%+ 综合 理想状态
- 混合精度与算力效率 各精度的显存占用、计算速度与典型应用对比如表18-62所示。 表18-62 混合精度对比 精度 显存占用 (相对 FP32) 计算速度 (相对 FP32) 典型应用 FP32 1x 1x 科学计算 FP16 (混合精度) 约0.5x (权重 1x) 约2x (Tensor Core) 前一代训练标准 BF16 约0.5x 约2x 当前训练主流 FP8 约0.25x 约4x (H100+) 新一代训练标准 FP4 约0.125x 约8x (B200+) 推理、部分训练 成本影响示例:一个需要在 512 张 H100 上训练 30 天的模型: •使用 BF16 → 512 × 30 天 = 15,360 GPU-天 •使用 FP8 → 理论上可减少 30-40% 时间 → 节省 $500K+
- 训练加速技巧全景 训练加速技巧按算法、通信、IO 与系统四个维度划分,全景如图18-24所示。 Mixed Precision (FP8/BF1
FlashAttention Algorithmic Activation Checkpointing (Activation Ckpt) Gradient Accumulation SHARP In-Network Aggreg ation GPUDirect RDMA Communication Gradient Compression (1- bit Adam) Compute-Communication Overlap Training Acceleration WebDataset Streaming Lo ad Async Checkpoint IO GPUDirect Storage Data Prefetch + Cache Topology-Aware Schedulin g NCCL Parameter Tuning System NUMA Binding CUDA Graph Acceleration 图18-24 训练加速全景图
18.7.4 业界标杆深度剖析
- Meta Llama 3 405B Meta 的 Llama 3 405B 在 16,384 张 H100 上训练 54 天、消耗 15.6T tokens,是万卡规模集群运维的代表性样本。硬件 与软件深度自研是其主旋律,技术架构要点如下。 •硬件:Grand Teton 自研 OCP 平台加 H100,开源硬件设计保证供应链多元化 •网络:RoCEv2 专属 AI Fabric,自研 DSF/NSF 网络架构走以太网路线 •并行:4D 并行(TP + PP + DP + CP),张量并行限定在 NVLink 域内 •框架与存储:PyTorch FSDP 加自研 MAST 平台,存储依托 Tectonic 分布式文件系统 •监控:GCM 开源自研平台,DCGM 与 Slurm 深度集成 关键工程成就:
- 网络通信效率达 90% 以上(优化后的 AllGather 带宽)
- Checkpoint 保存时间从 40 分钟优化到 6 分钟
- 训练组初始化从数小时缩短到数分钟 核心教训:自研硬件平台需要巨大工程投入,但长期回报在于供应链自主;自动化故障恢复是万卡训练的前提,人工无法 跟上故障频率。
- xAI Colossus xAI Colossus 采用 NVIDIA Spectrum-X 以太网并达到 95% 有效带宽,其独有工程事实集中在供电与冷却,关键数据如 下。 •场地:孟菲斯 785,000 sq ft 的前 Electrolux 工厂 •供电:前期 422 MW 天然气发电机(35+ 台)加电网连接,配 168 台 Tesla Megapack 电池储能 •冷却:混合风冷加液冷,配套约 80M 美元废水回收设施 •规划:长期 1.2 GW 总功率与 1,000,000 GPU 供电是超大规模集群真正的瓶颈,xAI 自建天然气发电绕开电网限制,以极快的速度建成十万卡集群。这一速度印证了 Time-to-Cluster 即 Time-to-Market,也让电力与环境争议成为超大规模集群建设的新焦点。
- NVIDIA Eos Eos 是 4,608 张 H100(576 个 DGX H100)组成的 TOP500 前十超算,采用标准 DGX SuperPOD 参考架构,技术要点如 下。 •硬件:DGX H100,标准 DGX SuperPOD 参考架构 •网络:Quantum-2 NDR InfiniBand •存储:DDN Lustre,峰值约 1 TB/s •调度与框架:Slurm 加 NVIDIA Base Command,训练框架为自研 Megatron-LM •监控:DCGM 加 NVSentinel 加 Fleet Intelligence 其核心定位不仅是 NVIDIA 内部的 AI 训练平台,更是向全球客户展示全栈 NVIDIA 方案能力的参考实现。与 Meta 的以太 网路线相对,Eos 代表 InfiniBand 一极,网络选型不存在绝对优劣,取决于所处生态。
- Anthropic Anthropic 是全球唯一同时在三大算力体系上大规模训练的 AI 公司,基础设施策略以供应链安全和极限规模为核心驱动 力,四路算力并进。 •AWS Trainium2:数十万芯片,100B 美元长期协议,Project Rainier 主力训练算力 •Google Cloud TPU:最高 1M 芯片,覆盖大规模训练与推理 •Azure/NVIDIA GPU:220K+ GPU,30B 美元合作,训练加严格等价性验证 •自有数据中心:500 亿美元投资,长期物理自主可控 总算力管线为 AWS 5 GW、Google 5 GW、Azure 1 GW 加自建规划。多平台训练的核心挑战是跨平台数学等价性工程: XLA 编译器缺陷、TPU BF16 精度、跨平台 LayerNorm/Softmax 差异都需要编译器级修复,同一模型在不同平台吞吐差 异可达 20-40%。 安全体系围绕 ASL(AI Safety Level)框架构建,保护措施如下。 •双人双因素授权:模型权重访问需两名授权人员同时认证 •硬件安全模块:模型权重加密存储,解密依赖 HSM •气隙网络:最高安全级别的训练环境物理隔离于公网 Claude 4 采用扩展思考加多模态的混合架构,Opus 4 在 SWE-bench Verified 达 72.5%。核心经验是负载驱动硬件匹配 (推理走 TPU、训练走 Trainium2 与 GPU)、硬件无关的检查点格式保证三平台无缝迁移、多路径韧性互为备份,以及 远超单平台的编译器工程投入。
- 中国巨头案例 中国头部 AI 机构在出口管制、国产芯片替代与极致成本效率的约束下,运营着全球最大规模的 GPU 集群之一。以下梳理 五家代表机构的基础设施实践。 DeepSeek 极致成本效率 DeepSeek-V3 用 2,048 张 H800 训练 671B MoE 模型,每个 token 激活 37B 参数,训练同等能力稠密模型需约 30.8M H100 GPU 小时,算力约为 DeepSeek 的 11 倍。H800 NVLink 带宽仅 400 GB/s(为 H100 的一半),硬件受限催生了以 软件换算力的整套方法。
- HAI-LLM 框架:自研轻量级训练框架,FP8 运算下每张 H800 实现 1,524 TFLOPS
- DualPipe 算法:双向流水线调度,将通信延迟隐藏于计算中,是无 TP 架构的关键支撑
- 放弃张量并行:改用纯专家并行(EP)加 ZeRO-1,将跨节点流量控制在可管理范围
- 通信优化:自研 all-to-all 内核,辅以多 Token 预测(MTP)辅助训练目标 前代 Fire-Flyer 2 由 10,000 张 PCIe A100 组成,成本仅为 DGX-A100 的约 60%,自研两层 Fat-Tree 网络(每 GPU 200 Gbps)、HFReduce 梯度聚合协议与 3FS 并行文件系统(峰值读吞吐 3.33 TiB/s、裸容量 180 PB),调度器 Haf 为基于优 先级的拓扑感知抢占式调度。 核心经验是硬件约束催生真正的创新:受限带宽催生 DualPipe 与无 TP 架构,算法创新与系统创新的结合带来乘数级收 益,自研基础设施消除了厂商锁定与许可费用。 参考文献:arXiv:2412.19437 (DeepSeek-V3 Technical Report), arXiv:2408.14158 (Fire-Flyer 2) 字节跳动 ByteRobust 字节跳动在 SOSP 2025 发布 ByteRobust,支撑 9,600 张 GPU、单训练任务连续运行 3 个月,有效训练时间占比 (ETTR)达 97%。3 个月内共发生 38,236 次显式故障与 5,948 次隐式故障(经性能异常检测发现)。关键创新是主动检 测而非被动恢复。
- 秒级主动实时检测:以秒级间隔主动运行 GPU 诊断,在静默硬件劣化显性化前将其捕获
- 分层停止时间检测:单 rank 迭代时间波动超 2 个标准差时触发掉队者调查,捕获全部隐式故障
- 数据驱动的预防性驱逐:基于历史故障模式预测失效节点,在故障发生前主动驱逐,实现零停机迁移
- 热备节点池:预配置驱动与 NCCL 状态,被驱逐后约 3 秒完成替换(冷启动约 5 分钟)
- 原地热更新:不停止训练地滚动更新驱动、CUDA 库与 NCCL,要求框架支持检查点兼容 自研拥塞控制融合 Swift(基于延迟)与 DCQCN(基于 ECN)的思想,针对训练双峰流量特征调优。核心教训:主动检 测优于被动恢复,可将整体 MTTR 降低约 60%;热备与原地热更新消除了集群稳定性与软件更新之间的张力;此规模下 标准 DCQCN 无法满足训练流量模式,必须自研拥塞控制。 参考文献:arXiv:2509.16293 (ByteRobust, SOSP 2025) 阿里 HPN 与 Qwen 阿里云以 HPN 7.0 网络支撑 Qwen 模型家族,网络规格如下。 •拓扑:多轨双平面(Multi-rail + Dual-plane),单 Pod 约 15,000 张 H100/H800 •带宽:每 GPU 3.2 Tbps(8 条 400G 轨),无超售(1:1 非阻塞) •协议:RoCEv2 加自研拥塞控制,训练流量与存储管理流量在双平面物理隔离 •硬件:多厂商白盒交换机(Broadcom Tomahawk 5)与自研路由协议栈,摒弃单一厂商锁定 设计理念是以太网成本实现媲美 InfiniBand 的性能,但白盒路线需要可观的自研网络团队。Qwen2.5 最大稠密模型 72B、MoE 变体 70B-A3B,采用 3D 并行加 ZeRO-1。 后训练侧以 RollArc 解耦式 RL 训练(3,000+ GPU 集群)分离推理引擎与训练引擎,两套硬件可独立选型,吞吐相对同址 部署提升约 40%。灵骏平台将 HPN 网络、PAI 调度与 PAI-FS 整合到统一管理面。 参考文献:arXiv:2512.22560 (RollArc) 百度百舸平台 百度百舸是国内成熟的大规模 GPU 训练自动化运维平台,聚焦全链路监控与快速恢复:自动检测覆盖 90% 以上的训练异 常场景,自愈约 3 分钟,恢复成功率 95% 以上,监控覆盖硬件到应用全链路。 核心是分级重启层级,仅在更快方案失败时逐级升级。
- L1 原地重启:同节点同 GPU 重启失败进程,约 30 秒,成功率约 70%
- L2 GPU 重新调度:将进程调度到同节点健康 GPU,约 30 秒,成功率约 20%
- L3 节点重新调度:整节点驱逐到备用节点,约 30 秒加检查点加载,成功率约 8%
- L4 全任务重启:从检查点重启整个训练任务,约 30 分钟,成功率约 2% 约 90% 的故障在 L1/L2 级即恢复,避免了完整检查点重载的代价。故障时刻触发式检查点在检测到即将发生的故障时立 即落盘,确保恢复失败时状态仍保留在故障发生时刻。ERNIE 系列模型全部在百舸上训练,成为自愈能力的生产验证场。 华为昇腾方案 华为昇腾生态是构建 NVIDIA CUDA 软件栈完整替代品的最认真尝试,但昇腾 910B2 与 H100 差距明显,关键数据如下。 •FP16 算力:约 320 TFLOPS 对 989 TFLOPS,约为 H100 的 32% •HBM 带宽:约 1.6 TB/s 对 3.35 TB/s,约为 H100 的 48% •HCCS 互联:392 GB/s 对 NVLink 4.0 的 900 GB/s,约为 44% •制程:7nm(SMIC N+2)对 4nm(TSMC),落后一代 软件栈以 CANN 与 MindSpore 对标 CUDA 生态,PyTorch 模型需要不小的适配才能高效运行。最大挑战并非硬件原始性 能而是软件生态差距:CUDA 在库成熟度与开发者熟悉度上领先约 15 年;HCCS 带宽不足迫使架构做出类似 DeepSeek 的无 TP 妥协;SMIC 7nm 产能制约产量与大规模部署。 昇腾定位是“够用”的替代方案而非性能领导者,推理负载是近期强项(AcceLLM 评测中部分负载延迟低于 H100),训 练竞争力取决于软件生态差距的弥合。 参考文献:AcceLLM paper (2024), Huawei Ascend documentation 中外巨头对比 中外五家主要玩家的基础设施方案对比如表18-63所示。 表18-63 中外巨头基础设施对比 Company GPU Type Network Parallelism Key Innovation Scale DeepSeek H800 Custom Ethernet/RoCE No TP + EP DualPipe, FP8 2,048 ByteDance H100/H800 IB+RoCE 3D Parallel ByteRobust self-healing 9,600+ Alibaba H100/H800 HPN 7.0 multi-rail 3D Parallel Disaggregated RL 15,000/Pod Baidu H100/H800/Ascend IB 3D Parallel 3-min auto-heal 约10,000+ Huawei Ascend 910B2 HCCS+IB MindSpore Domestic full-stack Atlas 900
- 东西方对比 中美 GPU 基础设施的对比揭示了更深层的结构性规律,如表18-64所示。 表18-64 中美基础设施思路对比 Dimension US Approach Chinese Approach Primary constraint Capital availability Hardware availability (export controls) Optimization Time-to-train (speed) Cost-per-token (efficiency) target Network Ethernet convergence (Spectrum-X, Dual-stack: IB where available + aggressive RoCE philosophy UEC) optimization Hardware strategy Single-vendor (NVIDIA) Multi-source (NVIDIA + Huawei Ascend) Automation Automated (self-healing) Hyper-automated (predictive eviction, warm standby) Framework PyTorch ecosystem PyTorch + self-developed (HAI-LLM, PAI, CANN/MindSpore) Representative Meta Llama 3: 16K GPU, RoCEv2 ByteRobust: 9.6K GPU, 97% ETTR case 在硬件约束下锻造的中国基础设施哲学,强调以软件驱动的效率取代硬件富足——随着 GPU 供应约束影响所有市场,这 一模式可能在全球范围内变得具有相关性。
18.7.5 从千卡到十万卡的演进
- 分阶段建设策略 集群规模的分阶段演进路径如图18-25所示。 Extreme Phase Phase 4: • Spectrum-X/UEC Hundred-Thousand-GPU • Fully Automated Self-He
(50,000+ GPU) aling Phase 3: • Cross-DC Interconnect Ten-Thousand-GPU (4,096-16,384 GPU) Phase 2: Maturity Phase Thousand-GPU • 3-Tier CLOS/DragonFly+ (256-2,048 GPU) • SUNK Co-location Scaling Phase • Tiered Storage Phase 1: • 2-Tier CLOS Hundred-GPU • K8s + Kueue (32-128 GPU) • Lustre/WEKA Validation Phase • Single Pod Spine-Leaf • K8s + Volcano • Shared Storage NFS 图18-25 集群规模演进路径 各阶段的投入与时间线如表18-65所示。 表18-65 集群演进阶段投入 阶段 GPU 数 关键决策 典型投入 百卡 32-128 选型 GPU、网络方案、调度器 $2-5M 千卡 256-2,048 3D 并行策略、存储分层、监控体系 $10-30M 万卡 4,096-16,384 网络架构(IB vs RoCE)、自动化运维、液冷 $100-500M 十万卡 50,000+ 独立 DC、自研网络、全栈自研或商务绑定 $1B+ 2) 技术债务积累与偿还 随着规模增长,常见的技术债务如表18-66所示。 表18-66 技术债务积累与偿还 千卡阶段的决策 万卡时的问题 解决成本 标准 RoCEv2 (无 Spectrum-X) PFC 风暴频发,有效带宽 <60% 需要升级交换机 单一 Prometheus 实例 百万级指标线,查询超时 联邦/Thanos 迁移 手动脚本管理节点 无法跟上故障频率 引入 K8s 生态 共享 NFS 存储 IO 成为瓶颈 迁移到并行文件系统 无 GPU 虚拟化 碎片率 15%+ 引入 HAMi 或 MIG •经验法则:在千卡验证有效的方案,在万卡可能需要重新设计。为万卡做架构预留,但只为千卡做实际部署。
18.7.6 未来趋势与总结
- 未来趋势 芯片层面 •Chiplet + 先进封装:GPU 不再追求单一大芯片,而是通过 Chiplet 组合多个计算芯粒(AMD MI300X 已实现,NVIDIA B200 跟进)。优势:提升良率、降低成本、突破光罩尺寸限制。 •HBM4 / HBM4e:下一代 HBM 标准,带宽规格为 2,400-3,200 GB/s per stack。关键变化:逻辑层独立设计(Base Die 由内存厂商或 GPU 厂商提供)。 •3D 堆叠显存(3D DRAM):从 2.5D Interposer 到真正的 3D 堆叠,可能将显存密度提升 2-4x。 •存算一体(Processing-In-Memory):将部分计算逻辑嵌入 HBM 堆叠内部,减少数据搬运开销,适合 Attention / 矩阵 乘法等核心算子。 网络层面 •Ultra Ethernet Consortium(UEC):2025 年发布 1.0 规范,目标是用开放标准替代 InfiniBand 在 AI 和 HPC 中的位 置。核心成员:AMD、Arista、Broadcom、Cisco、HPE、Intel、Meta、Microsoft。如果 UEC 成功,将打破 NVIDIA 对高性能网络的垄断。 •共封装光学(CPO):NVIDIA Spectrum-X Photonics 将光学引擎与交换 ASIC 共封装,每 1.6Tb/s 端口功耗降低 5x, 计划在 Rubin 平台商用。 •量子互联(?):长远来看,光子互联可能替代电互联,实现跨机柜的 NVLink 级带宽。 这预示着未来 AI Infra 的格局:训练集群与推理集群的独立建设与协同。
- 总结 •软硬协同设计,而非简单堆砌:网络架构、训练框架、调度策略必须作为一个整体系统来设计。 •故障是常态,自愈是必须:万卡集群硬件故障以小时计——没有自动化,无法运维。 •网络是第一瓶颈:在极致优化之前,训练时间 30-50% 花在通信上。 •拓扑感知调度是效率之源:NVLink 域内的 8 卡 900 GB/s 和跨机柜的 25 GB/s,把不在一起的 GPU 放在一起就是浪 费。 •分层存储,按需配置:热/温/冷数据分层是平衡性能与成本的唯一解。 •选择生态,而非选择技术:IB vs RoCE 的胜负不在于技术优劣,而在于你属于 NVIDIA 阵营还是开放阵营。 •可观测性不是锦上添花,是生存必需:在万卡集群中,看不到问题不等于没有问题。 •为万卡设计架构,为千卡部署系统:预留扩展性,但不要过早过度设计。 •统一元数据是平台联动的基石:experiment_id 贯穿调度、训练、数据、监控,才能实现真正的“全景视图”。 •速度是一种竞争力:xAI 快速建成 10 万卡集群提醒我们,在 AI 竞争中,Time-to-Cluster = Time-to-Market。 附录A 术语表