案例 Redis之父antirez亲自下场!为DeepSeek V4 Flash打造专属推理引擎,Mac上跑出468 token/s

2026-05-10 08:40:22 +0800 CST views 5

Redis之父antirez亲自下场!为DeepSeek V4 Flash打造专属推理引擎,Mac上跑出468 token/s

标签: DeepSeek / AI推理 / Mac / Redis / antirez / Metal / 本地推理 / MoE / GGUF
原文: https://mp.weixin.qq.com/s/BxGuMYfogQUl_Dmuzt7p6A
来源: 量子位


引言

DeepSeek V4 发布才两周,开源圈里,第一批 V4 原生基础设施已经冒了出来。

而且,不是那种在现有框架上套一层壳的「小修小补」。

不是通用 GGUF 加载器;不是 llama.cpp 的 wrapper;甚至压根不支持别的模型。

它只干一件事:把 DeepSeek V4 Flash,在 Mac 上跑到极致。

这条「专属高速公路」,叫 ds4.c

而修出来的人,分量有点吓人——Salvatore Sanfilippo,程序员圈更熟悉他的另一个名字:antirez

他一手创造了 Redis(GitHub 7.4 万 Star),并亲自主导这个全球最流行的内存数据库整整 11 年。

而现在,他的新项目 ds4.c,是一个专门为 DeepSeek V4 Flash 打造的本地推理引擎。


一、专为 V4 Flash 打造的本地推理引擎

4月24日,DeepSeek 发布 V4 系列。其中,V4 Flash 是效率型号:

  • 284B 总参数
  • 13B 激活参数
  • 100万 token 上下文

这样的体量,过去几乎默认属于云端。

而 antirez 想做的,是把它塞进一台 Mac。于是,ds4.c 诞生了。

1.1 项目架构

这是一个用 C + Metal 从头写出来的推理引擎。

语言占比
C55.4%
Objective-C30.2%
Metal13.8%

Metal-only,没有运行时,没有框架依赖,没有抽象层。

Metal 是苹果自家的图形和计算 API,在 Mac、iPhone、iPad 上调用 GPU 都靠它,相当于苹果生态里的 CUDA。

ds4 只用 Metal 的意思是:这个引擎只在 Apple Silicon 上跑,不管 Nvidia 显卡,也不管 AMD。

整个项目只有一个目标:让 V4 Flash 在本地的苹果机器上,不只是「能跑」,而是真正「能用」。

1.2 性能数据

目前测试结果已经相当夸张:

配置量化上下文预填充生成
MacBook Pro M3 Max (128GB)2-bit32K58.52 token/s26.68 token/s
Mac Studio M3 Ultra (512GB)2-bit长prompt (11709 token)468.03 token/s27.39 token/s

对一个 284B 参数 的 MoE 模型来说,这个速度在本地机器上是真正可用的。


二、怎么做到的?关键在三件事

2.1 非对称量化

ds4 并不会把所有参数都压到 2-bit,而是:

层级量化方式说明
MoE 专家层(路由)2-bit只量化这部分,占了模型空间的绝大部分
up/gateIQ2_XXS高压缩量化
downQ2_K高压缩量化
共享专家层、投影层、路由层Q8 精度不动保持高精度

antirez 在 README 里写了一句很直接的话:

「这些 2-bit 量化不是开玩笑,它们在 coding agent 下表现良好,能可靠地调用工具。」

2.2 KV 缓存搬到硬盘上

现在的 LLM agent 客户端都是无状态的,每次请求把整段对话重新发一遍。

通用引擎的做法是每次重新做 prefill。

ds4 的做法是:把 KV 状态写到磁盘上,下次请求过来匹配 token 前缀,命中了就直接从磁盘加载,跳过 prefill。

  • 缓存的 key 是 token ID 序列的 SHA1 哈希值
  • 这对 Claude Code 这种每次启动会发 25K token 初始 prompt 的 agent 场景尤其有用
  • 第一次 prefill 完成后,后续会话直接从磁盘恢复

2.3 内置 OpenAI 和 Anthropic 两套 API 兼容层

API协议
/v1/chat/completionsOpenAI 协议
/v1/messagesAnthropic 协议

Tool calling 也做了适配。README 里直接给了三种 agent 客户端的配置示例:

  • opencode
  • Pi
  • Claude Code

三、为什么要做这件事

antirez 的回答是:

「本地推理领域有很多优秀项目,但新模型不断发布,注意力立刻被下一个要实现的模型吸走。」

通用引擎为了兼容所有模型,必须做抽象。抽象意味着妥协。

他想做的是一条刻意的窄路:一次只赌一个模型,用官方 logits 做验证,做长上下文测试,做足够的 agent 集成来确认它真的能用。


四、一个模型一个推理框架?

这件事,也在开发者圈炸出了一个更大的讨论:

未来会不会变成——一个模型,一个推理框架?

Hacker News 上一条高赞评论提了一个有意思的方向:

「如果开始针对精确的 GPU + 模型组合构建超优化推理引擎呢?」

GPU 越来越贵,如果去掉足够多的抽象层,直接针对精确的硬件和模型编码,可能能优化很多。

这条路的代价也很明显:一旦模型过时,一切从头来过。

antirez 自己也承认了这个问题。他说 ds4 当前赌的是 DeepSeek V4 Flash,但模型可能会换。

不变的约束是:本地推理要在高端个人机器或 Mac Studio 上跑得靠谱,起步 128GB 内存。


五、本地推理的「全栈思路」

更值得关注的是他在 README 里抛出的一个观点:

「本地推理应该是三件事一起做好,开箱即用:」

  1. 一个有 HTTP API 的推理引擎
  2. 一份针对这个引擎和这套假设特别打造的 GGUF
  3. 一套和 coding agent 对接的测试和验证

这是一种全栈本地推理的思路,不是把组件拼起来,是把链路当成一个产品来设计。

如果这条路走通了,它可能改变本地推理的玩法:

模型厂商发布新模型的同时,社区里就会有人跳出来给它做专属引擎,做专属量化,做专属 agent 接入。每一代模型都有一个自己的「antirez」。


六、关于 antirez

真名 Salvatore Sanfilippo,1977 年出生于西西里岛。

项目说明
Redis2009 年创建,主导 11 年,GitHub 7.4 万 Star
Kilo不到 1000 行 C 代码的文本编辑器
dump1090航空 ADS-B 信号解码器
linenoisereadline 的微型替代品
Flipper Zero 工具RF 协议分析工具,把 Asteroids 移植到上面
《WOHPE》2022 年出版的科幻小说,主题是 AI、气候变化、程序员

他个人主页第一行写的是:

「我把大部分专业时间花在写代码和写小说上。」

关于 Redis 的诞生,他在个人主页里写了一段:

「我老婆说,Redis 的前几年我大部分代码都是坐在马桶上写的,用一台 MacBook Air 11 寸。我真希望能说她错了,但她正好说得完全对。」

这种调性贯穿了他做的所有项目。小、精确、自成一体。

ds4.c 也是同一个路子。


七、ds4 的一个坦率细节

README 里有一段声明:

「这个软件是在 GPT 5.5 的『强力辅助』下开发的,人类负责想法、测试和调试。」

antirez 说如果你不接受 AI 辅助开发的代码,这个软件不适合你。

两周时间,从 fork llama.cpp 做适配,到从头写一个专用引擎,离不开 AI 辅助。这件事本身可能比 ds4 还更值得关注。


八、未来展望

当前是 Metal-only,未来可能会做 CUDA 支持。但他写得很谨慎:

「也许会,但仅此而已。」

这个项目刻意保持小、快、专注

他在个人主页里还留了一句话:

「现代编程正变得复杂、无趣,全是要粘合的层。它正失去大部分美感。大多数程序员既不在面对编程的艺术面,也不在面对编程的高级工程面。」

从 Redis 到 ds4.c,十五年过去,antirez 还是那个 antirez。

只不过这一次,他开始给 AI 修路了。


资源汇总

资源链接
项目地址github.com/antirez/ds4
Hacker News 讨论news.ycombinator.com/item?id=48050751
antirez 个人主页invece.org

硬件要求

配置说明
最低128GB 内存的 Mac(M3 Max 及以上)
推荐512GB 的 Mac Studio M3 Ultra

时间线上,已经有网友在 128GB Mac 上把它跑了起来。可以说,这波,Mac 库存又被 DeepSeek 清了一遍。鲸鱼,确实值得。


本文整理自量子位,原文链接:https://mp.weixin.qq.com/s/BxGuMYfogQUl_Dmuzt7p6A

推荐文章

前端如何一次性渲染十万条数据?
2024-11-19 05:08:27 +0800 CST
前端如何优化资源加载
2024-11-18 13:35:45 +0800 CST
php 统一接受回调的方案
2024-11-19 03:21:07 +0800 CST
H5保险购买与投诉意见
2024-11-19 03:48:35 +0800 CST
Vue3 实现页面上下滑动方案
2025-06-28 17:07:57 +0800 CST
Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
Elasticsearch 监控和警报
2024-11-19 10:02:29 +0800 CST
如何在Vue3中处理全局状态管理?
2024-11-18 19:25:59 +0800 CST
55个常用的JavaScript代码段
2024-11-18 22:38:45 +0800 CST
在 Vue 3 中如何创建和使用插件?
2024-11-18 13:42:12 +0800 CST
资源文档库
2024-12-07 20:42:49 +0800 CST
Vue3中如何实现状态管理?
2024-11-19 09:40:30 +0800 CST
程序员茄子在线接单