news 2026/5/11 6:53:03

Redis 之父为 DeepSeek V4 手写 AI 推理引擎,Node.js 大佬亲自点赞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Redis 之父为 DeepSeek V4 手写 AI 推理引擎,Node.js 大佬亲自点赞

写出 Redis 的那个意大利人,开始亲手写 AI 推理引擎了。

5 月 7 日深夜,antirez 在 X 上甩出一条推文:欢迎来到 DS4,一个为 DeepSeek V4 Flash 量身打造的本地推理引擎。仓库地址github.com/antirez/ds4,Metal 专属,纯 C 语言实现,目标平台是高端 Mac。

这条推文之所以值得拿出来单独说,是因为发推的人。antirez 本名 Salvatore Sanfilippo,1977 年出生于意大利西西里,是后端工程师绕不开的名字。2009 年他用 C 写出第一版 Redis,之后亲自带着这个项目往前推了 11 年,把它做成了今天全球缓存、消息队列、会话存储几乎绕不过去的基础设施。2020 年他从 Redis 一线退下来去写小说、玩业余项目,2024 年底又以 "Redis evangelist" 的身份回归社区。

很多人没想到的是,他这次回归之后,挑的新方向是 AI 推理引擎。Redis 之父跑去给 DeepSeek 写专属推理引擎,这件事本身就够反差。

这条推文发出去 22 个小时,浏览量 6.2 万,评论区聚集了一票熟面孔,包括 GGML 作者 Georgi Gerganov、Node.js 核心贡献者 Matteo Collina。Matteo 评论得直接:再次为 antirez 的工作感到钦佩,如果你用的是 128GB 的 Mac,本地 AI 时代已经接近尾声。

它不是又一个 llama.cpp

ds4 在介绍里把话说得非常清楚:刻意做窄。它不是通用的 GGUF 运行器,不是某个运行时的封装,也不是一个框架。代码主路径只干一件事,跑 DeepSeek V4 Flash 的 Metal 计算图,专门处理它的加载逻辑、prompt 模板、KV 状态和 server API。

这种 "专一到偏执" 的取舍,背后是 antirez 对当前本地推理生态的判断。他在 README 里写道,本地推理领域里好项目很多,但新模型一个接一个发,注意力总被下一个模型抢走,很多模型从未被认真对待到底过。所以 ds4 干脆反过来:一次只赌一个模型,配合官方 logits 校验,做长上下文测试,再做足够的 Agent 集成确认它能真正干活。

模型可能换,但约束不变,本地推理要在高端个人机器或者 Mac Studio 上 "可信",门槛 128GB 内存起步。

也正因为窄,整个项目的设计都围绕 DeepSeek V4 Flash 的特点展开。

为什么是 DeepSeek V4 Flash

为什么单独给这一个模型造引擎,antirez 在 README 里列了七八条理由,挑几条关键的:

  • 激活参数少所以快。V4 Flash 是 MoE 模型,激活参数远小于总参数。

  • 思考链长度自适应。打开 thinking 模式但不开 max thinking,思考段落长度大致和问题复杂度成正比,简单题简单想,难题才长想。在很多场景下只有其他模型的五分之一。

  • 100 万 token 上下文窗口

  • **284B 参数带来的 "知识广度"**。问一些边缘话题,比如意大利电视节目或冷门政治议题,能明显感觉到 284B 比 27B、35B 这种小尺寸密集模型存货多得多。

  • 英文和意大利文写作明显更好,体感接近前沿模型。

  • KV cache 压得极小,长上下文在本地能跑,更夸张的是可以把 KV cache 存到磁盘上。

  • 2-bit 量化下表现不崩,前提是用了一种特殊的量化方式。

最后这一条配合 KV cache 压缩,正好让 V4 Flash 可以塞进一台 128GB 内存的 MacBook Pro。这是 ds4 整个项目能够成立的硬件前提。

具体的 2-bit 量化做法也挺有意思。ds4 用了高度非对称的量化策略,只对路由 MoE 专家做激进量化,up/gate 走 IQ2_XXS、down 走 Q2_K,这部分是模型空间的大头。其他组件包括共享专家、投影层、路由模块都保留原精度,用来兜底输出质量。仓库里直接写明:这套 2-bit 量化不是开玩笑,能稳定跑 Coding Agent、可靠地调用工具。

把 KV cache 当成磁盘上的 "一等公民"

ds4 最有意思的设计可能就是它对 KV cache 的处理。

传统认知里 KV cache 必须待在显存或者内存里,因为查表要快。但 V4 Flash 的 KV cache 本身压得很小,再加上现代 MacBook 用的是 SSD,随机读写延迟低到一个程度,让 antirez 觉得是时候换思路:KV cache 可以是一份长在磁盘上的状态。

启动 server 的时候只要带上--kv-disk-dir--kv-disk-space-mb,引擎会在四个时机往磁盘写 checkpoint:

  • 冷启动:长 prompt 处理到稳定前缀后,生成开始前。

  • 持续保存:prefill 或者生成推进了一定 token 数。

  • 驱逐前:内存里只有一份活着的 KV cache,新会话顶替旧会话之前先把旧的存下来。

  • 干净退出:服务正常关闭时。

cache key 是 token id 序列的 SHA1,不是文本字符串,避免了文本和 BPE 边界对不齐的麻烦。文件名就是<sha1>.kv,故意用普通的 read/write IO 而不是 mmap,这样恢复 cache 不会给已经把模型 mmap 进去的进程再加一堆虚拟内存映射。

这个设计对 Agent 类的客户端特别有意义。Claude Code 那种工具每次请求都会带着上一轮的所有上下文,初始 prompt 动辄 2.5 万 token。第一次跑必然慢,但只要把磁盘 KV cache 留着,下次接着聊或者重启之后再来,前缀直接复用,不用重新 prefill。对一个本地引擎来说,这是从 "能跑" 到 "能用" 的关键一步。

速度数字

跑分数据是 antirez 自己在两台机器上测出来的,--ctx 32768、关 thinking、贪心解码、生成 256 个 token:

128GB 的 MacBook Pro 跑 q2 量化,生成速度 26 t/s 左右,长 prompt 下也有 21 t/s。这意味着 284B 的模型在一台不算夸张的笔记本上能做到接近实时输出。Mac Studio 那一档则把 q4 量化也带上了,速度更稳一些。

服务端做得很扎实

ds4 不只是命令行工具,还附带一个 OpenAI/Anthropic 双协议兼容的 server。

./ds4-server --ctx 100000 --kv-disk-dir /tmp/ds4-kv --kv-disk-space-mb 8192

支持的端点包括:

  • GET /v1/models

  • POST /v1/chat/completions

  • POST /v1/completions

  • POST /v1/messages

/v1/chat/completions接得动 OpenAI 那一套字段,messages、temperature、top_p、tools、tool_choice、stream 全都在。它会把 OpenAI 的 tool schema 转成 DeepSeek 的 DSML 格式喂给模型,再把生成出来的 DSML tool call 翻译回 OpenAI 风格。/v1/messages走的是 Anthropic 协议,Claude Code 这类客户端可以直接对接。

README 里给了 opencode、Pi 还有 Claude Code 三套配置示例。Claude Code 的接法是包一个 shell 脚本,把ANTHROPIC_BASE_URL指到本地 8000 端口,再把 sonnet、haiku、opus 这三个模型别名都映射到 deepseek-v4-flash,这样 Claude Code 不论选哪个等级都跑在本地。把这套配置完整跑通之后,本地就有了一个伪装成 Claude 的 DeepSeek,写代码、调工具都能用。

不过 antirez 在文档里坦白:当前 server 不做并发请求的 batch,所有推理串行通过一个 Metal worker,多个并发请求只能排队。一个人用没问题,多人共享要慎重。

"GPT-5.5 写了不少代码"

ds4 README 里有一句话很容易被忽略,但 antirez 写得很坦诚:

这个软件在 GPT 5.5 的强力辅助下开发,由人类主导想法、测试和调试。我们公开说明这一点,因为它塑造了项目的构建方式。如果你不喜欢 AI 写的代码,那这个软件不适合你。

这句话放在 README 里,已经不只是免责声明,而是一种立场表态。对 antirez 这种以亲手写代码闻名的工程师来说,公开承认大量代码出自 AI 协作,分量比一般项目要重得多。

如果你顺着这个线索去想,会发现整个 ds4 的存在本身就是一个论据:单人项目用 AI 工具,能在合理时间内做出一个 Metal 推理引擎,跑通官方 logits 校验,搭起 Agent 兼容的 server。这件事在 GGML 团队多年积累的基础上才可能发生,但它确实发生了。

评论区那场关于 "影子贡献者" 的讨论

这条推文底下最有意思的对话来自 lifcc 和 antirez。

lifcc 写道:GGML 的影响力非常惊人,今年每一个新出来的推理引擎,本质上都继承了一个免费的 C++ 优化栈,"影子贡献者" 名单远远超过实际贡献者。

antirez 回复得很直接:我同意 GGML 的影响。但关于影子贡献者名单这件事,我没办法在 DS4 的 README 里把每个名字都列出来。我意识到这是个问题,Redis 也有同样的情况,但具体要怎么解决,并不明显。

这段对话戳到了开源生态的一个普遍困境:站在巨人肩膀上的项目,怎么把巨人的名字写全。GGML 那帮人贡献了 GGUF 格式、量化方案、kernel 实现、CPU 量化和 dot 逻辑,新引擎可以不依赖 GGML 库本身,但实际上还是大量参考了 GGML 的实现思路。ds4 的 LICENSE 文件里仍然保留了 GGML 作者的版权声明,README 里也专门开了一节 "Acknowledgements to llama.cpp and GGML"。

这种态度比 "砍掉 BSD 头注释悄悄重写一遍" 要体面得多。

这个事情真正的意义在哪

ds4 不是要取代 llama.cpp,也不是要在跑分上压谁一头。它更像是一个范式实验:当一个开源大佬决定不做通用框架,专心把一个具体模型在一类具体硬件上做到极致,最后会得到什么。

答案大致是这样:一个 README 里写得清清楚楚自己边界在哪的项目,一个把磁盘当 KV cache 一等公民的设计,一个 OpenAI 和 Anthropic 协议都兼容的 server,一份对前置项目(GGML、llama.cpp)态度恭敬的致谢清单,加上对自己 AI 协作开发方式的公开承认。

Matteo Collina 那句 "本地 AI 时代已经接近尾声" 可能稍微乐观了。但如果你正好有一台 128GB 的 Mac,又恰好对 DeepSeek V4 Flash 感兴趣,ds4 确实给了一种非常具体的玩法:把 Claude Code 接到本地,让 284B 的 MoE 模型在自己的桌面上写代码、调工具,不联网,不付费,不送数据。

至于 Redis 之父下一步会不会把这种 "模型专属引擎" 的思路扩展到更多模型上,README 留了一句话:模型会随生态演进而变。

下一个会是谁,让人挺好奇。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 6:52:00

协作边缘AI与联邦学习如何重塑去中心化能源系统

1. 项目概述&#xff1a;当边缘智能遇见分布式能源如果你和我一样&#xff0c;在能源或者物联网行业摸爬滚打多年&#xff0c;就会深刻感受到一个趋势&#xff1a;能源系统的“大脑”正在从云端下沉&#xff0c;从中心走向边缘。过去&#xff0c;我们习惯于将海量的传感器数据—…

作者头像 李华
网站建设 2026/5/11 6:46:31

显卡驱动清理终极指南:Display Driver Uninstaller深度解析

显卡驱动清理终极指南&#xff1a;Display Driver Uninstaller深度解析 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninsta…

作者头像 李华
网站建设 2026/5/11 6:34:18

从 API 响应延迟看 Taotoken 路由稳定性对开发体验的影响

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从 API 响应延迟看 Taotoken 路由稳定性对开发体验的影响 在持续数日的开发调试工作中&#xff0c;调用大模型 API 的响应速度一致…

作者头像 李华
网站建设 2026/5/11 6:23:40

机器学习之评估与偏差方差分析

一.机器学习评估与偏差方差分析1.项目初始化&#xff1a;导入工具包工具包作用numpyPython 科学计算基础库&#xff0c;用于数值运算、数组处理matplotlib数据可视化库&#xff0c;用于绘制训练 / 测试数据、模型曲线scikit-learn机器学习工具库&#xff0c;提供数据集划分、线…

作者头像 李华