☰
跨 Mac 张量并行:DwarfStar 如何用 RDMA 在两台 M5 Max 上拆分矩阵
2026/10/19 0:05:13 网站建设 项目流程

跨 Mac 张量并行:DwarfStar 如何用 RDMA 在两台 M5 Max 上拆分矩阵

【免费下载链接】ds4DeepSeek 4 Flash and PRO local inference engine for Metal, CUDA and ROCm项目地址: https://gitcode.com/GitHub_Trending/ds4/ds4

DwarfStar(ds4)是一个面向 DeepSeek V4 Flash / PRO 与 GLM 5.2 的原生本地推理引擎,支持 Metal、CUDA 与 ROCm 后端。它最惊艳的玩法之一,是跨 Mac 张量并行:用一根 Thunderbolt 5 线缆把两台 M5 Max MacBook 连起来,通过RDMA over Thunderbolt把每一层的矩阵计算拆到两块 GPU 上,让 128 GB 内存装不下的 4-bit 大模型以全内存驻留的方式跑起来——解码速度甚至比单机 SSD 流式加载还快 3 倍以上。

本文将带你从零理解这套机制:为什么拆"矩阵"而不是拆"层"、RDMA 如何接入 Thunderbolt、以及如何在两台 M5 Max 上完成部署与实测。

🤔 先搞懂:张量并行与流水线并行有何不同?

DwarfStar 提供两种多机方案,很多人会混淆:

流水线并行(Pipeline)张量并行(Tensor Parallel)
拆分单位按层切分,A 机跑 0-19 层,B 机跑 20 层之后按矩阵权重切分,两台机器同时计算同一个 token 的同一层
主要收益装下更大的模型、加速长文本 prefill降低每 token 延迟,让模型全量驻留内存
通信量每层传递完整隐状态每层仅在同步"门"处交换 16-24 KB 部分和
典型场景两台 Mac Studio 拼出 512 GB 跑 PRO Q4两台 M5 Max 拼出 256 GB 跑 188 GiB 的 GLM 5.2

关键区别在于:张量并行下,两台机器在同一时刻处理同一个 token。每个解码 token 内部,GPU 内核在图的同步点(gate)处交换各自算出的部分和,加起来才是完整结果。这就把"拆大模型"变成了"拼快机器"。

🧩 矩阵是怎么拆的:专家分片 + 图内同步门

张量并行的核心设计(实现见 ds4_tp.h):

  1. 路由专家对半分:每台机器各驻留连续一半的路由 MoE 专家权重,路由内核永远不触碰对方机器的专家——这正是能"拼内存"的原因。
  2. 其余权重复制:稠密层、注意力、共享专家、嵌入与输出头在两边各存一份;输出头则按词表行切分,worker 算完后把自己的 logits 半区回传给 coordinator。
  3. 同步门(Gate):Metal 图内每层埋入注意力门(DS4_TP_GATE_ATTN)与前馈门(DS4_TP_GATE_FFN)两个同步点。GPU 内核把部分和写入一块共享的"门板(gate slab)",协议层负责把它发给对端并等待对端数据落盘。
  4. 锁步镜像:coordinator 把每个session_sync/session_eval调用镜像给 worker,两台引擎执行完全一致的图序列,KV 缓存始终同步。

门板布局与帧协议完整定义在 ds4_tp.h,控制连接上的 HELLO/帧校验逻辑在 ds4_tp.c。值得注意的是RDMA 库是运行时dlopen加载的——没有 RDMA 栈的机器会自动回落到一条专用全双工 TCP 通道,零链接期依赖:

  • DeepSeek 的 gate 向量是 16 KB,恰好一次 RDMA 消息发完;
  • GLM 的 6144 维向量是 24 KB,会被拆成两条有序 RDMA 消息。

🔌 一键接入:RDMA over Thunderbolt 配置步骤

RDMA 走的是 Apple 的 Thunderbolt UC 队列对(AppleThunderboltRDMA驱动只支持双向 send/recv,不支持单边 WRITE,这些驱动怪癖都在 ds4_tp.c 中处理好了)。每次开机后,在两台机器上执行:

# 1. 提高 GPU 可钉住内存上限(默认约 75% RAM;专家分片需要 ~97.5 GiB + KV/scratch) sudo sysctl iogpu.wired_limit_mb=120000 # 2. 给 Thunderbolt 成员接口直接配 IPv4(桥接 IP 不算数)。 # 用 ifconfig 里 active 的那个接口,例如 A 机 en1、B 机 en6 sudo ifconfig en1 inet 10.99.0.2/30 alias # 机器 A sudo ifconfig en6 inet 10.99.0.1/30 alias # 机器 B

加载模型前先确认 verbs 设备:

rdma_ctl status ibv_devinfo -v

设备必须处于 active 状态并暴露上述地址的 IPv4-mapped GID(如::ffff:10.99.0.2)。IP 能 ping 通不代表 RDMA 已激活。

🚀 两步启动:worker 先行,coordinator 监听

两台机器需要相同的代码树、commit 和 GGUF 路径。张量并行固定 50/50 切分,因此不要传--layers。以 GLM 5.2 为例:

MODEL=gguf/GLM-5.2-UD-IQ2_XXS_RoutedIQ2XXS_blk78Q2K.gguf # 机器 B(worker):先启动,coordinator 加载期间会自动重试 ./ds4 -m "$MODEL" --tensor-parallel --role worker \ --coordinator 10.99.0.2 9911 --transport rdma # 机器 A(coordinator):监听 Thunderbolt 成员接口地址(不是桥接地址) ./ds4 -m "$MODEL" --tensor-parallel --role coordinator \ --listen 10.99.0.2 9911 --transport rdma -c 8192 \ -p "Tell me something about the sea."

常用参数:

  • --transport auto|rdma|tcp:默认自动探测,RDMA 不可用时回退 TCP;
  • --rdma-device rdma_en6 --rdma-gid-index 1:verbs 设备歧义时手动指定;
  • 启动耗时约 9 秒/台:每个 rank 从 SSD 预取自己的 ~100 GiB 分片并通过 Metal 驻留集钉住。

DeepSeek V4 Flash 用各自的 GGUF 即可完全同法运行。

📈 实测性能:两台 M5 Max vs 单机

官方在两台 M5 Max 128 GB 上测了 GLM 5.2(IQ2_XXS,188 GiB):

指标双机张量并行单机 SSD 流式
解码~16.8 t/s(4k 上下文 15.4)~4.8 t/s
prefill(4096 token)~94 t/s~3-5 t/s
驻留方式完全内存驻留专家从 SSD 流式加载

解码提速约 3.5 倍、prefill 提速约 20-30 倍,且代价只是一根雷雳线。作为对照,同硬件的流水线并行方案在长 prefill 上有 1.38x-1.85x 加速,但会损失约 19% 的解码速度——如果你的目标就是"又快又全量驻留",张量并行是更优解。

⚠️ 说明:拆分图是确定性的,但浮点归约顺序不同,结果不会与单机逐字节一致;这是所有张量并行系统的正常现象。

📚 源码与延伸阅读

想深入这套实现的读者,可以从这些文件入手:

  • 协议与门板设计:ds4_tp.h、ds4_tp.c
  • Metal 图内的 GPU 门回调机制:ds4_metal.m
  • MoE 路由内核(专家分片的执行侧):metal/moe.metal
  • 完整部署文档与网络对比(TB5/WiFi/VPN 实测表):README.md
  • 发布前测试矩阵(含张量并行回归项):QA_BEFORE_RELEASES.md
  • 单机构建基准数据与绘图脚本:speed-bench/README.md

总结

  • 张量并行 = 拆矩阵:两台 Mac 同时算同一个 token,每层只交换 16-24 KB 部分和;
  • RDMA over Thunderbolt是关键:微秒级延迟让"图内同步"几乎免费,不可用时自动回落 TCP;
  • 配置只需三条命令,启动只需 worker/coordinator 两条指令;
  • 收益显著:GLM 5.2 解码 ~16.8 t/s,比单机 SSD 流式快 3.5 倍,且完全内存驻留。

手上有两台 128 GB 的 Mac?一根 Thunderbolt 5 线缆,就是最便宜的"大显存"方案。

【免费下载链接】ds4DeepSeek 4 Flash and PRO local inference engine for Metal, CUDA and ROCm项目地址: https://gitcode.com/GitHub_Trending/ds4/ds4

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询