为什么有的集群没有训练网??
这个问题触及了GPU集群设计中一个核心的权衡:成本与性能。
简单来说,一个GPU集群没有专用的“训练网”,通常意味着它使用的是标准的以太网,而不是为高性能计算设计的专用互联网络。这背后是设计者根据工作负载类型、预算和性能需求做出的主动选择。
下面我们来详细拆解一下原因和场景:
1. 什么是“训练网”?
首先,我们要明确“训练网”指的是什么。在AI和高性能计算领域,它通常指代专门为大规模分布式训练设计的高速、低延迟互联技术,例如:
- NVIDIA NVLink & NVSwitch:在单个服务器内部连接GPU,提供极高的带宽。
- InfiniBand:在服务器之间进行通信的主流技术,提供极高的吞吐量和极低的延迟,并支持GPUDirect RDMA等技术,让GPU可以直接访问其他服务器的内存,绕过CPU和操作系统。
- RoCE:一种基于以太网的技术,旨在在以太网上实现类似InfiniBand的性能。
这些“训练网”的核心目标是:最小化GPU之间的通信时间。
2. 为什么有些集群会省去“训练网”?
当一个集群选择只用普通以太网(比如10/25/100GbE)而不用InfiniBand或RoCE时,通常是基于以下几点考虑:
a) 工作负载需求:推理 vs. 训练
- 推理集群:推理通常是单向的——输入数据,输出结果。各个GPU节点之间几乎不需要通信。每个请求都是独立的,可以在任何一个GPU上完成。在这种情况下,花大价钱部署InfiniBand是巨大的浪费。一个高速的以太网用于数据传输和管理足矣。
- 小规模训练或微调:如果任务主要是对预训练模型进行微调,或者模型本身很小,可以塞进单个GPU服务器内(比如8卡A100/H100服务器),那么服务器内部的NVLink已经足够。服务器之间的通信需求很低,普通以太网就能满足。
b) 成本考量
- 硬件成本:InfiniBand的网卡、交换机的价格远高于同速率的以太网设备。
- 运维成本:InfiniBand需要更专业的知识进行配置、维护和故障排查。以太网则是每个IT工程师都熟悉的技术,运维更简单、成本更低。
c) 模型并行度要求低
分布式训练有两种主要方式:
- 数据并行:每个GPU都有完整的模型副本,处理不同的数据批次,然后定期同步梯度。这会产生大量的All-Reduce通信。
- 模型并行:当模型太大,单个GPU放不下时,需要将模型的不同层拆分到不同的GPU上。这会产生大量的点对点通信。
对于许多模型(尤其是几年前的主流模型),使用数据并行就足够了。虽然数据并行也需要同步梯度,但如果:
- 模型参数量不是特别巨大(比如小于10B参数)。
- 梯度同步的频率不是瓶颈(比如计算本身很耗时)。
- 集群规模不大(比如只有几台服务器)。
那么,使用高速以太网进行梯度同步带来的时间开销,在总的训练时间中占比可能可以接受。为了这点时间节省而投资昂贵的InfiniBand,投资回报率不高。
d) 历史或通用性原因
- “顺便”搭建的GPU集群:有些机构可能是在已有的、用于通用计算的高性能计算集群上,“顺便”增加了一些GPU节点。这个集群原本就是基于以太网设计的,没有为AI训练专门升级网络。
- 多用途集群:集群可能同时服务于AI训练、科学计算、大数据处理等多种任务。并非所有任务都需要超低延迟网络,因此选择了性价比更高的以太网作为统一的网络架构。
总结:有无“训练网”的典型场景对比
|
结论
所以,当你看到一个GPU集群没有配备“训练网”时,这通常不是一个错误,而是一个符合其定位的、合理的工程设计选择。它精准地服务于推理、小规模训练或对通信不敏感的工作负载,并在满足性能要求的同时,实现了成本效益的最大化。
对于立志于训练下一代万亿参数大模型的企业,投资InfiniBand是必须的。但对于90%以上的AI应用场景,一个设计良好的以太网GPU集群已经绰绰有余。