
不用魔改、不用双卡、不用 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) |
编译与启动
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 8080DFlash2 是什么
DFlash2 是本地卷积 + 候选选择器的投机解码方案:用一个轻量 Draft 模型快速"猜"接下来的 4-7 个 token,主模型一次性验证。猜对了就直接接受,不用逐个生成——相当于把"一个一个吐字"变成"一批一批验证"。
参数选择
--spec-draft-n-max 取 3/4/5/6/7 分别测试,5 最快但 4 命中率最高,综合选了 4。
为什么值得看
这是"不折腾"路线的里程碑:单卡 + 官方版本 + 投机解码,三个之前互相矛盾的条件第一次同时满足。