BeeLlama.cpp v0.4.0 发布:聚焦 KV cache 量化,新增 KVarN 与精度尾部机制
llama.cpp 第三方分支 BeeLlama 发布 v0.4.0,移除此前独立的 DFlash 与 TurboQua…
BeeLlama.cpp 是开源推理引擎 llama.cpp 的第三方分支,长期专注于 KV cache 量化和推测解码方向。开发者 Anbeeld 近日发布 v0.4.0 版本,对功能做了较大幅度的取舍:此前作为分支核心卖点之一的 DFlash 现已获得上游 llama.cpp 支持,独立的 DFlash 实现因此被移除;TurboQuant 在多轮基准测试中未能带来明显精度提升,也一并下线;TCQ 虽然在精度上有一定优势,但性能开销过高,同样退出。新版本基于最新上游代码 rebase,把重心放在 KV cache 量化的几个新机制上。
核心新特性:KVarN
KVarN 即方差归一化的 KV cache 量化方案(Variance-normalized KV-cache Quantization),其核心思路是在相同位宽下获得比常规量化更高的精度。该机制曾在 v0.3.2 Preview 中以原始形态出现,存在性能和显存波动问题;v0.4.0 完成了重写,在保持精度优势的同时,预填充、解码和显存占用方面的牺牲被压缩到最小。不过该特性当前对 SWA(Sliding Window Attention)架构(如 Gemma、GPT-OSS 系列)尚不稳定,SWA ring 与显存管理之间存在冲突,其他模型则可正常投入使用。
KV cache 精度尾部
精度尾部(Precision Tail)是一种新的混合精度 KV cache 机制:用户可指定最近若干 token 使用 BF16 或 F16 存储,其余 token 仍按常规量化方式压缩。这样做的好处是,把对话中最新、最热的指令、代码或数据以无损方式保留,避免模型在长上下文末尾出现误读,而无需把整段 KV cache 全部抬回 BF16,从而显著节省显存。基准测试显示,这一机制对 KLD 指标的改善相当明显。需要注意的是,SWA 架构同样与精度尾部存在兼容性问题。
新增标准 KV cache 类型
v0.4.0 在上游既有 q5_0/1 与 q8_0 之间补入了 q6_0 与 q6_1,让用户在精度与显存之间有更细粒度的选择;在低端侧新增 q2_0、q2_1、q3_0、q3_1,作为原 turbo3、turbo2 的替代,适配那些 KVarN 效果不佳但又必须把模型压进显存的极端量化场景。
其他改进
- 自适应 DFlash draft-max:保留自 Bee 旧版 DFlash 中的一项独立设计,将上游默认的 draft-max 8 提升到 16,并允许引擎根据实时收益自适应下调,甚至在效果低于基线时彻底关闭 DFlash。
- 推理循环保护:服务端可检测模型陷入重复隐藏推理输出的情况,并主动干预,强制跳出循环。
Qwen 3.6 27B Q5_K_S 64k 上下文 KLD 基准
下表节选自配套技术文章,针对 Qwen 3.6 27B Q5_K_S 在 64k 上下文下的 KLD 中位数对比,单位越小越好:
- q2_0:Tail 0 为 0.019374,开启 Tail 1024 后降至 0.004648,Tail 2048 为 0.003696
- q3_0:0.004696 → 0.001551 → 0.001382
- q4_0:0.001846 → 0.001057 → 0.001019
- q5_0:0.001154 → 0.000938 → 0.000928
- q6_0:0.000960 → 0.000908 → 0.000904
- q8_0:0.000909 → 0.000897 → 0.000895
- kvarn2:0.007108 → 0.003811 → 0.002820
- kvarn3:0.001797 → 0.001316 → 0.001158
- kvarn4:0.001111 → 0.000994 → 0.000952
- kvarn5:0.000927 → 0.000897 → 0.000892
- kvarn6:0.000889 → 0.000879 → 0.000876
- kvarn8:0.000871 → 0.000871 → 0.000877
数据可见,在低位宽方案上引入精度尾部带来的相对降幅最为显著,例如 q2_0 从 Tail 0 到 Tail 1024 的中位 KLD 下降约 76%,q3_0 下降约 67%。KVarN 系列则在同等位宽下明显优于对应标准量化,例如 kvarn5 在 Tail 0 条件下已经优于 q6_0 的原始精度水平。
完整基准数据、机制说明及结果分析参见开发者配套文章《KV Cache Precision Tail: Implementation and Benchmarks》,代码仓库与可执行文件见 GitHub:github.com/Anbeeld/beellama.cpp。
