集群原理

机器学习集群是仓库级计算机:网络即总线,功率密度即速度上限,故障则是统计意义上的必然。延续课程对 AI 工程物理的关注,Part I 构建了规模物理:使分布式机器学习成为可能的硅片、导线、冷却系统与存储层级。关注点从单个加速器转移到数据中心级机器,此处的工程问题不再是如何在单设备上计算,而是如何在挑战物理基础设施极限的规模上移动能量与信息。

这一转变需要根本性的视角转变。在规模层面,单个 GPU 只是更大、紧密耦合系统中的组成部分。集群原理并非集群管理的最佳实践;它们是物理不变量,规定可以训练何种模型以及如何为其提供服务。从散热热力学极限到网络互连结构的双分带宽,这些约束定义了集群栈的边界。其主导模式与单节点平行:节点受数据—算法—机器(Data, Algorithm, Machine)之间复杂度守恒的约束,而集群受 Compute、Communication 与 Coordination(即 C³ 分类法)之间开销转移的约束。规模的执行开销无法消除,只能转移。

这些边界首先体现在设施本身:每一项操作最终都会变成必须被移除的热量。

Principle 1: 热力学极限
不变量:不可逆计算与数据移动将电能耗散为热量;在数据中心规模上,实际极限是该热量可被移除的速率。 \[ \dot{Q}_{\text{IT}} \leq \dot{Q}_{\text{remove,max}}(\text{facility},\text{cooling configuration}) \] 其中 \(\dot{Q}_{\text{IT}}\) 是 IT 设备产生的热量,\(\dot{Q}_{\text{remove,max}}\) 是已安装设施与冷却配置的最大散热速率。

含义:机架只有在散热输出保持在已安装冷却系统的能力范围内时才能运行。随着机架功率密度上升,设施可能需要降低机架密度、加强风冷,或采用液冷,以将该散热移除控制在特定配置的限制内。

在机架层面,同一热预算成为密度约束。

Principle 2: 功率密度墙
不变量:集群扩展受限于热耗散极限(每机架瓦数)与冷却能力,而不只是硅片面积或地板空间。

含义:现代 AI 加速器产生的热密度已超过风冷能力。对于大规模训练集群,液冷成为设施必需项,而非可选项。

热容量设定了外部包络;在其内部,内存容量决定了前沿模型必须如何切分。

Principle 3: 内存容量缺口
不变量:前沿模型的内存需求增长得更快且更加不规则,快于单加速器 HBM 容量。

含义:模型已无法装入单台设备。架构必须接纳 3D 并行(通过张量并行与流水线并行对模型本身进行切分)作为默认状态,打破“单设备”这一抽象。

一旦模型被切分到多个设备上,网络便成为执行路径的一部分。

Principle 4: 双分带宽定理
不变量:跨越网络切分的通信受该切分聚合带宽的限制。对于必须在集群两个半区之间传输的流量,最小双分带宽限定了可达传输速率。

含义:同步训练需要与集合通信操作(如 AllReduce)在互连结构上发送的流量相匹配的双分带宽。胖树可被配置为非阻塞网络,而 Dragonfly 网络则以较少的全局链路换取随工作负载变化的拥塞,路由与放置必须加以管理。

集群还决定了通用灵活性与硬件专用化之间的平衡。

Principle 5: 通用性税
不变量:对于计算模式稳定的工作负载,专用化可通过降低通用开销提升每瓦性能,同时也降低了可编程性与工作负载灵活性。 \[ \rho_{\text{energy,specific}} \gg \rho_{\text{energy,general}} \quad \text{for a fixed power budget} \]

含义:从 CPU 到 GPU 到张量处理单元(TPU)再到固定功能 ASIC 的发展轨迹,是随工作负载变化的架构权衡,而非普遍适用的物理定律。每一步都可能以可编程性换取效率,而集群架构师必须为每种工作负载在这条曲线上选择合适的位置。

计算效率只有在训练流水线能够持续喂饱加速器时才真正有用。

Principle 6: I/O 墙
不变量:当存储吞吐无法像加速器消耗数据那样快地提供训练数据时,GPU 无论计算能力多强都会空闲。 \[ \text{Utilization} = \min\!\left(1,\;\frac{\text{BW}_{\text{storage}}}{N_{\text{GPU}} \times R_{\text{consumption}}}\right) \] 其中 \(\text{BW}_{\text{storage}}\) 是聚合存储带宽,\(N_{\text{GPU}}\) 是加速器数量,\(R_{\text{consumption}}\) 是每个加速器的数据消费速率。

含义:原本对 8 个 GPU 而言尚属充足的存储系统,在 64 个 GPU 时便成为瓶颈。I/O 墙随加速器数量增长:每向集群增加一个 GPU,存储必须维持的吞吐下限就提高一分,使数据流水线而非模型本身成为限制因素。

满足这一需求需要层级结构,而非单一不分层级的存储池。

Principle 7: 存储层级原则
不变量:存储层级被设计为:离加速器越远的层级,通常以更高的访问延迟和更低的每流带宽换取更大的容量与更低的每字节成本;聚合吞吐仍取决于配置与并行化。

含义:系统工程师的任务是确保正确的数据在正确的时间位于正确的层级。数据格式选择、缓存策略、预取缓冲大小与分层策略,都是为了管理数据沿层级向上移动,使加速器不至于饿死。

即使数据已到达正确层级,协同仍限制着更多节点能转化为多少吞吐。

Principle 8: 扩展效率界
不变量:向分布式训练任务增加节点会收益递减,因为通信开销随集群规模增长,而单节点计算保持不变。 \[ \eta_{\text{scaling}} = \frac{T_1}{N \times T_N} \]

含义:理想的线性基线是完全线性扩展(\(\eta_{\text{scaling}} = 1.0\)),而非实际可达目标。在现代互连结构上,调优良好的稠密训练任务在中度规模下通常可达 \(\eta_{\text{scaling}} \approx 0.85\)–\(0.95\),并随 \(N\) 增长而进一步下降。\(\eta_{\text{scaling}} = 1.0\) 与实际效率之间的差距即通信开销——协同的代价。

这些不变量确立了集群为一等工程对象。Part I 自下而上构建这台机器:从分布式 ML 系统的格局与单机器为何已不足够,到 AI 数据中心的硅片、供电与冷却系统,连接集群的网络互连结构,以及为训练流水线供料的存储层级。这些章节共同构成了贯穿本书的灯塔原型(三种系统架构原型)的基础。

回到顶部
← 三卷书架