yuhai-china/ds4-spark 是一个基于 antirez/ds4、在本地运行 DeepSeek V4 Flash 的推理引擎,采用 Markov 推测解码(speculative decoding,即先计算候选 token 再一并验证的方式)。2026 年 6 月 29 日的提交 9ba9202 改变的是这条推测路径中生成 draft token 的那一侧。结构变为直接在 GPU 上对第 42 层的隐藏状态(hidden state, HC)应用输出头(output head),用来生成 draft 候选。
输出头是把隐藏状态转换为词表(vocab)大小的分数数组(logits)、从而挑选下一个 token 候选的最后一步。本次提交在第 42 层 HC 已经存放在 GPU 上的时点,于 Metal 命令缓冲区中再执行一次输出头 encode,把结果留在 markov_logits_gpu(505 KiB),命令结束后再读回 markov_logits_cpu(505 KiB CPU)。结果 draft 阶段只剩下对已计算好的 logits 取 argmax。提交信息把这一过程描述为 sub-ms,并写明被移除的 CPU 侧 Q8_0 反量化(dequant)曾是 500M 次标量乘法与加法的瓶颈。同时,weights_validate_layout 中对 output 张量的检查也改为去掉 Q8_0 类型要求,只保留一般性的布局检查。
不过,这次提交没有给出性能数字。提交信息自己列出的下一步是推测解码命中率(hit rate)验证,且以完整的 GGUF 重建为前提,而结果尚未给出。GPU 和 CPU 上各增加 505 KiB 的缓冲区开销也随之而来。补丁中可见的改动仅限于 Metal 命令缓冲区路径,因此并未说明对其他后端有何影响。被修改的文件只有 ds4.c 一个,改动 38 行(新增 31、删除 7)。仓库说明中只有「用于 DeepSeek V4 Flash 的本地推理引擎」这一描述,并未注明许可证或基准测试。来源是 github.com/yuhai-china/ds4-spark 的提交 9ba9202。