Redis 之父 Salvatore Sanfilippo(antirez)于 2026 年 5 月 7 日在 GitHub 发布了 ds4.c——一个专为 DeepSeek V4 Flash 打造的本地推理引擎。这不是又一个 llama.cpp 的 wrapper,而是一个"故意做窄"的极端优化项目:只跑一个模型,只支持 Apple Silicon,只走 Metal 路径。antirez 在 README 中开宗明义:"这不是通用 GGUF 加载器,不是框架,不是包装层。"

为什么值得单独造一条"高速公路"?

DeepSeek V4 Flash 发布于 2026 年 4 月 24 日,总参数 284B,激活参数仅 13B,上下文窗口 100 万 token。antirez 将其定位为"准前沿"(quasi-frontier)模型,理由很具体:

  1. 思考模式可控:在 thinking 模式下,V4 Flash 的思考链长度仅为其他模型的 1/5,且与问题复杂度成正比——这在其他模型上几乎无法实用
  2. 知识边界更深:284B 参数在边缘知识采样时明显优于 27B/35B 密集模型
  3. 多语言能力突出:英语和意大利语写作质量显著优于同档模型
  4. KV Cache 压缩率极高:支持磁盘持久化,为长上下文本地推理提供了物理基础
  5. QAT 训练友好:模型原生支持激进量化,2-bit 下仍能保持工具调用可靠性

这种"准前沿"定位意味着它既不像 70B 密集模型那样"勉强够用",也不像 405B 模型那样对硬件要求苛刻到无法本地运行。antirez 的原话是:"这是第一次,我感觉自己的电脑上跑着一个前沿模型。"

三大工程杀招

1. 非对称 2-bit 量化:只压"该压"的地方

业界对 2-bit 量化的普遍担忧是模型会开始幻觉、工具调用崩坏。ds4.c 的解法不是"全压",而是只量化路由 MoE 专家层

效果:Q2 量化后模型约 76GB,可在 128GB 统一内存的 MacBook Pro M3 Max 上运行,且通过官方 API logits 比对验证,数值偏差在可用范围内。antirez 在 Hacker News 上解释,这很大程度上归功于 DeepSeek 的 QAT(Quantization-Aware Training)训练——量化误差被直接纳入学习过程。

这种"非对称"策略与业界通行的"全模型统一量化"思路截然不同。通用框架为了兼容性,必须对所有模型一视同仁;而 ds4.c 因为只服务一个模型,可以精确知道哪些层对精度敏感、哪些层可以激进压缩。这是"专属高速公路"的第一个具象化体现。

2. KV Cache 磁盘化:SSD 作为"一等公民"

这是 ds4.c 最具架构野心的设计。当前 LLM Agent 客户端(如 Claude Code)基本都是无状态的:每次请求把完整对话历史重发一遍,服务端从头做 prefill。对于一个 25K token 的系统提示,本地硬件上这意味着几十秒的首次 token 延迟。

ds4.c 的做法是:预填充完成后,将 KV 状态序列化到磁盘,键值为 token ID 序列的 SHA1 哈希。下次请求若前缀匹配,直接从磁盘加载 checkpoint,跳过 prefill。README 中的原话是:"The KV cache is actually a first class disk citizen."

这不是"内存不够了换到磁盘"的被动 swap,而是主动架构设计——现代 MacBook 的 SSD 速度足够快,而 DeepSeek V4 的 KV Cache 压缩率极高,加上 Agent 场景"相同系统提示 + 变化尾部"的访问模式,磁盘 KV 的命中率天然很高。

更令人惊讶的是,这种设计在通用框架中几乎不可能实现。KV Cache 的格式、压缩率、序列化方式因模型而异,通用引擎为了兼容数百个模型,无法针对单一模型的磁盘 I/O 特性做深度优化。ds4.c 的"模型锁定"在这里反而成了优势。

3. Metal-Only:拒绝抽象层的性能税

代码语言分布很有意思:59.2% C,27.6% Objective-C,12.6% Metal Shading Language。六个主文件,零外部依赖,直接调用系统工具链编译。

CPU 路径在代码中存在,但仅用于内核正确性验证——antirez 警告,近期 macOS 版本存在虚拟内存管理 bug,大工作集下 CPU 推理会直接崩溃。所以生产路径必须是 Metal-only。

这种"去抽象层"的思路与通用框架背道而驰。llama.cpp 为了支持 CUDA、Metal、Vulkan、CPU 等多种后端,不得不在算子层面做大量通用封装;ds4.c 则直接针对 M3 Max/Ultra 的 GPU 架构写死计算图,每个 kernel 的 tile 大小、shared memory 分配、warp 调度都是手工调参。通用框架覆盖 95% 场景,ds4.c 追求那 5% 的极致。

实测性能数据

硬件 量化 上下文 预填充 生成速度
MacBook Pro M3 Max (128GB) Q2 短 prompt 58.52 tok/s 26.68 tok/s
MacBook Pro M3 Max (128GB) Q2 11,709 tokens 250.11 tok/s 21.47 tok/s
Mac Studio M3 Ultra (512GB) Q2 短 prompt 84.43 tok/s 36.86 tok/s
Mac Studio M3 Ultra (512GB) Q4 12,018 tokens 448.82 tok/s 26.62 tok/s

数据来源:ds4.c 官方 README 及社区实测。作为参照,一个 284B MoE 模型在笔记本上跑出 26 tok/s 的生成速度,半年前这还是数据中心 GPU 的活。

功耗方面,M3 Max 峰值约 50W——与普通笔记本工作负载持平,连续 Agent 会话平均功耗约 30W,每小时电费几毛钱级别。这意味着你不仅能在本地跑前沿模型,还能在咖啡馆里用电池跑。

生态对接:不是玩具,是生产工具

ds4.c 内置了 OpenAI 和 Anthropic 双协议兼容层,支持 tool calling。README 直接提供了三个 Agent 客户端的配置示例:

这意味着它不是"能跑起来看看"的 demo,而是可以直接接入现有 Agent 工作流的推理后端。你不需要重写任何客户端代码,只需要把 API endpoint 从 api.openai.com 换成 localhost:8080

争议与边界

alpha 质量:antirez 明确标注代码和 GGUF 文件均为 alpha 状态,"推理和模型服务是复杂领域,这一切只存在了几天",预计需要数月才能达到更稳定形态。

Metal 独占:没有 CUDA,没有 AMD,没有 CPU 回退。这是设计选择,不是技术债务。antirez 认为,一旦决定只支持一个模型,GGML 的通用调度机制就成了死重——不如写一个针对特定计算图的静态优化器。

模型锁定:不支持其他 GGUF 文件,tensor layout、量化混合策略、metadata、可选 MTP 状态都是硬编码的。换模型就需要换引擎。

这些限制在"通用框架"的视角下都是缺陷,但在"专属高速公路"的视角下是 trade-off。antirez 的赌注是:DeepSeek V4 Flash 的独特性(极端稀疏、QAT 友好、长上下文)值得这种程度的定制化投入。

行业信号:从"通用框架"到"模型专属引擎"?

ds4.c 的出现可能标志着一个趋势拐点。过去本地推理的叙事是"一个引擎跑所有模型"(llama.cpp、vLLM、MLX)。但 antirez 提出了另一种哲学:通用引擎为了兼容性必须做抽象,抽象意味着妥协;而 deliberately narrow 的代码库可以把一件事做到极致

他在 X 上的致谢也很有意思——没有 llama.cpp 和 GGML 社区的工作,ds4.c 不可能存在,但 ds4.c 选择不链接 GGML,而是把其工程经验内化为一个专用 Metal 计算图。LICENSE 中保留了对 GGML 作者的署名致谢。

这是否意味着未来每个"特性足够独特"的模型都会催生一个专属引擎?antirez 的答案是:通用项目覆盖 95% 场景,而像 V4 Flash 这样具有极端稀疏性和 QAT 友好性的模型,值得那 5% 的手工优化投入。

更深层的信号在于,本地推理正在从"边缘爱好者的玩具"向"生产力基础设施"进化。当 284B 模型能在笔记本上以 26 tok/s 生成、支持 100 万 token 上下文、兼容现有 Agent 生态时,"本地"与"云端"的边界开始模糊。开发者不再需要为了"能用"而忍受通用框架的妥协,也不需要为了"极致"而雇佣专门的 CUDA 工程师——一个专注的 C 程序员加上对单一模型的深度理解,就能造出可用的生产级引擎。

对于仍在评估本地推理方案的开发者来说,这次变动或许是一个警示——在评估任何推理框架时,不仅要看它支持多少模型,更要审视其优化深度是否与你的核心模型匹配。通用性是广度,专属是深度,而 ds4.c 证明,在特定场景下,深度可以碾压广度。


项目地址https://github.com/antirez/ds4
模型权重https://huggingface.co/antirez/deepseek-v4-gguf
编译依赖:Xcode Command Line Tools + curl,零第三方库

如果你有一台 128GB 内存的 Apple Silicon Mac,现在就可以 ./download_model.sh q2 && make 跑起来。antirez 的原话是:"这是第一次,我感觉自己的电脑上跑着一个前沿模型。"