发布时间:2026/9/2 9:09:30
跨 Mac 张量并行:DwarfStar 如何用 RDMA 在两台 M5 Max 上拆分矩阵 跨 Mac 张量并行DwarfStar 如何用 RDMA 在两台 M5 Max 上拆分矩阵【免费下载链接】ds4DeepSeek 4 Flash and PRO local inference engine for Metal, CUDA and ROCm项目地址: https://gitcode.com/GitHub_Trending/ds4/ds4DwarfStards4是一个面向 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路由专家对半分每台机器各驻留连续一半的路由 MoE 专家权重路由内核永远不触碰对方机器的专家——这正是能拼内存的原因。其余权重复制稠密层、注意力、共享专家、嵌入与输出头在两边各存一份输出头则按词表行切分worker 算完后把自己的 logits 半区回传给 coordinator。同步门GateMetal 图内每层埋入注意力门DS4_TP_GATE_ATTN与前馈门DS4_TP_GATE_FFN两个同步点。GPU 内核把部分和写入一块共享的门板gate slab协议层负责把它发给对端并等待对端数据落盘。锁步镜像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_mb120000 # 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 为例MODELgguf/GLM-5.2-UD-IQ2_XXS_RoutedIQ2XXS_blk78Q2K.gguf # 机器 Bworker先启动coordinator 加载期间会自动重试 ./ds4 -m $MODEL --tensor-parallel --role worker \ --coordinator 10.99.0.2 9911 --transport rdma # 机器 Acoordinator监听 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 1verbs 设备歧义时手动指定启动耗时约 9 秒/台每个 rank 从 SSD 预取自己的 ~100 GiB 分片并通过 Metal 驻留集钉住。DeepSeek V4 Flash 用各自的 GGUF 即可完全同法运行。 实测性能两台 M5 Max vs 单机官方在两台 M5 Max 128 GB 上测了 GLM 5.2IQ2_XXS188 GiB指标双机张量并行单机 SSD 流式解码~16.8 t/s4k 上下文 15.4~4.8 t/sprefill4096 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.cMetal 图内的 GPU 门回调机制ds4_metal.mMoE 路由内核专家分片的执行侧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),仅供参考

相关新闻

2026/9/2 9:09:30

迭代精修思维:为什么stitch-skills中编辑优于重新生成

迭代精修思维:为什么stitch-skills中编辑优于重新生成 【免费下载链接】stitch-skills A library of Agent Skills designed to work with the Stitch MCP server. Each skill follows the Agent Skills open standard, for compatibility with coding agents such …

2026/9/2 9:24:33

AGV惯性导航与PGV传感器融合:实现高柔性无轨搬运的工程实践

简介:本资源是一套基于STM32F4平台实现的惯性导航AGV定位与运动控制系统完整工程,面向嵌入式开发工程师、智能车竞赛团队及机器人定位算法学习者,聚焦多传感器融合下的高精度实时位姿估计与Lyapunov稳定控制问题。压缩包含196个文件&#xff…

2026/9/2 9:24:33

基于Arduino的模型火箭推力矢量控制系统设计与实现

简介:本资源是一套面向电子工程与航天爱好者、高校自动化/测控专业学生的模型火箭智能飞行控制实践方案,聚焦推力矢量这一高阶飞行控制技术,解决传统模型火箭姿态不稳定、轨迹偏差大等实际问题。压缩包共18个文件(4.68MB&#xff…

2026/9/2 9:24:33

AI API代理使用风险解析:从Claude封号事件看工程化集成安全

最近,一个在开发者圈子里流传的消息引起了不少讨论:有用户因为使用 Claude 代理工具接入其他模型,导致其 Anthropic 账户被封禁。这听起来像是一个简单的“违规使用”案例,但背后折射出的,其实是当前 AI 应用生态中一个…

2026/9/2 9:24:33

Python比较运算符深度解析:从==与is区别到自定义对象比较

你是不是觉得Python的比较运算符很简单&#xff0c;不就是 、 ! 、 > 、 < 这些符号吗&#xff1f;很多初学者在学完基础语法后&#xff0c;都会产生这种错觉&#xff0c;认为比较运算无非就是“相等”或“大小”&#xff0c;看一眼就会了。 但现实是&#xff…

2026/9/2 9:24:33

PyTorch多模态情感分析工程落地实践

简介&#xff1a;本资源是一套面向人工智能初学者与多模态学习实践者的PyTorch开源项目&#xff0c;聚焦文本与图像双通道融合的情感分析任务&#xff0c;适用于高校课程设计、竞赛备赛及科研入门场景。压缩包共22个文件&#xff08;325KB&#xff09;&#xff0c;含7个核心Pyt…

2026/9/2 9:19:33

LLM化Linux:用自然语言命令行开启智能运维与知识库实践

你大概也遇到过这样的情况&#xff1a;刚装好 Linux&#xff0c;打开终端&#xff0c;看到的不是欢迎界面&#xff0c;而是一个闪烁的光标。你知道自己要做点什么&#xff0c;但“下一步”到底是apt还是yum&#xff0c;systemctl还是service&#xff0c;chmod 777到底能不能用&…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出&#xff0c;第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器&#xff0c;出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台&#xff0c;直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流&#xff1a;为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历&#xff1a;明明传感器本身性能很好&#xff0c;信号输出却一塌糊涂——噪声大、漂移明显、重复性差&#xff0c;怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起&#xff0c;其实就是嵌入式开发里最常遇到的一类需求&#xff1a;用一块不算贵的 MCU&#xff0c;同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控&#xff0c;主频…

2026/9/2 0:03:41

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/2 0:03:41

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

这次我们来看一个很实用的 DeepSeek 落地场景&#xff1a;用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务&#xff0c;标题写得很直白&#xff0c;但背后其实是一整套可以复用的技术流程&#xff1a;字幕解析、模型调用、批量…

2026/9/2 0:03:41

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

当你家里摆着一台天猫精灵&#xff0c;却总希望语音助手偶尔“不正经”一点&#xff0c;不用官方腔回答问题&#xff0c;而是张口就接几句搞笑段子&#xff0c;会是什么体验&#xff1f;我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱&#xff0c;而是直…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…