双 DGX Spark 互联实测:桌面级集群能跑多大的模型
两台 DGX Spark 通过高速互联组成小集群,实测在张量并行与流水线并行下的可用模型规模和吞吐。
桌面级 AI 设备做集群是这两年的新玩法。两台 DGX Spark 通过高速链路互联,能不能撑起 70B 级别的推理,是我最想验证的问题。
硬件配置
- 两台 DGX Spark,各带统一内存架构的加速器
- 互联走设备自带的高速端口,直连不经交换机
- 软件栈:标准 CUDA + NCCL,容器化部署
关键约束
统一内存架构是这类设备的特点,也是限制。CPU 和加速器共享内存池,好处是能装下超出显存的模型,坏处是带宽远低于独立显存。这意味着:
- 小模型(<13B)跑得很快,完全在加速器带宽内
- 中等模型(30B 左右)开始感受到带宽瓶颈
- 大模型(70B+)能装下,但吞吐会明显下降
实测结果
| 模型规模 | 单机 | 双机 TP=2 | 备注 |
|---|---|---|---|
| 8B | 快 | 略慢 | 双机反而有通信开销 |
| 32B | 可用 | 明显更快 | 收益明显 |
| 70B INT4 | 勉强 | 可用 | 带宽是瓶颈 |
双机对 32B 这一档收益最明显——单机装不下或勉强装下,双机后有余量跑并发。70B 能跑起来,但吞吐受统一内存带宽限制,不适合高并发场景。
适用场景
这类小集群的定位很清楚:
- 个人研究和小团队:预算有限,需要跑中等规模模型
- 原型验证:在正式上集群前验证并行策略
- 低并发服务:内部工具、实验性应用
不适合:高并发生产服务、需要极致延迟的场景。
踩过的坑
- NCCL 默认拓扑检测对这类设备不一定最优,需要手动指定互联路径
- 容器内访问统一内存需要特定配置,否则会退化成普通内存拷贝
- 散热:两台设备近距离摆放会互相影响,持续负载下都要留出散热空间
结论
双 DGX Spark 在 32B 这一档是性价比很高的方案。70B 能跑但不要期待高吞吐。把它当成“能装下大模型的实验平台”而不是“生产推理服务器”,预期就对了。