2026 年 antirez 的 ds4 让 DeepSeek V4 Flash 真能跑在本地 Mac
96GB UMA 门槛、磁盘 KV 缓存与远程高内存 Mac 的破局路径

Redis 之父 antirez(Salvatore Sanfilippo)用一周时间写出的一千多行 C 代码 ds4(DwarfStar 4),让 DeepSeek V4 Flash 第一次真的能跑在一台 Mac 上——开源不到三周已经攒下 11,500+ Star、30 名贡献者。但要把它跑起来的硬门槛同样很硬:96GB 统一内存是底线、128GB 才舒适,对应一台起步价 ¥3 万、顶配 ¥10 万+ 的 Mac Studio。这篇文章不再重复一遍 README,而是把三件事讲透:① ds4 为什么不是又一个 llama.cpp 包装、② 为什么 Apple Silicon UMA 决定了 Metal 是首要后端、③ 在不买 Mac Studio 的情况下,怎样用一台远程高内存 Mac 节点立刻上手 ds4

01

一周 11.5k Star 的同时,是一道 12 万的硬件墙

ds4 上线不到三周(创建于 2026-05-06)已经积累 11,500+ Star、30 名贡献者,纯 C 实现、MIT 协议。但真正动手编一遍、起 server 的人远少于 Star 数——下面六个症状是几乎每个想试 ds4 的人都会撞上的真实障碍。

  1. 01

    本地 MacBook Pro 内存压根不够:14"/16" MacBook Pro 默认 16/24/36GB,标配根本进不了 ds4 的门,连 q2 量化的 81GB 权重都装不下。

  2. 02

    「升内存」并不便宜:把一台 MacBook Pro 升到 64GB 仍不够;升到 96GB / 128GB 需要顶配 M3/M4/M5 Max,差价直接以 ¥1 万–¥2 万计。

  3. 03

    Mac Studio 不是「想买就能买」:128GB Mac Studio 起步 ¥3 万+;512GB M3 Ultra 顶配做 V4 Pro 的尝试动辄 ¥10 万+,对独立开发者并不友好。

  4. 04

    Windows / Linux 工作站方案绕远:消费级 GPU 单卡 24/32GB VRAM 撑不起 ds4 的内存账;DGX Spark 类设备成本与门槛比 Mac 更高。

  5. 05

    团队共用一台高配 Mac 很麻烦:常驻一个 ds4-server 就吃满内存,多人轮流用得排队、还容易互相污染会话状态。

  6. 06

    买了之后跑半年又换模型:ds4 自评 alpha 质量,DeepSeek V4 Flash 也是 preview——为「试新模型」买一台 ¥10 万的 Mac,资产折旧风险高。

这六条凑在一起的结论很清楚:软件已经准备好,硬件还没追上。ds4 把「在 Mac 上本地跑 DeepSeek V4 Flash」从「不可能」变成了「可能」,但「能跑」和「人人能跑」之间,隔着一台 Mac Studio 的发票。

02

ds4 不是又一个 llama.cpp:专属设计 + 2-bit 非对称量化 + 磁盘 KV 缓存

想清楚 ds4 的边界,比想清楚它能做什么更重要。antirez 在 README 里写得非常直白:ds4 不是通用 GGUF runner、不是别的运行时的包装、也不是框架。它只做一件事——把 DeepSeek V4 Flash 在 Metal/CUDA 上跑得又快又准——然后把这一条做到极致。下面这张表把它和你已经熟悉的本地推理方案放在一起,能看清各自的取舍。

方案目标模型范围最适合的场景关键限制
ds4 (DwarfStar 4)仅 DeepSeek V4 Flash(专属 GGUF)把 V4 Flash 跑到本机能给出的最高速度,配合编码 Agent 持续使用不通用、alpha 质量、96~128GB 内存起步
llama.cpp几乎所有主流 GGUF每周换模型试,关注通用性与跨平台对 V4 Flash 的专属优化与持久化 KV 不如 ds4
Ollama主流 GGUF + 一键拉取团队共用本地模型,封装好 API性能与可控性夹在中间,长上下文场景受限
vLLM / SGLang大多数 HuggingFace 权重云端多卡部署、共享团队 endpoint本地 Mac 不是首要目标,跑不动单机大模型
云端 API(如 DeepSeek 官方)全精度 V4 Flash / Pro无需关心硬件、要最高质量数据要发出去、按量计费、对长会话不友好

ds4 真正的工程差异有三件:第一是专属图执行器——围绕 V4 Flash 的张量布局、tokenizer、MoE 路由逐项写死,跑得比通用 runner 更快;第二是2-bit 非对称量化——把激进的低位精度压在「路由 MoE 专家」这类容忍误差的层(如 IQ2_XXS / Q2_K),关键层仍保留更高精度,于是 81GB 的 q2 权重能塞进 128GB 内存还能稳定跑工具调用;第三是磁盘 KV 缓存——按 token IDs 的 SHA1 索引,会话切换乃至 server 重启都保留,意味着一次昂贵的 25k token 首次 prefill 只付一次。

ds4 把「本地跑 V4 Flash」从一句口号变成一条可工程化的路径:少做一切别的事,把这一条做到 Apple Silicon 与 CUDA 上能跑的极限。

03

为什么 Metal 是首要后端:Apple Silicon UMA 是其他平台学不来的

如果你看过 ds4 的 backends 文档会注意到一个细节:Metal 是默认且首要的后端,CUDA 紧随其后(且特别关注 DGX Spark / GB10),ROCm 只在独立分支里跟进,CPU 路径仅用作正确性校验。这个排序不是抽签得来的,它和 Apple Silicon 的统一内存架构(UMA, Unified Memory Architecture)直接相关。

在 Mac 上,CPU 与 GPU 共享同一块物理内存。这意味着 81GB 的 q2 GGUF 加载进系统时不需要在「主内存 → 显存」之间做一次完整拷贝,张量直接被 GPU 读取;激活、KV 状态、tokenizer 临时缓冲都在同一块地址空间里,Metal kernel 可以直接动手。对于 ds4 这种每 token 都要触碰大量稀疏专家权重的 MoE 推理,少了拷贝意味着少了不可避免的延迟下限。

反观传统离散 GPU 方案:32GB 消费级显卡当然装不下 81GB GGUF;切到 80GB H100 又意味着你需要一整台数据中心机器与配套散热——更不必说在「Mac 装在桌上」的产品形态里复制一份。这正是为什么 antirez 把 Metal 放在第一位、把 CUDA 的优化主要投在 DGX Spark / GB10 这类「统一内存形态的 NVIDIA 平台」上:他在追求的不是另一种推理框架,而是把当前消费级硬件里唯一具备「大内存可被 GPU 直接吃」的产品形态用满

bash
# 在一台 Apple Silicon Mac(96/128GB UMA)上从零编译并启动 ds4
git clone https://github.com/antirez/ds4.git
cd ds4
make                        # 默认 Metal 后端

# 下载 DeepSeek V4 Flash 的 q2-imatrix GGUF
./download_model.sh q2-imatrix    # 体积 ~81GB,存入 ./gguf/,默认指向 ./ds4flash.gguf

# 起 server:100k 上下文 + 8GB 磁盘 KV 缓存
./ds4-server --ctx 100000 \
             --kv-disk-dir /tmp/ds4-kv \
             --kv-disk-space-mb 8192
# 默认监听 http://127.0.0.1:8000/v1/chat/completions(OpenAI 兼容)

运行起来后,把 Claude Code / Cursor / opencode 这类编码 Agent 的 OpenAI base URL 改成 http://127.0.0.1:8000/v1,就拿到了一条完全离线、不出本机的 V4 Flash 推理通路,权限边界天然落在本机。

04

内存清单的真相:96GB 是地板、128GB 才舒适、1M 上下文再吃 26GB

在做硬件采购或租赁决策前,把 ds4 真实的内存账重新摆一次比看任何 benchmark 都重要。Flash q2 量化后的 GGUF 大约 81GB 落在磁盘;加载到内存里再加上激活、tokenizer、Metal kernel 缓冲,96GB UMA 是社区报告的可行下限,有人甚至把上下文窗口推到 250k;128GB 才是 antirez 在 README 里反复推荐的舒适配置。如果你想把上下文推到接近 1M token(DeepSeek V4 系列的天花板),仅 indexer 一项就要再吃约 22GB,整体 KV 额外占用 ~26GB——这是 128GB 内的硬挤压,100~300k 的上下文窗口在 128GB 上是更稳的选择

形态统一内存能否跑 ds4 (V4 Flash q2)能拉多大上下文
MacBook Pro 标配(16~36GB)16 / 24 / 36GB,连权重都装不下
MacBook Pro 中配(48~64GB)48 / 64GB,权重就把内存吃满
MacBook Pro M3/M4/M5 Max 96GB96GB勉强可行,需杀掉其他重内存进程社区报告可到 ~250k
Mac Studio / MacBook Pro 128GB128GB舒适,留出 Agent / IDE 余量100~300k 较稳
Mac Studio M3 Ultra 256GB+256GB+很舒服,可同时跑长会话与持久 KV可冲击接近 1M token
Mac Studio M3 Ultra 512GB(V4 Pro 尝试)512GB暂不支持,ds4 当前只面向 Flash
info

提示:磁盘 KV 缓存让首次 prefill 一次付清——把 --kv-disk-dir 放到 Mac 自带的高速 SSD 上,会话切换、server 重启甚至跨天复用都能省下成千上万 token 的 prefill 成本,这是 ds4 与传统推理服务最本质的体验差。

warning

注意:antirez 在 README 中明确警告,当前 macOS 版本在 CPU 路径上的虚拟内存实现会引发内核崩溃,必须用 Metal 后端,不要make cpu 构建在 macOS 上跑推理;这也是 Apple Silicon + Metal 在 ds4 路线图里没有 fallback 的现实原因之一。

05

硬核数据:从模型规模、量化体积到「12 万的硬件墙」

下面这组数据来自 ds4 README、DeepSeek-V4-Flash 模型卡与社区实测,一起回答一个问题:「我现在的 Mac 到底缺多少」

  • 数据 1 · 模型规模:DeepSeek-V4-Flash 总参数 284B、激活 13B,原生上下文 1M token;DeepSeek-V4-Pro 是 1.6T 总参数 / 49B 激活 的 MoE 巨兽——ds4 当前只面向 Flash,Pro 暂时只能走云端 vLLM/SGLang。
  • 数据 2 · 量化体积:ds4 推荐的 q2-imatrix GGUF 约 81GB 落盘。q2 的关键技巧是非对称分布:路由 MoE 专家的 gate 走 IQ2_XXS、down 走 Q2_K,整体在 96~128GB UMA 上「能装下、还能跑工具调用」。
  • 数据 3 · 内存账:1M token 完整上下文需要额外约 26GB(仅 indexer 就 ~22GB),在 128GB 内存里挤上权重 + indexer + KV + 系统进程,100~300k token 才是 128GB 的实际舒适区
  • 数据 4 · 硬件成本:能稳跑 ds4 的形态:96GB MacBook Pro M3/M4/M5 Max ≈ ¥3 万起128GB Mac Studio ≈ ¥3 万+256GB Mac Studio Ultra ≈ ¥6 万+512GB Mac Studio M3 Ultra 顶配 ≈ ¥10 万+,这是「为试新模型」付出的全部本金。
  • 数据 5 · 项目状态:ds4 创建于 2026-05-06,最近更新 2026-05-24,11,593 Star、30 名贡献者、纯 C 实现、MIT 协议。作者明确标注 alpha 质量,意味着未来几个月接口与权重格式仍可能变动,资产化为「一台 Mac」的折旧风险不应被忽视。

把上述数字翻译成决策:自购 Mac Studio 顶配把 ¥6~10 万资产长期压在「alpha 引擎 + preview 模型」上;走云端 API 能拿全精度,但数据要发出去、长会话被 prefill 吞掉计费,本机 Agent 与权限边界也不在你手里。对既要 ds4 + V4 Flash 的「真本地推理」、又不愿把预算押在易贬值高配 Mac 上的开发者,NodeMini 的 Mac Mini 云端租赁通常是更优解:SSH 接入即用、跑完即停、数据全程在你专属实例,规格与计费见租赁价格说明,签约细节可参考SLA 与签约要点

06

落地:用一台远程高内存 Mac 节点,把 ds4 从 README 跑成可日常使用的本地推理

下面这套顺序,是「不买顶配 Mac、也要立刻体验 ds4 + V4 Flash」的最小路径。每一步都对应前文里被讨论过的一个限制,按顺序走完,整套流程不超过两小时即可拿到一条 OpenAI 兼容的本地推理 endpoint。

  1. 01

    选规格:先按「128GB 起步」反推:2-bit 量化 + ~100k 上下文需要 128GB 才舒适,跑接近 1M 上下文则按 256GB+ 选;不要图便宜挑 96GB,否则 IDE / Agent / 浏览器一起开就崩。

  2. 02

    开通一台 NodeMini 高内存 Mac 节点:算力订购页面按目标内存、地区与时长选规格;秒级拨备,开通后即给一对 SSH 凭据,本地用 ssh user@host 接入。

  3. 03

    在节点上拉源、装依赖、编译:git clone https://github.com/antirez/ds4.git && cd ds4 && make,Apple Silicon 上默认就走 Metal;macOS 不要尝试 make cpu,README 已明确警告内核崩溃风险。

  4. 04

    下载 q2-imatrix GGUF 并设置磁盘 KV 缓存:用项目自带的 download_model.sh 拉 q2 / q2-imatrix / q4 之一;把 --kv-disk-dir 指向节点本地 SSD 的固定目录,把 --kv-disk-space-mb 给到 8~32GB,让磁盘 KV 真正生效。

  5. 05

    把 ds4-server 接到你的编码 Agent:启动 ./ds4-server --ctx 200000 --kv-disk-dir ... --kv-disk-space-mb 16384 后,把 Claude Code / Cursor / opencode 的 OpenAI base URL 指向节点的 http://127.0.0.1:8000/v1(建议走 SSH 端口转发,不要把端口对外暴露);OpenAI / Anthropic 工具协议 ds4 原生兼容。

  6. 06

    固化访问拓扑:SSH 公私钥 + Tailscale 等私有隧道把节点收进零信任内网;不再用就「停机不计费」,要长期跑就配 launchd 让 ds4-server 开机自启,搭配持久 KV 缓存做到「换天接着用」。

走完这六步再看自购 Mac Studio,几个局限就清楚了:折旧锁在「alpha 引擎 + preview 模型」上、本机长期跑 ds4 与日常工作抢内存、团队共享又退化成排队。对希望把 ds4 + V4 Flash 当作日常生产力工具、同时把折旧风险按需摊薄的开发者,把高内存 Mac 推到云端独占节点、用 SSH 接入做主线,NodeMini 的 Mac Mini 云端租赁通常是更优解:与 三年 TCO 决策24/7 自动化 等场景一一对应,SSH 细节见帮助中心

FAQ

常见问题

目前不能。ds4 是 DeepSeek V4 Flash 专属推理引擎,Flash 总参数 284B、激活 13B;V4 Pro 是 1.6T 总参数、49B 激活的 MoE,量化后体积远超主流 Mac 的统一内存。Pro 短期内只能依赖云端 vLLM / SGLang 类方案。

作者把 96GB 列为底线,社区有人在 96GB Mac 上跑通了 2-bit 量化甚至 250k 上下文;但要稳跑、留出 Agent 与 IDE 的余量,128GB 才舒适。要把上下文推到接近 1M token,还要再为 indexer 预留约 26GB,128GB 就吃紧了——稳健做法是按 256GB+ 规格选节点,可参考 租赁价格说明

租用 NodeMini 的高内存 Mac 节点是目前最直接的路径:SSH 接入后 git clonemake、下载 GGUF、./ds4-server 启动即可,整个过程不超过两小时;接入方式与节点选择细节见 帮助中心,长会话与 AI Agent 常驻的最佳实践可参考 24/7 云端 Mac 自动化业务流