antirez/ds4 深度解读:专为 DeepSeek V4 Flash 打造的本地 Metal 推理引擎 — HN 163 分热帖

引言

2026 年 5 月 7 日,Redis 创始人 Salvatore Sanfilippo(antirez)在 Hacker News 上发布了一个让本地 AI 社区沸腾的项目:ds4.c — 一个专门为 DeepSeek V4 Flash 打造的本地 Metal 推理引擎。

短短几小时就冲上 HN 首页获得 163 分,社区最大的反应不是惊叹于性能数字,而是 antirez 选择了不做通用框架。在这个 GGUF 跑一切的时代,他反其道而行:只跑一个模型,只优化一个硬件平台。结果是一份只有 68 MB 的可执行文件,在 MacBook M3 Max 上达到了 58 tokens/s 的预填充速度和 26+ tokens/s 的生成速度。

为什么 antirez 要重新造轮子?

llama.cpp 已经如此成熟,为什么还要写一个全新的引擎?antirez 在项目文档中给出了答案:DeepSeek V4 Flash 是一个足够特殊的模型,值得一份专属的引擎

DeepSeek V4 Flash 是 DeepSeek 在 2026 年初发布的混合专家(MoE)模型,拥有 284B 总参数但每次推理仅激活约 27B 参数。它与传统密集模型有本质区别:

antirez 做了一个大胆的取舍:放弃通用性,换取对这一个模型的极致优化。这让他可以去掉所有框架抽象层,直接在 Metal 上写 shader,针对 DeepSeek V4 Flash 的特定张量布局做硬编码优化。

技术架构深度解析

68 MB 的极致精简

ds4.c 整个项目只有几千行 C 代码。编译出来的可执行文件仅 68 MB 左右。对比之下,llama.cpp 在包含所有量化内核和算子后要大得多。这种精简不是因为功能少,而是因为只为一个模型、一个量化方案、一套硬件优化

KV Cache 磁盘化的设计哲学

ds4.c 最引人注目的设计决策是:KV Cache 是磁盘的一等公民,而不是必须常驻内存。antirez 认为,DeepSeek V4 Flash 的高压缩率 KV Cache 配合现代 MacBook 极快的 SSD,应该改变我们"KV Cache 必须属于 RAM"的固有思维。

这意味着在长上下文推理时,ds4.c 可以将 KV Cache 写到 SSD,在需要时才按需加载。对于 100 万 token 的长上下文,这种设计大幅降低了内存需求。

异步非对称量化策略

ds4.c 的 2-bit 量化不是简单的全局量化为 2 比特。它采用了高度不对称的策略:

这种精心设计的非对称量化在保持质量的同时,把模型尺寸压缩到可以在 128GB MacBook 上跑的程度。antirez 特别强调:这不是开玩笑的 2-bit,它在 coding agent 下表现可靠,能正常调用工具。

MTP 投机解码支持

ds4.c 还实验性地支持 Multi-Token Prediction (MTP) / 投机解码,通过一个额外的 draft GGUF 文件来实现。当前版本提供的加速有限,但 antirez 将其标注为实验中,预计后续会有优化。

性能基准测试数据

以下是官方公布的 benchmark,使用 q2 GGUF、32K 上下文、无 thinking 模式、贪心解码:

机器配置 Prompt 预填充 (t/s) 生成 (t/s)
MacBook Pro M3 Max, 128GB 短文本 58.52 26.68
MacBook Pro M3 Max, 128GB 11709 tokens 250.11 21.47
Mac Studio M3 Ultra, 512GB 短文本 84.43 36.86
Mac Studio M3 Ultra, 512GB 11709 tokens 468.03 27.39

值得注意的是生成时的功耗:M3 Max 峰值约 50W,而其他模型在同一硬件上通常达到 150W。这使得 ds4.c 在能效方面也极具竞争力。

本地部署实战指南

硬件要求

目前 ds4.c 仅支持 Apple Silicon Mac:

CPU 路径可用于正确性验证,但 macOS 虚拟内存实现有 bug,CPU 推理会崩溃内核需要重启机器,所以不推荐使用。

安装步骤

第一步:下载 GGUF 模型

git clone https://github.com/antirez/ds4.git
cd ds4
./download_model.sh q2   # 128GB RAM 机器选 q2
# 或
./download_model.sh q4   # 256GB+ RAM 机器选 q4

脚本从 HuggingFace 下载模型,支持断点续传。可选下载 MTP 模型:./download_model.sh mtp

第二步:编译

make

第三步:运行 CLI 推理

./ds4 -m ./gguf/ds4flash.q2.gguf --ctx 32768

第四步:启动 HTTP API 服务器

./ds4-server -m ./gguf/ds4flash.q2.gguf --ctx 65536

服务器默认监听 8080 端口,支持 OpenAI 兼容的 API 接口,可以无缝接入任何支持 OpenAI API 的客户端或 coding agent。

与 Coding Agent 集成

ds4 提供了 HTTP API 服务器,可以直接接入 Claude Code、Codex 等 coding agent。antirez 的核心理念是:本地推理应该是三个组件协同工作:

他使用 GPT 5.5 辅助开发了项目的大量代码,所以对 AI Agent 集成有天然的实践理解。

社区反响与深度讨论

HN 上的讨论集中在几个有趣的方向:

专业化的代价 vs 收益:有开发者指出自己做了类似的事情(为 Qwen3 定制引擎),但担心模型淘汰后一切重来。antirez 的回应很实在——他明确说引擎可能随模型更新而改变,但目标是让一个模型在本地做到 end-to-end 完善。

Metal 优化难度:多位有 Metal 编程经验的 HN 用户指出,LLM 写的 Metal shader 质量通常很差,编写高效的 GPU shader 是非常专业的工作。这恰恰解释了为什么 ds4.c 很小但效果很好——针对特定模型的手写优化。

功耗对比:一个有趣的讨论支线是关于数据中心 vs 本地的能源效率。DS4 Flash 在 M3 Max 上峰值 50W,而在数据中心运行等效模型可能需要更高功耗。评论区还有人提到,家里如果有热泵,冬天的 GPU 算力甚至可以充当热源。

与 llama.cpp 的关系:antirez 特别注明了感谢 llmama.cpp 和 GGML 项目。ds4.c 保留了部分 GGUF 量化布局、CPU quant/dot 逻辑和某些 Metal 内核的代码(MIT 协议),但他没有链接 GGML 库,而是自己实现了完整的推理路径。

对本地 AI 的启示

ds4.c 传递了一个更有趣的信号:本地推理可能正在从"万能框架"走向"模型专用引擎"

传统上开发者追求一个框架跑所有模型(llama.cpp、MLX、llamafile 等)。但 antirez 的路线提出了一个问题:如果一个模型值得本地运行,那它是否值得一个专门的引擎?

这种路线的优势很明显:

代价也同样明显:模型更新后需要重写适配。但对于像 DeepSeek V4 Flash 这样的明星模型,花这份代价可能很值得。

总结

antirez/ds4 是 2026 年 5 月本地 AI 社区最令人兴奋的开源项目之一。它不是又一个框架,而是一个经过深思熟虑的声明:当工具足够好时,放弃通用性换取极致优化的模型专用引擎是一种值得的选择

对于拥有高配 Mac(128GB+ RAM)的开发者,ds4.c 提供了当前最好的 DeepSeek V4 Flash 本地推理体验。配合 HTTP API 接入 coding agent,这就是一台完全本地、私有的准前沿 AI 工作站。

项目地址:github.com/antirez/ds4

HN 讨论:news.ycombinator.com/item?id=48050751