3台DGX Spark和2张RTX 5090组成集群来加速推理,核心原理是 "模型并行" ,并通过 "计算库优化" 来降低通信开销。这并非简单的模型分"层",而是一种更精细、高效的分布式计算策略。
1. 为什么需要这种异构集群?------优势互补
这个方案的核心思路,是利用不同硬件的优势来处理模型的不同部分:
-
DGX Spark (GB10) :拥有高达 128GB 的统一内存。它的优势在于海量显存,可以加载单个RTX 5090(32GB)无法容纳的超大模型。
-
RTX 5090 :计算速度极快,解码(token generation)速度据称是DGX Spark的 6.5倍 。它的优势在于极致的算力。
两者的结合,理论上可以实现"用Spark承载大模型,用5090加速计算"的理想效果。
2. 核心原理一:模型并行------不止是"分层"
模型并行是将一个模型拆分到多个GPU上协同计算。针对你的"3台Spark + 2张5090"异构集群,主要会用到以下几种策略:
-
张量并行 (Tensor Parallelism, TP) :这是最核心的策略。它将模型同一层内部的参数(权重矩阵)切成碎片,分配到不同GPU上。所有GPU处理相同的输入数据,最后通过通信合并结果。这能有效解决单卡显存不足的问题。
-
流水线并行 (Pipeline Parallelism, PP) :将模型的不同层分成多个阶段,分配到不同GPU上。数据像一个流水线一样,依次经过各个GPU处理。
-
专家并行 (Expert Parallelism, EP):如果模型是MoE(混合专家)结构,可以将不同的"专家"网络分配到不同GPU上。
在一个异构集群中,通常会混合使用这些策略。例如,可以将模型的计算密集型部分(如Attention层)通过张量并行 分配到2张5090上加速,而将其他层或"专家"网络通过流水线并行 或专家并行分配到3台Spark上。
3. 核心原理二:计算库优化------让集群"说同一种语言"
模型并行带来了巨大的通信开销 ,GPU之间需要频繁同步数据。为此,需要依赖NVIDIA的NCCL (NVIDIA Collective Communications Library)库。它专为多GPU通信优化,能充分利用 RDMA (远程直接内存访问)和 RoCEv2 等高速网络技术,实现低延迟、高吞吐的数据传输。
要让这个异构集群高效工作,关键在于软件框架的支持。目前社区已有一些探索:
-
TensorRT-LLM on DGX Spark :这是最直接的方案,已有开源项目支持在DGX Spark集群上部署TensorRT-LLM,并利用张量并行进行推理。
-
vLLM 多节点部署:vLLM本身支持多节点分布式推理,也有开源项目提供了在DGX Spark上部署vLLM集群的Docker Compose配置。
-
EXO 异构集群 :这个框架专门为异构硬件设计,曾有成功将DGX Spark与Mac Studio混合组网实现2.8倍加速的案例。
总结
实现"3台DGX Spark + 2张5090"的推理加速,其本质是通过模型并行技术(特别是张量并行)将大模型分布到异构GPU上 ,并借助NCCL等计算库优化跨设备通信。其挑战在于软件配置的复杂性,以及如何为特定模型找到最优的并行策略组合。