Incipience

《AI 基建内功:重构大模型底座》

Einic Yeo · 9月15日 · 2024年

大模型训练一般都是用单机 8 卡 GPU 主机组成集群,机型包括8*{A100,A800,H100,H800}。 下面一台典型 8*A100 GPU 的主机内硬件拓扑:

一、核心术语与基础概念

做 GPU 集群运维,首先要把这几个核心概念搞清楚,否则很多架构讨论根本无法参与。

NVIDIAHUAWEI功能
GPUNPU/GPU通用并行处理器
NVLINKHCCSGPU 卡间高速互连技术
InfiniBandHCCNRDMA 产品/工具
nvidia-sminpu-smiGPU 命令行工具
CUDACANNGPU 编程库
DCGMDCMIGPU 底层编程库/接口,例如采集监控信息

说明:华为很多地方混用术语 NPU 和 GPU,为简单起见,本文统称为 GPU。

  • NPU: Neural-network Processing Unit
  • HCCS: Huawei Cache Coherence System
  • HCCN: Huawei Cache Coherence Network
  • CANN: Huawei compute Architecture for Neural Networks
  • DCMI: DaVinci Card Management Interface

参考下 NVIDIA 一张图,看下 DCGM/DCMI 在软件栈中的位置:

1.1 PCIe:万物互联的基础总线

CPU、内存、存储(NVMe)、GPU、网卡等所有支持 PCIe 的设备,都可以通过 PCIe 总线或专用 PCIe 交换芯片实现互联。PCIe 目前已经发展到第五代:

版本单 Lane 带宽(单向)x16 带宽(双向)
Gen31 GB/s32 GB/s
Gen42 GB/s64 GB/s
Gen54 GB/s128 GB/s

视角分析:PCIe Gen4 x16 双向 64 GB/s,折合单向 32 GB/s,这是 A100 时代 GPU 与网卡之间的带宽上限。Gen5 把这个上限翻倍到 128 GB/s,是 H100/H800 升级的重要基础。

1.2 NVLink:GPU 卡间高速互联

NVLink 是 NVIDIA 专有的 GPU 间高速互联技术,替代 PCIe 用于同主机内 GPU 之间的通信。核心特点:

  • 支持多 Lane,带宽随 Lane 数线性增长
  • 同一 Node 内 GPU 通过 NVLink 以 full-mesh 方式互联(类似 spine-leaf 拓扑)
  • 比 PCIe 带宽高一个量级

历代演进(双向带宽):

代际单 Lane 带宽典型 GPU配置总带宽
NVLink 140 GB/sP100
NVLink 250 GB/sV100
NVLink 350 GB/sA10012 lanes600 GB/s
NVLink 3(阉割)50 GB/sA8008 lanes400 GB/s
NVLink 450 GB/sH10018 lanes900 GB/s
NVLink 4(阉割)50 GB/sH8008 lanes400 GB/s

注意:上表带宽均为双向总带宽,单向减半。A800 和 H800 是针对出口管制的阉割版本。

监控手段:通过 DCGM(Data Center GPU Manager)可以采集实时 NVLink 带宽,配合 dcgm-exporter 接入 Prometheus/Grafana 体系。

1.3 NVSwitch vs NVLink Switch:两个经常混淆的概念

这是生产中最容易踩坑的术语混淆:

  • NVSwitch:封装在 GPU 模组(HGX 板)上的交换芯片,不是独立交换机。8A100 服务器上有 6 颗,负责连接同一台主机内的 8 张 GPU,构建 intra-node full-mesh。
  • NVLink Switch:2022 年 NVIDIA 把 NVSwitch 芯片做成了真正的外部交换机,用于跨主机连接多台服务器的 GPU,实现 inter-node GPU 互联。

视角分析:购买设备时要分清这两个概念。NVLink Switch 是组建超大规模 GPU Pod 的关键设备(如 NVIDIA DGX SuperPOD),价格极贵,但能实现跨节点的 NVLink 带宽,远超普通 InfiniBand 组网。

1.4 HBM(高带宽内存):显存技术的革命

传统 GPU 显存通过 PCIe 连接,Gen4 只有 64 GB/s,成为瓶颈。HBM 将多层 DDR 芯片与 GPU 芯片封装在一起,彻底绕开 PCIe,带宽提升一个数量级。

HBM 演进

版本带宽年份典型产品
HBM128 GB/s/package
HBM2256 GB/s/package2016V100
HBM2e~450 GB/s2018A100(~2 TB/s)、华为 910B
HBM3600 GB/s/site2020H100(3.35 TB/s)
HBM3e~1 TB/s2023H200(4.8 TB/s)

补充:AMD MI300X 采用 192 GB HBM3,带宽达 5.2 TB/s,是目前旗舰显存带宽最高的产品之一。

市场格局:HBM 供应目前主要由 SK 海力士和三星垄断,这也是 AI 芯片供应链的核心瓶颈之一。

1.5 带宽单位对齐:避免对比失误

这是运维工作中非常容易出错的地方,务必统一单位再做比较:

场景习惯单位方向
网络带宽bits/s(Gbps)单向(TX 或 RX)
HBM/NVLink/PCIe 带宽bytes/s(GB/s)或 T/s双向总带宽

换算:1 Gbps = 0.125 GB/s,200 Gbps ≈ 25 GB/s。比较时必须统一到同一维度,否则结论会完全错误。


二、典型 8A100/A800 服务器:拓扑、组网与瓶颈

2.1 主机内拓扑:”2-2-4-6-8-8″ 架构

这是目前大规模部署最广泛的 GPU 服务器形态,完整组件清单如下:

2  CPU(双路,对应 2 个 NUMA 节点)
2  存储网卡(直连 CPU,用于访问分布式存储/管理面)
4  PCIe Gen4 Switch 芯片(CPU 与 GPU/NIC 之间的交换层)
6  NVSwitch 芯片(GPU 间 full-mesh 互联)
8  GPU(A100 或 A800)
8  GPU 专属网卡(每张 GPU 独占一张,用于计算网络)

关键设计理念:GPU 专属网卡通过 P版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作!CIe Switch 与 GPU 直连,绕开 CPU,降低数据路径延迟。存储网卡直连 CPU,负责读训练数据、写 checkpoint 以及 SSH 管理等非性能敏感路径。

2.2 NVSwitch Fabric:intra-node full-mesh

8 张 GPU 通过 6 颗 NVSwitch 芯片构建 full-mesh,这个内部网络称为 NVSwitch Fabric。

带宽计算(A100 为例):

A100: 12 lanes  50 GB/s/lane = 600 GB/s(双向),单向 300 GB/s
A800: 8 lanes  50 GB/s/lane = 400 GB/s(双向),单向 200 GB/s

2.3 用 nvidia-smi topo 诊断拓扑关系

  • GPU 之间(左上角区域):都是NV8,表示8 条 NVLink连接;
  • NIC 之间:
    • 在同一片 CPU 上:NODE,表示不需要跨 NUMA,但需要跨 PCIe 交换芯片
    • 不在同一片 CPU 上:SYS,表示需要跨 NUMA
  • GPU 和 NIC 之间:
    • 在同一片 CPU 上,且在同一个 PCIe Switch 芯片下面:PXB,表示只需要跨 PCIe 交换芯片
    • 在同一片 CPU 上,且不在同一个 PCIe Switch 芯片下面:NODE,表示需要跨 PCIe 交换芯片和 PCIe Host Bridge
    • 不在同一片 CPU 上:SYS,表示需要跨 NUMA、PCIe 交换芯片,距离最远

这是日常运维必用命令,输出矩阵含义如下:

标识含义
NV88 条 NVLink 连接(GPU 之间)
PXB只需跨 PCIe 交换芯片(同 PCIe Switch 下)
NODE需跨 PCIe 交换芯片 + PCIe Host Bridge(同 CPU,不同 PCIe Switch)
SYS需跨 NUMA 节点,距离最远

实战解读:当 GPU 与其对应 NIC 显示 SYS 而不是 PXB 时,说明它们在不同 CPU 下,数据传输需要经过 QPI/UPI 跨 NUMA,这会显著增加延迟,在绑核/NUMA 感知部署时需要特别注意。

2.4 GPU 训练集群组网:两张网

标准 GPU 集群应当规划两张独立的网络:

计算网络(GPU 网)

GPU ←→ PCIe Switch ←→ NIC ←→ ToR Leaf Switch ←→ Spine Switch
  • 目的:GPU 之间高速交换梯度数据(AllReduce 等集合通信)
  • 协议:RDMA(RoCEv2 或 InfiniBand)
  • 每张 GPU 独占一个网口,8 卡机共 8 个网口接入 ToR

存储网络(管理/数据网)

CPU ←→ 存储网卡 ←→ 存储网络交换机 ←→ 分布式存储集群
  • 目的:读取训练数据集、写 checkpoint、SSH 管理
  • 带宽要求相对较低,千兆或万兆即可满足大多数场景

2.5 RoCE vs InfiniBand:核心选型对比

维度RoCEv2InfiniBand
性能基准同等带宽下高 20%+
价格相对便宜约贵一倍
生态以太网生态,运维门槛低专有生态,运维复杂
典型配置CX6/CX7,8100G 或 8200GNDR 400G
适用场景公有云、性价比集群超大规模训练、对延迟极度敏感

运维建议:公有云 GPU 集群基本清一色 RoCEv2(如 CX6 8100 Gbps)。自建 IDC 追求极致训练性能首选 IB,但要做好 fabric 管理、子网管理器(SM)等运维工作的准备。

2.6 带宽瓶颈分析:三条关键链路

链路 1:同主机 GPU ↔ GPU(NVLink)
  A100:单向 300 GB/s
  A800:单向 200 GB/s

链路 2:GPU ↔ NIC(PCIe Gen4 Switch)
  单向:32 GB/s(64 GB/s 双向  2)

链路 3:跨主机 GPU ↔ GPU(网卡)
  100 Gbps = 12.5 GB/s(主流配置)
  200 Gbps = 25 GB/s(接近 PCIe Gen4 单向)
  400 Gbps = 50 GB/s(超过 PCIe Gen4 单向,需 Gen5 才能发挥)

关键结论:跨机通信带宽比机内 NVLink 慢 10~24 倍,这是大模型训练必须尽量减少跨机通信的根本原因。模型并行切分策略(TP/PP/DP 的选择)本质上是在优化这个带宽比值。


三、8H100/H800 服务器:新一代拓扑详解

3.1 H100 芯片内部结构

H100 使用台积电 4nm 工艺,芯片 layout 关键信息:

  • 最下排:18 根 NVLink 4 lanes,双向总带宽 1850 GB/s = 900 GB/s
  • 中间:L2 Cache(蓝色区域)
  • 两侧:HBM3 显存(直接封装在芯片旁侧)

GPU 形态分两种:

  • PCIe Gen5:标准服务器形态,性能略低
  • SXM5:HGX 板形态,NVLink 直连 NVSwitch,性能更高,是训练集群首选

3.2 H100 主机内拓扑变化

与 A100 相比,H100 主机的主要升级点:

项目A100H100
NVSwitch 数量6 颗4 颗
CPU 互联PCIe Gen4 x16(64 GB/s 双向)PCIe Gen5 x16(128 GB/s 双向
每卡 NVLink 带宽600 GB/s(双向)900 GB/s(双向)
显存HBM2e,~2 TB/sHBM3,3.35 TB/s
标配网卡CX6,100 GbpsCX7,400 Gbps

NVSwitch版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作! 减少(6→4)但 NVLink lane 数增加(12→18),总带宽仍大幅提升。PCIe Gen5 解决了 A100 时代 400 Gbps 网卡用不满的问题。

3.3 H100 组网

标配 CX7(ConnectX-7),400 Gbps,这是因为:

  • PCIe Gen5 单向 64 GB/s,能支撑 400 Gbps(≈50 GB/s)充分发挥
  • A100 时代用 400 G 网卡受限于 PCIe Gen4(单向 32 GB/s),网卡带宽无法充分利用
  • 计算网络推荐 NDR IB 或 400G RoCE

四、L40S 服务器:性价比款的架构取舍

4.1 L40S 定位与核心差异

L40S 是 2023 年面向性价比市场的 GPU,对标 A100。最大特点:

  • 交货周期短(无 HBM 依赖,无 NVLink,绕开了供应链瓶颈)
  • 使用 GDDR6 显存代替 HBM,成本低,不依赖 SK 海力士/三星的 HBM 先进封装产能
  • 砍掉 FP64 和 NVLink,降低成本,也绕开了出口管制
  • 不适合训练基座大模型(原因见下文带宽分析)

4.2 官方推荐架构:单机 4 卡(”2-2-4″)

官方推荐 4 卡而非 8 卡,原因如下:

推荐 4 卡拓扑(2-2-4)

2  CPU
2  双口 CX7(每张 2200 Gbps)
4  L40S GPU(直连 CPU PCIe Gen4 x16)
1  存储网卡

关键特征:去掉了 CPU 和 GPU 之间的 PCIe Switch 层,GPU 和网卡直连 CPU 自带 PCIe 接口,每张 GPU 平均 200 Gbps 网络带宽。

不推荐 8 卡(2-2-8)原因

  • 8 卡需要引入 2 颗 PCIe Gen5 Switch 芯片,单片约 1 万美元,整机多出 2 万美元成本
  • PCIe Gen5 Switch 供应商单一,交货周期长(产能受限)
  • 平摊到每张 GPU 的网络带宽减半

4.3 L40S 卡间通信路径:绕外一圈

L40S 没有 NVLink,同主机 GPU 之间通信有两条路径:

路径 1(通过 CPU)

GPU0 ←PCIe→ CPU ←PCIe→ GPU1
带宽:PCIe Gen4 x16 单向 32 GB/s(受 CPU PCIe 控制器瓶颈)

路径 2(通过网络,NCCL 推荐方式)

GPU0 ←PCIe→ NIC ←RoCE/IB→ NIC ←PCIe→ GPU1
带宽:200 Gbps ≈ 25 GB/s(网卡单向线速)

官方推荐路径 2,新版 NCCL 已针对 L40S 做适配,默认走网络绕一圈。前提是必须部署 200 Gbps 网络,否则性能发挥不出来。

4.4 L40S 与 A100 卡间带宽对比

L40S:200 Gbps ≈ 25 GB/s(网卡线速,单向)
A100:NVLink 单向 300 GB/s = 12 200 Gbps
A800:NVLink 单向 200 GB/s = 8 200 Gbps

结论:L40S 卡间带宽比 A100 慢约 12 倍,比 A800 慢约 8 倍。这是 L40S 不适合训练通信密集型基础大模型的根本原因——AllReduce 通信会成为巨大瓶颈。适合推理、微调、通信量较小的训练任务。

4.5 测试注意事项

即使只测单机 4 卡,也需要搭配 200 Gbps 交换机,否则卡间性能根本发挥不出来。裸测(只接管理网)得到的多卡性能数据是无效的。


五、8H20:面向中国市场的折中方案

H20 是 2023 年发布、2024 年正式交付的产品,专门填补 A800/L40S 等被美国禁售后的中国市场空缺。

5.1 核心规格

显存:8  96 GB = 768 GB(每卡 96 GB,比 A800 的 80 GB 多 20%)
单卡最大功耗:500 W(8 卡整机 4000 W)
CUDA 版本支持:12.2

5.2 卡间互联:NVLink 18 lanes

$ nvidia-smi topo -m
GPU0  GPU1  GPU2  GPU3  GPU4  GPU5  GPU6  GPU7
NV18  NV18  NV18  NV18  NV18  NV18  NV18  ...

NV18 意味着 18 条 NVLink lane,双向带宽 1850 GB/s = 900 GB/s(单向 450 GB/s)。对比 A800 的 8 lanes/400 GB/s,NVLink 互联带宽大幅提升。

5.3 训练性能实测(与 A800 对比)

GPU 节点吞吐(samples/sec)
8A800-80 GB~30
8H20-96 GB~21

H20 的纸面算力相比 A800 阉割了约一半,但通过更大显存(96 GB vs 80 GB)和更强 NVLink 带宽(900 GB/s vs 400 GB/s)补偿,实际性能下降幅度约 30%。

选型建议:H20 是当前国内市场大显存需求(如 70B+ 参数模型推理、量化精度要求高的场景)的最优解,单节点 768 GB 显存可以承载极大的模型。但训练性能不如 A800,适合推理或对算力要求不那么极端的场景。


六、华为昇腾 910B:完整技术栈实探

6.1 NVIDIA 与华为术语对照表

NVIDIA华为功能
GPUNPU/GPU(混用)通用并行处理器
NVLinkHCCS(华为缓存一致性系统)GPU 卡间高速互联
InfiniBandHCCN(华为缓存一致性网络)RDMA 网络协议栈
nvidia-sminpu-smiGPU 命令行管理工具
CUDACANN(华为神经网络计算架构)GPU 编程框架
DCGMDCMI(DaVinci 卡管理接口)底层监控/管理 API

6.2 产品定位

  • 训练:昇腾 910B,对标 NVIDIA A100/A800
  • 推理:Atlas 300 系列,对标 NVIDIA T4

6.3 训练机器两种形态

x86 底座

  • 客户迁移适配工作量小,兼容性好
  • 功耗较高(16 卡机 12KW)

ARM 底座(鲲鹏系列)

  • 华为云主力提供形态
  • 液冷方案,功耗大幅降低(16 卡机仅 4.5 KW,不到 x86 的 40%)
  • “性能/功耗”比更优,但软件生态适配工作量更大

操作系统默认为 EulerOS(基于 CentOS,华为自研):

$ cat /etc/os-release
EulerOS release 2.0 (SP10)
NAME="EulerOS"

6.4 实机配置(鲲鹏底座 8910B版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作!

机型:physical.kat2ne.48xlarge.8.ei.pod101
CPU:Kunpeng 920(448 Core @ 2.6 GHz),ARM 架构,共 192 核
内存:2464 GB DDR4
网卡:2100G + 8200G(RDMA)
冷却:浸没式液冷

CPU 识别:

$ cat /proc/cpuinfo | grep "CPU implementer"
CPU implementer : 0x48   # 0x48 = 华为海思

6.5 GPU 管理:npu-smi

基础信息查看:

$ npu-smi info
| NPU  Name   | Health | Power(W) | Temp(C) | HBM-Usage(MB) |
|  0   910B1  | OK     | 88.4     | 46      | 4175 / 65536  |
|  1   910B1  | OK     | 92.1     | 47      | 4175 / 65536  |
...
  • GPU 型号:910B1
  • HBM 显存:64 GB/卡

核心利用率监控:

$ npu-smi info -t usages -i 0
HBM Capacity(MB)         : 65536
HBM Usage Rate(%)        : 4
Aicore Usage Rate(%)     : 0       # AI 核心使用率(类比 NVIDIA 的 GPU Util)
Aivector Usage Rate(%)   : 0
Aicpu Usage Rate(%)      : 0
HBM Bandwidth Usage Rate(%): 0

实时频率信息:

$ npu-smi info -t common -i 1
Aicore Freq(MHZ)    : 1800    # 额定频率
Aicore curFreq(MHZ) : 800     # 当前实际频率(空载时降频)
Aicore Count        : 24
NPU Real-time Power(W): 93.4

6.6 卡间互联:HCCS 拓扑

$ npu-smi info -t topo
        NPU0  NPU1  NPU2  NPU3  NPU4  NPU5  NPU6  NPU7
NPU0    X     HCCS  HCCS  HCCS  HCCS  HCCS  HCCS  HCCS
NPU1    HCCS  X     HCCS  HCCS  HCCS  HCCS  HCCS  HCCS
...

官方公布 910B 卡间互联带宽为 392 GB/s(双向),接近 A800 的 400 GB/s。但注意:互联拓扑结构不同,HCCS 与 NVSwitch Full-mesh 的实际通信效率有差异,在 AllReduce 等集合通信场景中性能可能有所不同。

6.7 RDMA 网卡管理:hccn_tool

华为的 RDMA 网卡需要用专有工具管理,不是 ethtool/ip 等标准工具:

查看网卡状态(类似 ethtool):

$ hccn_tool -i 3 -status -g
Speed: 200000Mb/s    # 200 Gbps 网卡

查看网卡统计(QP/CQ 分配等):

$ hccn_tool -i 3 -hw_stats -g
qp_alloc: 1
cq_alloc: 1

查看 LLDP(直连交换机信息):

$ hccn_tool -i 3 -lldp -g
Port ID TLV: 400GE1/1/20:2
System Description: Versatile Routing Platform Software
# 华为自家交换机,VRP 操作系统

RDMA 网卡配置文件:

$ cat /etc/hccn.conf
address_0=29.1.137.205
netmask_0=255.255.0.0
gateway_0=29.1.0.1
send_arp_status_0=1
# ... 共 8 张 RDMA 网卡(对应 8 张 NPU)

RDMA 连通性测试:

$ hccn_tool -i 3 -ping -g address 29.1.137.205
recv seq=0, time=1.418000ms
recv seq=1, time=0.034000ms
3 packets transmitted, 3 received, 0.00% packet loss

6.8 Linux 设备文件

$ ls /dev/davinci*
/dev/davinci0  /dev/davinci1  ... /dev/davinci7
/dev/davinci_manager     # GPU 管理设备

$ ls /dev/hisi_hdc        # HDC 管理设备(Host-Device Communication)
$ ls /dev/devmm_svm       # 内存管理设备(SVM = Shared Virtual Memory)

6.9 容器运行时配置

华为 Ascend 容器运行时(ascend-docker-runtime)配置:

// /etc/docker/daemon.json
{
  "runtimes": {
    "ascend": {
      "path": "/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime",
      "runtimeArgs": []
    }
  },
  "default-shm-size": "8G",
  "default-runtime": "ascend"
}

启动带 GPU 的容器(必须挂载的设备和目录):

$ docker run -itd \
  --cap-add=SYS_PTRACE \
  --net=host \
  --shm-size="32g" \
  # 8 张 GPU 设备
  --device=/dev/davinci0 --device=/dev/davinci1 \
  --device=/dev/davinci2 --device=/dev/davinci3 \
  --device=/dev/davinci4 --device=/dev/davinci5 \
  --device=/dev/davinci6 --device=/dev/davinci7 \
  # 管理设备
  --device=/dev/davinci_manager \
  --device=/dev/devmm_svm \
  --device=/dev/hisi_hdc \
  # 驱动和工具挂载
  -v /usr/local/dcmi:/usr/local/dcmi \
  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
  -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
  --name <container_name> <image> /bin/bash

运维注意:DCMI 接口库(libdcmi.so)在 /usr/local/dcmi/ 下,是监控采集的关键依赖,务必挂载正确。K8s 部署目前(截至文章整理时)问题较多,建议优先 Docker 运维,或等待 Ascend 设备插件(device plugin)成熟。


七、华为 DaVinci 架构演进:从手机到数据中心

7.1 架构设计理念

华为 DaVinci 架构的核心目标是:一种架构,覆盖从手机 NPU 到数据中心训练 GPU 的所有算力场景

传统处理器矩阵:

处理器逻辑控制能力并行计算能力适用场景
CPU通用计算、OS、调度
GPU强(通用并行)图形渲染、矩阵计算、大模型训练
NPU/TPU最弱专用极强神经网络推理,效率最高

DaVinci 引入 3D Cube 加速矩阵运算,在单位芯片面积和单位功耗下,神经网络任务性能比 CPU/GPU 大幅提升。

7.2 手机芯片路线(麒麟系列)

麒麟系列芯片将 NPU 集成到手机 SoC 内部,随 Mate 系列高端机型迭代:

芯片年份工艺代工NPU 算力
Kirin 970201710nm台积电1.92 TFLOPS FP16,全球首款手机内置 NPU
Kirin 990 5G20197nm+台积电DaVinci 架构,2+1 Core
Kirin 9000 5G20205nm台积电DaVinci 2.0,2+1 Core
Kirin 9000s20237nm(中芯国际)SMIC有 NPU,参数未公开

Kirin 9000 是台积电 5nm 最高制程产品,被美国制裁断供后,Mate 50 系列被迫改用高通芯片。Kirin 9000s 是华为回归,采用中芯国际 7nm 工艺,制程落后但已实现国产替代。

7.3 数据中心路线(昇腾 Ascend 系列)

Ascend 310(2019)—— 推理

  • 采用 DaVinci D-mini 版本
  • 纸面算力对标 NVIDIA T4
  • 搭载在 Atlas 系列加速卡中

Ascend 910(2019)—— 训练

  • 发布时对标 Google TPU v3
  • 有完整公开论文(HPCA 版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作!2021)
  • 支持组建计算集群(类比 NVLink 域组集群)

Ascend 910B(2023)—— 当前主力训练 GPU

  • 对标 NVIDIA A800
  • 算力基本对齐 A800,卡间互联带宽仍有差距(392 GB/s vs 400 GB/s)
  • 科大讯飞等国内大厂反映经联合优化后,在特定场景可达 A100 水平
  • 已有国内大模型基于纯昇腾集群完成训练

7.4 GPU 与 NPU 的双向演进趋势

值得关注的是,GPU 和 NPU 正在相互渗透:

  • GPU 引入神经网络专用单元:NVIDIA Tensor Core(V100 起)、Transformer Engine(H100)
  • NPU 引入通用计算能力:昇腾系列逐步支持更通用的矩阵和向量运算

两者的边界正在模糊,未来很可能在”专用 AI 加速器”这一形态上收敛。


八、CPU vs GPU vs NPU:选型决策框架

8.1 典型使用场景矩阵

场景推荐硬件原因
大模型预训练(>10B 参数)H100/H800 SXM(或 910B 集群)最高算力+NVLink 大带宽
大模型微调(SFT/RLHF)A800/H800性价比均版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作!
推理服务(高吞吐)L40S 或 T4/A10成本敏感,推理算力充足
推理服务(超大模型)H20大显存(96 GB),可放下更大模型
边缘推理昇腾 310 / NVIDIA T4低功耗,推理算力够用
手机端 AI麒麟 Kirin SoC(NPU)/ 高通 NPU集成 SoC,最低功耗

8.2 训练场景网络带宽需求

训练规模与网络配置的对应关系:

模型规模推荐组网原因
≤7B,单机无需跨机网络8 卡 NVLink 足够
7B~70B,多机100G/200G RoCE满足 DP+TP 并行需求
70B+,大规模集群400G IB 或 400G RoCEAllReduce 通信量大,带宽敏感
千亿参数,超大规模400G IB + NVLink Switch跨机 NVLink 互联,减少网络瓶颈

九、运维架构师的关键决策清单

基于以上所有内容,整理出一套可操作的决策和检查清单。

9.1 服务器选型检查项

□ 明确算力需求(训练 or 推理,模型参数量)
□ 显存容量(模型加推理框架 overhead 后能放入显存)
□ NVLink 版本和带宽(训练场景关键指标)
□ GPU 形态(PCIe vs SXM,训练首选 SXM)
□ PCIe 版本(Gen4 vs Gen5,配合网卡选型)
□ 功耗和散热(空调/液冷规划,总功率预算)
□ 交货周期(HBM 依赖 → 周期长,GDDR6 → 周期短)
□ 出口管制状态(A100/H100 vs A800/H800/H20,能否采购)

9.2 组网设计检查项

□ 计算网络与存储网络是否物理/逻辑隔离
□ 每张 GPU 是否有独占网口(避免共享争抢)
□ 选 RoCEv2 还是 IB(预算、性能要求、运维能力)
□ ToR 交换机端口数与超发比(GPU 服务器:存储服务器一般建议 1:1 单独网络)
□ RoCE 需配置 PFC(Priority Flow Control)和 ECN,是否已规划
□ IB 需部署子网管理器(SM),是否已规划高可用
□ 网卡与 PCIe 版本是否匹配(400G 网卡需 PCIe Gen5)

9.3 NUMA 感知部署检查项

□ 用 nvidia-smi topo -m 确认 GPU 与 NIC 的拓扑关系
□ GPU 与其对应 NIC 应在同一 PCIe Switch 下(PXB),避免 SYS
□ 训练进程绑核时考虑 NUMA 亲和性(CPU Affinity 列)
□ 跨 NUMA 的 GPU-NIC 对会引入额外延迟,排查性能问题时注意

9.4 华为昇腾运维检查项

□ 确认底座 CPU(x86 or ARM/鲲鹏),ARM 功耗优势显著
□ 操作系统 EulerOS 与现有运维工具链兼容性
□ RDMA 网卡配置用 hccn_tool,而非标准 ethtool/ip
□ /etc/hccn.conf 配置 8 张 RDMA 网卡 IP/网关
□ 容器运行时配置 ascend-docker-runtime,并挂载所有必要设备
□ 监控采集通过 DCMI(npu-smi -t usages/common)接入现有监控平台
□ K8s 部署成熟度评估,目前问题较多建议观望或充分测试

9.5 常见性能问题诊断思路

多卡训练吞吐不达预期:
  1. 检查 NVLink 带宽(nvidia-smi nvlink --status)
  2. 检查卡间拓扑是否 full-mesh(nvidia-smi topo -m)
  3. 检查网络带宽(iperf3/qperf,跨机通信场景)
  4. 检查 NCCL 日志(NCCL_DEBUG=INFO),看是否 fallback 到 P2P or SHM

GPU 利用率低:
  1. 检查 HBM 带宽使用率(DCGM 指标)
  2. 检查 PCIe 带宽是否成为数据加载瓶颈
  3. 检查 DataLoader 是否跟上(CPU 预处理 + 存储网络是否够用)

容器内 GPU 不可见:
  NVIDIA:检查 nvidia-container-runtime 安装和 daemon.json 配置
  华为:检查所有 /dev/davinci* 设备是否全部传入,驱动目录是否挂载

总结

NVIDIA 体系:掌握 PCIe、NVLink、NVSwitch、HBM 这四层互联/存储技术的演进逻辑,是理解所有 GPU 服务器拓扑设计的基础。8A100 的”2-2-4-6-8-8″架构是目前部署最广的模板,H100 在每一层都做了升级(Gen5 PCIe、NVLink4、HBM3),L40S 则用牺牲卡间带宽换取成本和交货期优势,H20 是专为中国市场设计的大显存折中方案。

华为昇腾体系:DaVinci 架构覆盖了从手机 NPU(麒麟系列)到数据中心训练 GPU(昇腾 910B)的完整产品线。910B 在算力上对标 A800,但软件生态、工具链和运维体系与 NVIDIA 有相当差距,需要专门的适配工作。

核心选型原则:训练看 NVLink 带宽 + 算力,推理看显存容量 + 功耗效率,组网看 RDMA 类型 + 拓扑,监控看 DCGM/DCMI + 全链路带宽可观测性。

0 条回应