[基准测试] RTX 5090上的DFlash推测解码与KV缓存压缩 — 3.26倍加速
摘要
在 RTX 5090 上对 DFlash 推测解码结合 KV 缓存压缩进行的基准测试显示,针对 Qwen3.6-27B 模型最高可实现 3.26 倍加速,且困惑度下降极小,其中 q4_0/turbo4 提供了最佳平衡。
**硬件:** RTX 5090 | **模型:** Qwen3.6-27B | **框架:** BeeLlama.cpp
完整的基准测试脚本、原始数据、配置和生成产物均可按需提供——只需私信或评论即可。
---
过去一周,我在 Qwen3.6-27B 上对 [DFlash 推测解码](https://arxiv.org/abs/2602.06036) 结合 KV 缓存压缩策略进行了基准测试。结果令人惊讶,值得与所有运行本地推理的朋友分享。
## 环境配置
- **GPU:** NVIDIA RTX 5090(32GB 显存)
- **模型:** Qwen3.6-27B 两种量化版本:UD-Q5_K_XL 和 NVFP4-Q8_0
- **草稿模型:** Qwen3.6-27B-DFlash-Q5_K_M
- **框架:** [BeeLlama.cpp](https://github.com/Anbeeld/beellama.cpp/)(支持 DFlash + TurboQuant/TCQ)
- **困惑度数据集:** WikiText-2
- **吞吐量:** 自定义编程提示(代码生成任务)
## TL;DR
| 策略 | 加速比 | PPL 变化 | 代码质量 |
|------|--------|----------|----------|
| **q4_0/turbo4** ⭐ | **3.18x** | **+0.02%** | 3.0/3.0 HTML |
| turbo4/turbo4 | 3.26x | +0.04% | 已测试 |
| turbo2_tcq/turbo2_tcq | 3.26x | +0.76% | 轻微下降 |
| 基线(无 KV 压缩) | 2.92x | 不适用 | 2.33/3.0 |
**`q4_0/turbo4` 是最佳选择:** 3.18 倍加速,PPL 退化仅 +0.02%——与基线 K_Q8_V_Q5_1 在统计上无差异。
---
## 1. Q5_K_XL vs NVFP4-Q8_0:哪种量化更胜一筹?
当启用 DFlash 时,Q5_K_XL 在所有指标上均优于 NVFP4-Q8_0:
| 量化 | 基线 tok/s | 最佳 tok/s | 最大加速比 |
|------|------------|------------|------------|
| **Q5_K_XL** | **176.5** | **195.2** | **3.26x** |
| NVFP4-Q8_0 | 157.2 | 152.6 | 2.83x |
Q5_K_XL 基线速度更快,且随 KV 压缩策略扩展性更好。
## 2. 困惑度:KV 压缩质量
在 WikiText-2 上测量(越小越好)。K_Q8_VQ5_1 基线:**PPL = 1.8046 ± 0.00295**
| KV 策略 | PPL | 与 K_Q8_VQ5_1 的偏差 |
|---------|-----|-----------------------|
| **q4_0/turbo4** | **1.8050** | **+0.02%** |
| turbo4/turbo4 | 1.8053 | +0.04% |
| turbo4/turbo2_tcq | 1.8100 | +0.30% |
| turbo4/tcq | 1.8132 | +0.48% |
| turbo2_tcq/turbo2_tcq | 1.8184 | +0.76% |
`q4_0/turbo4` 策略的 PPL 与 K_Q8_VQ5_1 基线相差不到一个标准差。
**复现命令:**
```bash
python -m tests.benchmark_kv_cache --model Qwen3.6-27B-UD-Q5_K_XL-kv_q4_0_turbo4-dflash-256k
```
## 3. 草稿模型:验证 Anbeeld 的断言
我的结果证实了 Anbeeld 所述:使用小型草稿模型可获得约 3 倍加速:
- **草稿模型:** Qwen3.6-27B-DFlash-Q5_K_M(相同架构,更小量化)
- **接受率:** 30-51%,取决于 KV 策略
- **加速比范围:** 2.58x 到 3.26x
草稿模型的高效源于 DFlash 使用交叉注意力机制(非逐 token 推测),因此即使较小的草稿模型也能提出有用的 token 序列。
## 4. 压缩策略深度剖析
### 策略推荐
| 目标 | 策略 | 权衡 |
|------|------|------|
| 最佳平衡 | `q4_0/turbo4` | 3.18x 加速,PPL 变化 +0.02% |
| 最高速度 | `turbo4/turbo4` 或 `turbo2_tcq/turbo2_tcq` | 3.26x 加速,PPL 变化 +0.04%~0.76% |
| 最高质量 | `q8_0/q5_1` | 基线方案,显存占用高 |
## 5. 代码质量:压缩会破坏生成吗?
通过生成俄罗斯方块游戏(CLI Python + 单文件 HTML)进行基准测试,每次迭代 3 次,按功能完整性评分 0-3:
| 配置 | CLI | HTML |
|------|-----|------|
| **Q5_K_XL + q4_0/turbo4** | **2.33/3.0** | **3.0/3.0** |
| Q5_K_XL 基线 | 2.0/3.0 | 2.33/3.0 |
| Q5_K_XL + turbo2_tcq | 2.0/3.0 | 2.0/3.0 |
| NVFP4-Q8_0 + turbo2_tcq | 2.25/3.0 | 1.67/3.0 |
| NVFP4-Q8_0 基线 | 1.67/3.0 | 1.33/3.0 |
采用 `q4_0/turbo4` 策略的 KV 压缩实际上提升了代码质量(HTML 3.0/3.0 vs 基线 2.33/3.0)。所有迭代生成的代码均可按需提供。
## 复现命令
```bash
# 困惑度(WikiText-2)
python -m tests.benchmark_kv_cache --model <模型键>
# 吞吐量(编程任务)
python -m tests.benchmark_dflash --model <模型键>
# 代码质量(俄罗斯方块生成)
python -m tests.benchmark_tetris --model <模型键>
```
模型键定义在 `config.yaml` 中。如果您对实际脚本、配置、图表或完整详细报告感兴趣,请通过私信或评论联系我,我会将全部内容发送给您。
## 可复现性
我正在整理一个公开的 GitHub 仓库,包含完全可复现所需的所有资源(基准测试脚本、配置、原始数据、生成的代码和图表)。目前正在清理并匿名化路径。在此之前,本文提到的任何内容均可按需提供——只需提出请求。
## 链接
- **BeeLlama.cpp:** [https://github.com/Anbeeld/beellama.cpp/](https://github.com/Anbeeld/beellama.cpp/)
- **DFlash 论文:** [https://arxiv.org/abs/2602.06036](https://arxiv.org/abs/2602.06036)
@编辑:修正了引用;FP16 改为 K_Q8_VQ5_1——我用作基线的 KV 缓存压缩方案;beellama github;DFlash 论文引用。
相似文章
我在llama.cpp中测试了最新合并的DFlash在Qwen 3.6 27B本地AI上的表现。36K上下文速度提升4.44倍。以下是我的发现(RTX 6000 PRO)。
一位用户在llama.cpp中测试了新合并的DFlash推测解码方法(Qwen 3.6 27B),在36K上下文下相比基准实现速度提升高达4.44倍,并附有详细的排行榜和质量测试。
Qwen 3.6 27B 投机解码基准测试:单张 RTX 3090 上实现 ~100 TPS
一份详细的基准测试,比较了单张 RTX 3090 上 Qwen 3.6 27B 的投机解码引擎,显示 ik_llama 在代码生成中达到约每秒 100 个 token。结果包括 5 种引擎变体的解码 TPS、TTFT、显存占用和上下文退化情况。
太棒了。令牌速度翻倍 + KV缓存现在需要低显存 - Qwen 27B
一种名为kvflash的新型KV缓存优化,可在单张RTX 3090上使Qwen 3.6-27B的生成速度翻倍并降低显存使用,同时保持准确性。
@witcheer:大家都说NVFP4让黑伟德显卡“更快”。我在我的5090上对Qwen3.6-27B进行了三种方式的基准测试:>NVFP4 >普通Q4_K…
在RTX 5090上对Qwen3.6-27B进行的NVFP4基准测试显示,与同等比特的Q4_K_M相比,预填速度提升32-42%,与Q6_K相比提升52-68%,但解码速度提升有限(相比Q4提升+9%),因为解码受内存带宽限制。与Q6相比,质量损失极小(平均-0.8),使得NVFP4成为本地推理的不错选择。
@superalesha: 别急着埋葬RTX 3090,先读完这个!@UnslothAI本周发布了qwen3.6-35b的两个新4位量化版本。我花了…
对Qwen3.6-35B在RTX 3090上的nvfp4、nvfp4-fast和AWQ 4位量化进行了基准测试,结果显示性能相近,而MTP头技巧将吞吐量提升了41%。