Soulmate-Halo/heterogeneous-gpu-pd-lab
使用稠密算力卡对稀疏大显存主机进行加速,主机包括 AI Max+ 395、M3 512G、DGX Spark 等。
TL;DR
Soulmate‑Halo/heterogeneous‑gpu‑pd‑lab 是一个研究级代码库,展示了如何在不同的 GPU 类型之间拆分大规模混合专家 (MoE) LLM 推理。它提供了 Docker 镜像、部署指南以及以下设置的原始基准数据:
- RTX 3080 + DGX Spark(在 Spark 上进行预填充,在两个 GPU 上联合解码)
- RTX 3080 + AI Max 395(预填充加速,在 iGPU/CPU 上解码)
- 六 GPU 流水线(两个 RTX 6000D 用于预填充,四个 DGX Spark 用于解码) 该仓库面向希望在异构 GPU 集群上进行实验,以加速 Qwen‑3.8‑Flash‑Next 和 DeepSeek‑V4.1‑Flash 等大规模 MoE 模型的预填充和解码的工程师。
项目是什么
| 方面 | 详情 |
|---|---|
| 目标 | 演示大型 MoE LLM 的实用异构 GPU 推理("PD" = 预填充‑解码拆分),并提供可复现的 Docker 镜像。 |
| 关键概念 | • 混合专家 (MoE) – 热点专家在快速 GPU 上运行,冷点专家在更大内存的 GPU/CPU 上运行。 • 预填充‑解码 (PD) 拆分 – 长提示在专用"P 阶段"GPU 集群上编码,然后将上下文移交给"D 阶段"集群进行生成。 • PP2 流水线 – 两阶段流水线(预填充→解码),每个阶段内使用张量并行 (TP)(例如,RTX 6000D 上的 TP2,DGX Spark 上的 TP4)。 |
| 支持的硬件 | RTX 3080、RTX 6000D、AI Max 395(iGPU + Zen5 CPU)、DGX Spark/GB10、NVIDIA H20(提及用于比较)。 |
| 使用的模型 | Qwen‑3.8‑Flash‑Next(125 B MoE)和 DeepSeek‑V4.1‑Flash(因果编码器‑解码器)。 |
| 工件 | • GitHub Container Registry 上的 Docker 镜像(例如,ghcr.io/soulmate-halo/heterogeneous-gpu-pd-lab/qwen38-flash-spark-3080:latest)。• 包含逐步命令的部署 README 文件。 • 原始基准 JSON/CSV 文件和 12 分钟讲解视频。 |
| 基准 | 在六 GPU 设置上预填充吞吐量高达 16 k tok/s,解码高达 ~442 tok/s;将 RTX 3080 与 Spark 结合使用时,解码速度提升 2‑3 倍。所有数字均为未调优的原始测量值(无额外优化)。 |
| 许可证 / 状态 | 摘录中未明确说明,但仓库似乎处于活跃状态(发布日期为 2026 年 10 月)。 |
可能对谁有用
| 受众 | 重要性 |
|---|---|
| ML 基础设施工程师 | 为异构集群提供即用型 Docker 镜像和清晰的部署脚本;在构建自定义 PD 流水线时可作为参考。 |
| 研究实验室 | 提供 MoE 模型在混合 GPU 硬件上的具体性能数据,有助于证明硬件采购的合理性。 |
| GPU 供应商 / 系统集成商 | 展示了 GPU 之间基于 RDMA 的专家交接的实际用例,可指导驱动程序或互连优化。 |
| 学生 / 爱好者 | 12 分钟视频和逐步指南降低了多 GPU MoE 推理实验的门槛。 |
如何开始(快速入门概述)
- 选择部署包 – 例如,RTX 3080 + Spark 组合的
qwen38-flash-spark-3080/。 - 拉取 Docker 镜像:
docker pull ghcr.io/soulmate-halo/heterogeneous-gpu-pd-lab/qwen38-flash-spark-3080:latest - 准备主机 – 安装匹配的 CUDA 13 驱动程序,启用 RDMA,并放置模型权重(不随镜像提供)。README 列出了确切的驱动版本和环境变量。
- 运行容器 – README 提供了一行
docker run命令,用于启动 API 路由器并启动 PD 服务。 - 测试 – 向暴露的端口发送 HTTP 请求;路由器会将预填充路由到 Spark,并将解码路由到 RTX 3080。
- 查看结果 – 容器会输出诊断信息,并且您可以下载 JSON 证据文件(
v2-metrics.json、performance-v2.json)。
限制 / 注意事项(按描述)
- 仅原始数据 – 仓库故意避免任何调优;实际部署可能需要额外优化。
- 不支持跨主机 KV 导出/导入 – 路由器无法在不重启请求的情况下将请求从 Spark 预填充转移到 3080 解码。
- 不包含模型权重 – 您必须自行获取 125 B Qwen 或 DeepSeek 权重(引用公开的 HuggingFace 链接)。
- 硬件特定 – 流水线依赖于 RDMA、特定的 PCIe/NVLink 配置以及列出的确切 GPU 型号。
- 基准可复现性 – 某些运行(例如 V2 解码)的日志缺失,因此精确复制可能需要联系作者。
结论
heterogeneous-gpu-pd-lab 是一个真正的、面向工程的开源项目,记录并提供了大规模 MoE LLM 异构 GPU 推理的可复现设置。对于那些希望超越单 GPU 部署性能极限的人,尤其是当长提示的预填充成为瓶颈时,它非常有价值。
所有陈述均直接取自提供的 README;未添加任何外部推测。
相关
- 项目
- 项目
- 项目
- 项目