我把 antirez 的 ds4 削减成只跑 Metal 上 Qwen3.8 Flash Next 的精简版,移植了一大批改进,速度快了约 10%,且输出逐位一致

Reddit r/LocalLLaMA 工具

摘要

一位开发者将 antirez 的 ds4(DwarfStar)推理引擎精简为仅支持 Metal 的 Qwen3.8 Flash Next 版本,代码量从 8.5 万行缩减到 4.5 万行,解码速度提升约 10%,且输出逐位一致;同时他还创建了一个可复用的工具仓库 StarForge,用于维护此类 fork。

我曾有一个 pull request 被合入 ds4(DwarfStar),只有一个很小的。队列里还有几个在等着。我没什么可抱怨的。antirez 在 README 里说得清楚:有了编码 agent,任何人都可以为自己的硬件和模型调优这个引擎,而他无法逐一审查所有内容。这让我想到:如果计划是大家通过 agent 来应用自己的补丁,那么一个补丁真正的成本不只是代码改动本身,还包括 agent 在知道它到底在改什么之前必须读掉多少 token。ds4 的代码库在 Metal、CUDA 和 ROCm 上跑 DeepSeek、GLM 和 Qwen——全部塞在一个 8.5 万行的文件里。我在一台 128GB 内存的 M5 Max 上跑 Qwen3.8 Flash Next。那个文件里的其他所有内容对我和我的 agent 来说都是噪音。每次 agent 运行,都得把全部内容重新读一遍。所以我把它们全删了。不只是用 ifdef 包起来,而是直接删除。ds4.c 文件从 8.5 万行降到了 4.5 万行。现在整个代码树都能装进一个上下文窗口。Metal 成了生产后端,CPU 路径保留作为测试参照。我的假设是:代码库更小会让优化更便宜也更安全。结果如下: Q2:解码速度提升 9–13%,prefill 在 64k 上下文以内也有提升,MTP 从 75.8 提升到 86.7 tok/s Q4:prefill 提升 2–11%,MTP 从 77.8 提升到 85.9 tok/s 与原版 ds4 相比,每一步的输出都保持逐位一致(bit-exact)。没有 KV cache 量化,没有近似 kernel。每一项改动都必须通过 parity check——同一个 GGUF、贪心解码产出完全相同的 token——再加上与上一版构建的交错式 A/B 基准测试。 更小的代码库还让我得以把 ds4 里的 PR 全部过了一遍。我用我的模型版本逐个测试,把有效的移植过来。采纳了二十个 commit,放弃的大约三十个。结果都在仓库里。 我还为专家(experts)加了 SSD 流式加载,输出与常驻内存运行逐 token 一致。在一台模拟的 48GB 机器上,Q2 能跑到 27 tok/s,开启 MTP 后达到约 35 tok/s。 这个 fork 仍然能跟上上游。它会执行 `git merge upstream/main`(配合 rerere)加上 parity check,所以 antirez 的修复会持续流入。 整个流程——删什么、留什么、如何同步——都记录在一个叫 StarForge 的仓库里。我有四个这样的“子项目”,每个对应一个模型。StarForge 里没有任何东西依赖 Qwen 或 Metal。如果你想拿到一个针对你的模型或 CUDA 定制的精简版 ds4,只要克隆它,然后用你的 agent 跑一遍检查清单就行。 仓库:sf-q3-8flash,README 里有详细表格。 这套配置只涉及一台机器、一个模型。如果你用的是 Apple Silicon,我很想看看你的数据,最好是和原版 ds4 并排对比。
查看原文

相似文章

关于 DS4 的几句话

Hacker News Top

Antirez 宣布了 DwarfStar 4 (DS4),这是一个本地AI工具,它采用非对称 2/8 位量化,在高端消费级硬件上运行 DeepSeek v4 Flash,实现接近前沿的性能。他谈到了该项目的迅速流行、未来的模型更新和分布式推理计划,以及本地AI对严肃任务的重要性。

使用 Deadcode 的 Radiance 引擎,在 2 张 R9700 + 64GB DDR5 上运行 Q4 量化的 Qwen-3.8 Flash-Next,解码速度为 176 token/秒,预填充速度为 6,450 token/秒

Reddit r/LocalLLaMA

一位用户使用 BetterBench 吞吐量测试工具,在配备 2 块 R9700 GPU 和 64GB DDR5 内存的定制 PC 上,对运行于 Deadcode 的 Radiance 推理引擎上的 Q4 量化版 Qwen-3.8 Flash-Next 进行基准测试,实现了 176 token/秒的解码速度和 6,450 token/秒的预填充速度。

在 2 张 RTX 5090 上运行 Qwen3.8-Flash-Next,解码速度达 504 tok/s:QEngine 1.3.1 的解码速度约为我试过的第二快引擎的 1.5–1.9 倍(数据、注意事项,以及仍然棘手的问题)

Reddit r/LocalLLaMA

一项详细的基准测试表明,QEngine 1.3.1(针对 RTX 5090 编译)是单流解码速度最快的 Qwen3.8-Flash-Next 引擎,速度约为 Strata 的 1.4–1.9 倍、调优后的 vLLM 的 3 倍,其 KV-in-RAM 模式可显著提升重新访问空闲会话时的热启动性能。

DeepSeek v4.1 Flash 1017 for Dwarfstar (ds4)

Reddit r/LocalLLaMA

nazeshinjite 发布了 DeepSeek V4.1 Flash 1017 的 3.91bpw GGUF 量化版本,面向 antirez 的 DwarfStar (ds4) 推理引擎,采用 SSD 流式加载,可在 128GB Mac 上以最高 20tps 解码。