【深度硬核】AI Infra 架构漫游指南 :算力、通信与物理极限
写在前面:
在 Transformer 统治世界的今天,当我们在谈论"训练大模型"时,我们究竟在谈论什么?
绝大多数人看到的是 Python 代码中的
model.forward(),是 HuggingFace 上下载的权重文件。但在这一切之下,是一座由数万张 GPU、数千公里的光纤和 PB 级存储构建的精密"工厂"。本系列文章旨在从系统工程(Systems Engineering) 的视角,自底向上解构支撑大模型训练与推理的 AI Infrastructure。我们将不谈空泛的概念,只谈架构决策背后的数学与物理约束。
0. 序言:当 Scaling Laws 撞上物理墙
在过去的十年里,软件工程的主旋律是"云原生"和"微服务",核心逻辑是解耦 。但在 AI Infra 的世界里,逻辑完全反了过来------我们的核心任务是紧耦合。
OpenAI 提出的 Scaling Laws 告诉我们:模型性能与计算量、参数量和数据量呈幂律关系。为了追求更强的智能,我们必须堆砌更庞大的算力。
然而,现实物理世界是残酷的:
- 摩尔定律放缓: 单芯片算力的增长速度,远远追不上模型参数量每年 10 倍的膨胀速度。
- 显存墙(Memory Wall): 计算单元跑得太快,数据搬运的速度跟不上,导致 GPU 在空转。
- 通信瓶颈: 当模型大到单卡放不下,跨卡通信的延迟就成了系统的阿喀琉斯之踵。
因此,AI Infra 的本质,就是用分布式的系统架构,去填补算法贪婪需求与单机物理极限之间的鸿沟。
在这个系列的第一篇,让我们先钻进地基,看看支撑万亿参数模型的Layer 0:硬件基础设施层。
1. Layer 0: 算力底座 (Compute & Silicon)
如果说 AI 是一场战争,GPU 就是最前线的士兵。但在 Infra 工程师眼中,我们不看品牌,只看两个核心指标:计算吞吐(Compute Throughput) 和 显存带宽(Memory Bandwidth)。
1.1 为什么是 GPU?从 Hopper 架构看计算本质
CPU 是为复杂的逻辑控制和低延迟设计的,而 GPU 是为大规模并行计算设计的。以 NVIDIA H100(Hopper 架构)为例,它之所以成为"硬通货",关键在于以下架构革新:
-
Tensor Core vs. CUDA Core:
传统的 CUDA Core 擅长处理 FP32 标量运算。而大模型训练的核心是矩阵乘法(GEMM)。H100 中的第四代 Tensor Core 专门为矩阵运算设计,它能在在一个时钟周期内完成 D=A×B+CD = A \times B + CD=A×B+C 的矩阵运算。
- 关键数据: H100 SXM 在 FP8 精度下的稀疏算力高达 3,958 TFLOPS。这意味着每秒近 4000 万亿次浮点运算。
-
Transformer Engine:
这是软硬结合的典范。H100 能够逐层分析 Transformer 网络的统计数据,自动在 FP8 和 BF16 之间切换精度。这不仅是算力的提升,更是对显存带宽的极致节省。
1.2 显存墙:HBM 才是真正的瓶颈
很多时候,训练速度慢不是因为算得不够快,而是因为数据喂得不够快。这就是著名的"显存墙"问题。
- HBM (High Bandwidth Memory): 普通的 DDR4/5 内存带宽只有几十 GB/s,根本喂不饱 Tensor Core。因此,高端 GPU 必须使用 HBM。H100 搭载的 HBM3 提供了惊人的 3.35 TB/s 带宽。
- 算术强度 (Arithmetic Intensity): 这是 Infra 优化的核心公式:
Arithmetic Intensity=Arithmetic Intensity=FLOPS (计算量)Bytes (访存量) \text{Arithmetic Intensity} = \text{Arithmetic Intensity} = \frac{\text{FLOPS (计算量)}}{\text{Bytes (访存量)}}Arithmetic Intensity=Arithmetic Intensity=Bytes (访存量)FLOPS (计算量)
如果算法的算术强度低于硬件的 计算/带宽比 ,那么这个任务就是 Memory Bound(受限于显存) 的。不幸的是,大模型中的很多操作(如 LayerNorm, Softmax, Element-wise add)都是典型的 Memory Bound。
Architectural Insight: 为什么我们在这个系列后面要讲 FlashAttention?本质上就是为了减少对 HBM 的读写次数,用"多算"来换"少存"。
2. 节点内互联:超级节点 (Intra-Node Interconnect)
单张卡再强也训练不了 GPT-4。我们需要把多张卡连在一起。最基础的单元不是一张 GPU,而是一台服务器(Node),比如 NVIDIA DGX/HGX H100。
2.1 为什么要抛弃 PCIe?
在传统的服务器里,设备通过 PCIe 总线连接 CPU。PCIe Gen5 x16 的带宽仅为 128 GB/s (双向)。
如果你在做 张量并行(Tensor Parallelism, TP) ,你需要把一个矩阵切开,让 8 张卡每张算一部分,然后在极短时间内同步结果(All-Reduce)。
如果走 PCIe,通信延迟会直接拖垮训练流程。
2.2 NVLink 与 NVSwitch:片间高速公路
为了解决这个问题,NVIDIA 发明了 NVLink。
- NVLink: 它是 GPU 之间的专用互联通道。H100 拥有 18 条 NVLink 连接。
- NVSwitch: 这是一个位于服务器内部的"交换机芯片"。
在 HGX H100 8卡模组中,所有 8 张 GPU 通过 NVSwitch 全互联,形成了一个统一的显存池。 - 关键指标: 任意两张 GPU 之间的双向带宽高达 900 GB/s。这比 PCIe 快了 7 倍以上!
定义: 在 AI Infra 语境下,这样一台通过 NVLink 互联的 8 卡服务器,通常被称为一个 Pod 或 Super-Node。
3. 集群网络:连接成千上万个节点 (Inter-Node Network)
即使是 8 卡的 Super-Node,显存加起来也只有 640GB(8x80GB),依然放不下万亿参数的模型状态。我们需要把成千上万台服务器连成一片计算海 。
这时候,网络(Network)成为了新的瓶颈。
3.1 RDMA:绕过操作系统的慢动作
传统的 TCP/IP 网络协议栈太慢了。数据从网卡到应用程序,需要经过 CPU 中断、内核态到用户态的内存拷贝,延迟在几十微秒级别。
在 AI 集群中,我们必须使用 RDMA (Remote Direct Memory Access)。
- 原理: 允许一台机器的 GPU 直接读取另一台机器的内存(或显存),完全绕过 CPU 和操作系统内核。
- 效果: 将端到端延迟降低到 微秒级。
3.2 InfiniBand (IB) vs. RoCE
实现 RDMA 有两种主要物理载体:
-
InfiniBand (IB): 专为高性能计算设计的网络架构。
- 优点: 极低的延迟,原生的无损网络(Credit-based flow control),不仅仅是网线,它包含了一整套从交换机到网卡的协议。
- 现状: NVIDIA Quantum-2 IB 交换机提供 400Gbps 的端口带宽。
-
RoCEv2 (RDMA over Converged Ethernet): 在以太网上跑 RDMA。
- 优点: 成本更低,通用性强,运维人员更熟悉。
- 挑战: 以太网本质是"尽力而为"的丢包网络。为了跑 RDMA,必须配置 PFC (Priority Flow Control) 和 ECN (Congestion Notification) 来模拟"无损"环境。一旦配置不好,就会发生PFC 死锁 或拥塞风暴,导致整个集群停摆。
3.3 拓扑架构:Rail-Only 优化
在普通数据中心,服务器通常只有 1-2 张网卡。但在 AI 集群中,一台 HGX H100 服务器通常配备 8 张 400Gbps 的网卡(即计算网,不含管理网)。
为什么要这么多网卡?这就涉及到了 Rail-Optimized Topology:
- 我们不希望所有的流量都挤在一个交换机口。
- 设计: 集群中所有节点的 GPU 0 连到第一组交换机,GPU 1 连到第二组交换机......以此类推。
- 目的: 当进行跨节点通信时(例如数据并行的大规模 All-Reduce),GPU 0 只和别的机器的 GPU 0 说话。这样构建了 8 个独立的通信平面(Rails),最大化了带宽利用率。
4. 存储:不仅仅是硬盘 (High-Performance Storage)
很多人忽视了存储在 AI Infra 中的地位,直到他们开始做 Checkpointing(模型存档)。
4.1 读写模式的极端分裂
AI 训练对存储的需求是精神分裂式的:
-
训练数据读取: 海量小文件(图片/文本),随机读取。要求极高的 IOPS。
-
Checkpoint 写入: 几个小时一次,将整个模型状态(权重+优化器状态)写入磁盘。这是巨大的突发顺序写入(Burst Write)。
- 算笔账: 一个万亿参数模型,使用 Adam 优化器,其 Checkpoint 大小可能超过 10TB。如果写入速度只有 1GB/s,存一次档要 3 小时,这期间 GPU 都在空转烧钱!
4.2 解决方案
- 并行文件系统: 如 Lustre, GPUDirect Storage。它们将文件切片存储在成百上千个硬盘上,通过并行读写达到几百 GB/s 的吞吐。
- 本地缓存(Local Cache): 在每台计算节点上配置数 TB 的 NVMe SSD,用于缓存训练数据,避免每次都去挤占网络带宽。
AI Infra 架构漫游指南 (2):通信原语与分布式拆解
章节定位:
如果 Layer 0 是搭建物理世界的"高速公路"(NVLink/IB),那么 Layer 1 就是公路上跑的"交通规则"(NCCL),而 Layer 2 则是指挥车队如何运输货物的"物流策略"(3D 并行)。
如果不懂这两层,你就永远无法理解为什么大模型训练需要那么复杂的切分,也无法排查那些诡异的性能瓶颈。
5. Layer 1: 通信原语与基础库 (Communication Primitives)
硬件提供了带宽,但软件决定了通信的效率。
当我们说"GPU 之间在通信"时,它们到底在说什么?并不是简单的 Send(data) 和 Receive(data)。在分布式训练中,我们有一套标准的集合通信(Collective Communication) 模式。
5.1 核心原语:GPU 界的"行话"
所有的分布式训练策略,底层都依赖以下几个原子操作。理解了它们,就理解了分布式训练的开销。
-
Broadcast(广播):
- 场景: 训练开始时,Master 节点把初始化的模型参数复制给所有 Worker。
-
All-Reduce(全规约)------ 最重要的原语:
- 定义: 所有 GPU 手里都有一个数组(比如梯度),目标是把它们加起来(Sum),然后让每张 GPU 都得到这个总和。
- 场景: 数据并行(Data Parallelism)中,计算完梯度后,所有卡必须同步,算出平均梯度。
- 代价: 它是训练中的主要通信瓶颈。
-
All-Gather(全收集):
- 定义: 每张卡有一部分数据,最后每张卡都拿到了完整的数据。
- 场景: ZeRO-3 或者是张量并行(TP)中,在前向计算前把模型参数收集完整。
-
Reduce-Scatter(规约散布):
- 定义: 大家都有数据,求和之后,每张卡只拿求和结果的一部分。
- 场景: ZeRO 优化器中,梯度的同步。
5.2 NCCL:NVIDIA 的通信魔法
在 AI 领域,NCCL (NVIDIA Collective Communications Library) 是绝对的统治者。它不仅是一个库,更是挖掘硬件极限的艺术。
-
Ring All-Reduce 算法:
最朴素的 All-Reduce 是所有人都发给 Master,Master 算完再发回去(星型拓扑),这会让 Master 网卡瞬间爆炸。
NCCL 使用 Ring(环状)算法:
- 所有 GPU 连成一个环。
- 数据被切成小块(Chunks)。
- 每张卡只和邻居通信。
- 数学之美: Ring 算法证明了,无论有多少个 GPU(NNN),对于大数据量,通信时间几乎是恒定的(带宽利用率最优),不再随节点数线性增加。
KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at end of input: ...ox \frac{2M}{B}
(其中 M 是数据量,B 是带宽。当 N 很大时,系数趋近于 2)
-
拓扑感知(Topology Awareness):
NCCL 启动时会扫描 PCIe、NVLink 和网卡的拓扑文件(XML)。它极其聪明,知道两张卡之间如果能走 NVLink 就不走 PCIe,如果能走片内总线就不出服务器。
6. Layer 2: 分布式训练范式 (Distributed Training Paradigms)
这是解决"显存墙"的核心战役。如何把一只大象(模型)装进冰箱(GPU)?
当模型大到单卡放不下(比如 70B 参数模型通常需要 140GB+ 的显存用于推理,训练则需要更多),我们必须把模型"切开"。这就是 3D 并行(3D Parallelism)。
6.1 数据并行 (Data Parallelism, DP) & ZeRO
这是最基础的并行方式。
- 原理: 复制多份完整的模型到不同的 GPU。把大数据集(Global Batch)切分成小块(Micro Batch)喂给不同的卡。
- 瓶颈: 模型必须能完整塞进单卡显存。对于 LLM,这通常是不可能的。
进化:ZeRO (Zero Redundancy Optimizer)
既然大家存的模型参数都是一样的,为什么要浪费显存存 N 份?
DeepSpeed 提出的 ZeRO 技术将模型状态切片(Sharding):
- ZeRO-1: 切分优化器状态(Optimizer States)。(显存节省 4 倍)
- ZeRO-2: 切分梯度(Gradients)。(显存节省 8 倍)
- ZeRO-3: 切分模型权重(Parameters)。(显存占用与卡数成反比,理论上可以无限扩展)
- 代价: 用"通信换显存"。每次计算前,必须通过 All-Gather 临时把参数拼凑出来,算完立刻删掉。
6.2 张量并行 (Tensor Parallelism, TP)
如果用了 ZeRO 显存还不够怎么办?或者单层网络计算太慢怎么办?我们需要把矩阵运算本身切开。这是 Megatron-LM 的核心贡献。
- 原理: 也就是通常说的"模型并行"。
假设有一个矩阵乘法 Y=X×AY = X \times AY=X×A。
我们将权重矩阵 AAA 竖着切成两半 A1,A2A_1, A_2A1,A2。
GPU1 算 Y1=X×A1Y_1 = X \times A_1Y1=X×A1,GPU2 算 Y2=X×A2Y_2 = X \times A_2Y2=X×A2。 - 物理约束:
TP 会在每一层 Transformer Layer 的前向和后向传播中都引入 All-Reduce 通信。
这意味着通信频率极高!
关键结论: TP 只能在单机内部(Intra-Node) 使用,必须依赖 NVLink 的高带宽。一旦跨机器走以太网,训练速度会掉到几乎为零。
6.3 流水线并行 (Pipeline Parallelism, PP)
如果模型大到一台 8 卡服务器都放不下怎么办?(比如 GPT-4 这种级别)。我们需要把模型的不同层(Layers)放在不同的机器上。
- 原理:
Machine A 放第 1-32 层,Machine B 放第 33-64 层。
数据像流水线一样流过 Machine A,处理完传给 Machine B。 - 气泡(Bubble)问题:
朴素的流水线会导致大量空转。当 Machine B 在算第 1 个 Batch 时,Machine A 如果闲着就是在烧钱。 - 优化:1F1B (One-Forward-One-Backward)
通过精密的调度,让前向计算(Forward)和后向传播(Backward)交错进行,尽可能填满流水线的气泡。
6.4 3D 并行:集大成者
在训练万亿模型(如 GPT-4, Llama 3 405B)的实战中,我们通常是同时使用这三种策略:
- TP (Tensor Parallelism): 设为 8(占满一台机器,利用 NVLink)。
- PP (Pipeline Parallelism): 设为 N(跨越 N 台机器)。
- DP (Data Parallelism): 在上述构建的"大模型实例"之间进行数据复制。
The Math of Scale:
Total GPUs=Pdp×PtpN=Pdp×Ptp×Ppp \text{Total GPUs} = P_{dp} \times P_{tp} \N = P_{dp} \times P_{tp} \times P_{pp}Total GPUs=Pdp×PtpN=Pdp×Ptp×PppInfra 工程师的工作,就是在给定硬件条件下,寻找这三个参数的最优组合,使得 MFU (Model FLOPs Utilization) 最大化。
AI Infra 架构漫游指南 (3):驯服万卡集群与推理的经济账
7. Layer 3: 集群调度与编排 (Cluster Orchestration)
如果说硬件是肌肉,调度层就是神经中枢。它的目标只有一个:让昂贵的 GPU 永不空转。
在 Web 服务时代,K8s 挂掉一个 Pod 只要重启就好;但在 AI 大模型训练时代,一个节点的故障可能导致整个训练作业(Job)崩溃。AI 调度面临的是 "全有或全无"(All-or-Nothing) 的挑战。
7.1 两种文化的碰撞:Kubernetes vs. Slurm
AI Infra 领域目前存在两条技术路线的剧烈碰撞:
-
Slurm (HPC 派):
- 出身: 超算中心(Supercomputers)的原住民。
- 优势: 极致的批处理性能,原生支持 MPI,启动速度极快。
- 劣势: 容器化支持弱,难以与现代微服务生态(如监控、CI/CD)集成。
-
Kubernetes (云原生派):
- 出身: Google Borg,微服务时代的王者。
- 优势: 强大的生态,容器化标准,弹性伸缩。
- 劣势: 原生调度器(Default Scheduler)根本不懂 AI。K8s 习惯把 Pod 视为独立的,而 AI 训练任务中的 Pod 是紧耦合的。
架构现状: 工业界目前的主流趋势是 "Kubernetes + AI 调度插件"(如 Volcano, Kueue, Coscheduling),试图在云原生的灵活性和 HPC 的高性能之间寻找平衡。
7.2 核心调度难题:Gang Scheduling(帮派调度)
这是面试 AI Infra 调度岗必问的概念。
-
问题: 假设你有 100 张卡,来了一个需要 16 张卡的训练任务 A。目前资源池里只有 8 张空闲。
- 普通调度: 先把这 8 张卡占住,等剩下 8 张。
- 结果: 这 8 张卡被占用了但跑不起来(因为训练需要 16 卡同步),这就是资源死锁(Deadlock)。
-
解法 (Gang Scheduling):
任务所需的资源(16 张卡)必须同时满足,否则一张都不给。这就像坐过山车,人没凑齐不发车,凑齐了所有人同时上车。
7.3 拓扑感知调度 (Topology-Aware Scheduling)
还记得我们在 Layer 0 讲的 NVLink 和 IB 网络吗?调度器必须懂物理拓扑。
- 场景: 一个任务需要 2 台机器(16 卡)。
- 错误调度: 调度器随机选了机房东头的一台和西头的一台。虽然卡够了,但它们之间隔了 3 层交换机,通信延迟极高,导致 GPU 等待数据,算力浪费。
- 正确调度: 调度器通过探测物理拓扑,强制将任务分配到同一个 ToR (Top of Rack) 交换机下的两台机器。这能带来 10%-30% 的训练速度提升。
7.4 容错与断点续训 (Fault Tolerance)
在万卡集群中,硬件故障不是"意外",而是日常。
- MFU 的杀手: 并不是计算慢,而是训练经常断。如果恢复一次训练需要 30 分钟(重新加载 Checkpoint,预热网络),一天挂 3 次,这天就白干了。
- 自动容错: 优秀的 Infra 系统能做到 自动监测 -> 自动隔离坏节点 -> 自动从备用池补齐节点 -> 自动加载最近的 Checkpoint -> 继续训练。全程无需人工干预。
8. Layer 4: 推理架构 (Inference Infrastructure)
训练是"烧钱"的艺术,推理是"省钱"的艺术。
当模型训练完成上线后,它就变成了一个 7x24 小时的 Web 服务。此时,关注点从"吞吐量(Throughput)"变成了 "延迟(Latency)" 和 "单位成本(Cost per Token)"。
8.1 推理与训练的本质区别
大模型推理(Generation)是一个独特的两阶段过程:
-
Prefill(预填充阶段): 处理用户输入的 Prompt。这是计算密集型(Compute Bound)的,因为可以并行处理所有 Token。
-
Decode(解码阶段): 一个字一个字地吐出回复。这是显存带宽密集型(Memory Bandwidth Bound)的。
- 痛点: 生成每一个 Token,都需要把庞大的模型权重从 HBM 里读一遍。算力利用率极低。
8.2 显存杀手:KV Cache
为什么 ChatGPT 对话长了会变慢?为什么显存总是莫名其妙爆满?
- 原理: 为了不重复计算之前的 Token,我们将 Attention 层产生的 Key 和 Value 矩阵存在显存里,这就是 KV Cache。
- 数学约束: KV Cache 的大小与 Sequence Length(序列长度) 成正比。
对于一个 70B 的模型,并发量稍大,KV Cache 占用的显存甚至会超过模型权重本身。
8.3 核心优化技术:像管理内存一样管理显存
A. PagedAttention (vLLM 的魔法)
在 vLLM 出现之前,显存管理是粗暴的:为一个请求预留"最大可能长度"的显存。这就像给每位去餐厅的客人都预留一张 20 人的大桌子,极其浪费。
- 技术突破: PagedAttention 借用了操作系统的 虚拟内存(Virtual Memory) 和 分页(Paging) 思想。
- 实现: 将 KV Cache 切分成非连续的 Block。显存是动态分配的,"吃多少拿多少"。这使得同一张卡能支持的并发数(Batch Size)提高了几倍。
B. Continuous Batching (Orca)
传统的 Batching 是"木桶效应":一个 Batch 里有一个请求生成了 1000 个字,另一个生成了 10 个字。短的必须等长的处理完,才能一起返回。
- 技术突破: 一旦一个请求处理完(生成了
<EOS>),立刻把它的槽位腾出来,塞进一个新的请求。GPU 永远在满负荷运转。
C. 投机采样 (Speculative Decoding)
这是一个利用"大小模型搭配"的精妙策略。
-
直觉: 大模型(如 GPT-4)生成很难,但判断很容易。小模型(如 GPT-2 级别)生成很快。
-
流程:
- 让小模型快速"猜"出接下来可能的 5 个词。
- 让大模型并行验证这 5 个词对不对。
- 如果猜对了,大模型一次性输出了 5 个词(节省了 4 次读取权重的带宽)。
-
收益: 在不损失精度的情况下,将推理速度提升 2-3 倍。
AI Infra 架构漫游指南 (终章):火眼金睛与未来之路
章节定位:
如果前面的 Layer 0-4 讲的是如何"构建"这个系统,那么 Layer 5 讲的就是如何"诊断"和"优化"它。
在动辄花费数百万美元的训练任务中,盲目是最大的敌人。我们需要一双透视眼,看穿黑盒内部的瓶颈。
9. Layer 5: 可观测性与性能工程 (Observability & Performance Engineering)
代码跑通了,但 GPU 利用率只有 30%,钱都在燃烧。问题出在哪?
在传统的后端开发中,我们看 QPS 和 Latency;但在 AI Infra 中,我们的北极星指标是 MFU (Model FLOPs Utilization)。
9.1 寻找那个"短板" (Bottleneck Analysis)
训练慢,通常只有三个嫌疑人:
-
Compute Bound (计算受限): 你的矩阵乘法太慢了。
- 特征: GPU 利用率接近 100%,但 throughput 不高。
- 解法: 检查算子是否用了 Tensor Core,是否需要手写 Triton 优化 Kernel。
-
Memory Bound (显存带宽受限): 数据搬运太慢了。
- 特征: GPU 利用率忽高忽低(锯齿状)。
- 解法: 算子融合 (Kernel Fusion),使用 FlashAttention。
-
Communication Bound (通信受限): 卡在等数据。
- 特征: 显存和计算都空闲,NCCL Kernel 耗时极长。
- 解法: 检查网络拓扑,优化 3D 并行策略,调整 bucket size。
9.2 显微镜工具链
工欲善其事,必先利其器。Infra 工程师日常是活在这些工具里的:
- Nsight Systems (nsys): NVIDIA 提供的核弹级分析工具。它能画出微秒级的时间轴(Timeline),让你看到 CPU 什么时候发指令,GPU 什么时候在干活,NCCL 什么时候在通信。这是抓"气泡(Bubble)"的神器。
- PyTorch Profiler: 框架层的透视眼。能看到具体是哪一行 Python 代码触发了耗时操作。
- DCGM (Data Center GPU Manager): 运维层的监控。实时采集每张卡的功率、温度、ECC 错误和 NVLink 带宽。
9.3 沉默的杀手:Stragglers (慢节点)
在千卡训练中,最可怕的不是"死机",而是"变慢"。
根据木桶效应,整个集群的速度取决于最慢的那张卡。
- 现象: 某张 GPU 因为散热硅脂干了导致降频,或者某根光纤接触不良导致重传。它依然在工作,但比别人慢了 10%。
- 结果: 其他 999 张卡每次都要停下来等它,整体算力浪费 10%。
- 应对: 高级的 Infra 系统必须具备 Straggler Detection 能力,自动识别出这些"拖后腿"的节点并将其隔离。
10. 结语:在物理极限的边缘跳舞 (The Future & Conclusion)
当我们回顾这万字长文,你会发现 AI Infrastructure 是一门**"妥协"**的艺术。
- 我们用 3D 并行,是因为单卡显存不够。
- 我们用 RDMA,是因为 TCP 协议太慢。
- 我们用 KV Cache 优化,是因为内存带宽跟不上计算速度。
10.1 下一代 AI Infra 的战场
未来的 AI 架构会走向何方?
- 以太网的反击 (Ultra Ethernet): InfiniBand 很强,但太贵且被一家垄断。由科技巨头组成的 UEC 联盟正在试图用以太网解决丢包问题,挑战 IB 的统治地位。
- 存算一体 (Processing In Memory): 既然数据搬运是最大的瓶颈,为什么不直接在内存里计算?
- 专用芯片 (ASIC) 的崛起: GPU 是通用的,但 Transformer 是特殊的。Groq、Cerebras 等公司正在尝试用激进的架构(如 Wafer-Scale Engine)彻底消灭显存墙。