# llama.cpp 官方支持 DFlash2 投机解码

> 不用魔改、不用双卡、不用 SGLang——llama.cpp 官方版本直接支持 DFlash2 投机解码，单卡 7900XTX 开箱即用。轻量 Draft 模型猜 4-7 个 token，主模型批量验证。

![llama.cpp 官方 DFlash2 投机解码示意](/assets/articles/lcz/dflash2/hero.jpg)

> 不用魔改、不用双卡、不用 SGLang——llama.cpp 官方版本直接支持 DFlash2 投机解码，单卡 7900XTX 开箱即用。

## 背景

7900XTX 的极致优化帖子里，大部分要么魔改 llama.cpp，要么上双卡，要么基于 SGLang。想"开箱即用"的人选择很少。

转机来自 llama.cpp 的 PR #27342（add DFlash2 support: local convolution + candidate selector），8 月底已 merge。**官方版本直接支持 DFlash2**，不需要任何魔改。

## 配置

| 项目 | 规格 |
| --- | --- |
| GPU | AMD 7900 XTX 24GB |
| CPU | AMD Ryzen 5 9600X |
| 内存 | 32GB DDR5 |
| 系统 | Ubuntu 26.04 |
| 主模型 | Qwen3.8-27B UD-IQ4_XS（unsloth） |
| Draft 模型 | DFlash2-Q4_K_M（z-lab） |

## 编译与启动

```bash
git clone https://github.com/ggml-org/llama.cpp
cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc) --clean-first

llama-server \
  -m /models/Qwen3.8-27B-UD-IQ4_XS.gguf \
  -md /models/Qwen3.8-27B-DFlash2-Q4_K_M.gguf \
  --spec-draft-n-max 4 \
  -ngl 99 -fa on -np 1 \
  -c 163804 -ctk q8_0 -ctv q8_0 \
  -b 2048 -ub 1024 \
  --host 0.0.0.0 --port 8080
```

## DFlash2 是什么

DFlash2 是**本地卷积 + 候选选择器**的投机解码方案：用一个轻量 Draft 模型快速"猜"接下来的 4-7 个 token，主模型一次性验证。猜对了就直接接受，不用逐个生成——相当于把"一个一个吐字"变成"一批一批验证"。

## 参数选择

`--spec-draft-n-max` 取 3/4/5/6/7 分别测试，5 最快但 4 命中率最高，综合选了 **4**。

## 为什么值得看

这是"不折腾"路线的里程碑：单卡 + 官方版本 + 投机解码，三个之前互相矛盾的条件第一次同时满足。


---
来源：https://laobanclaw.top/articles/dflash2-official-llama-cpp/（AI 军火库）
