- spiritbuun vừa push bản triển khai DFlash — speculative decoding kiểu block-diffusion — vào fork buun-llama-cpp.
- Một dòng lệnh --spec-type dflash, draft model 5 layer, block 16 token mỗi forward pass, tốc độ gấp 6–8 lần so với decode thường và hơn EAGLE-3 khoảng 2.5×.
TL;DR
DFlash — framework speculative decoding dùng mô hình block diffusion thay vì draft autoregressive — vừa có bản chạy được dưới llama.cpp. spiritbuun push code vào fork buun-llama-cpp, cờ mới --spec-type dflash, draft model sinh 16 token trong 1 forward pass song song. Paper Z Lab công bố up to 6× lossless acceleration, PR upstream benchmark 8.08× trên Qwen3-8B khi generate code, và nhanh hơn EAGLE-3 tới 2.5×. PR chính thức #22105 trên ggml-org/llama.cpp vẫn ở trạng thái draft, nên hôm nay muốn chạy thì fork của buun là con đường ngắn nhất.
What's new
Trong tweet ngày 24/04, spiritbuun thông báo đã push implementation DFlash hoàn chỉnh vào buun-llama-cpp — fork thử nghiệm vốn đã ship Turboquant CUDA KV-cache quantization. Lệnh chạy:
buun-llama-cpp/llama-server \
-m Qwen3.6-27B.gguf \
-md dflash-draft-q4_k_m.gguf \
--spec-type dflashCờ -md trỏ draft model, --spec-type dflash chọn backend DFlash thay vì autoregressive draft (EAGLE3 / n-gram) có sẵn. Draft model đi kèm là GGUF Q4_K_M — nghĩa là bản thân drafter cũng đã được quantize rất chặt, tận dụng chính pipeline GGUF của llama.cpp.
Why it matters
llama.cpp xưa nay đã có speculative decoding, nhưng drafter vẫn là mô hình autoregressive nhỏ — chi phí drafting tăng tuyến tính theo số token nháp, nên mô hình nháp buộc phải nông. EAGLE-3 đẩy ý tưởng đó đến cực đoan: chỉ 1 transformer layer làm drafter để giữ latency thấp, nhưng chất lượng draft thấp theo.
DFlash lật ngược bài toán. Block diffusion sinh cả khối K token trong một forward pass song song, nên drafting cost gần như phẳng theo K. Hệ quả: có thể build drafter sâu hơn (5 layer, 8 cho Qwen3 Coder), draft chất lượng hơn, acceptance rate cao hơn, mà latency vẫn cạnh tranh. Bài toán từ "drafter mỏng nhanh nhưng sai nhiều" chuyển thành "drafter dày vẫn nhanh và đoán trúng hơn".
Technical facts
- Block size: 16 token/draft pass (10 cho LLaMA 3.1).
- Draft depth: 5 transformer layer (8 cho Qwen3 Coder) — vs 1 layer của EAGLE-3.
- Lossless: output đồng nhất về mặt số với target model — speculative decoding chuẩn, không đánh đổi chất lượng.
- Draft quantization: GGUF Q4_K_M trong demo của buun, giữ drafter nhẹ trên VRAM.
- Paper: DFlash: Block Diffusion for Flash Speculative Decoding, Chen / Liang / Liu, arXiv 2602.06036, 05/02/2026.
- Upstream PR: ggml-org/llama.cpp #22105 (author ruixiang63, 19/04/2026, vẫn draft, stack trên EAGLE3 PR #18039).
- Issue gốc yêu cầu support: #21978 với tiêu đề thẳng toẹt "from 40 tok/sec to 400 tok/sec".
Comparison
| Yếu tố | DFlash | EAGLE-3 | Autoregressive draft cũ |
|---|---|---|---|
| Cơ chế drafting | Block diffusion, song song | Autoregressive | Autoregressive |
| Draft layers | 5–8 | 1 | Tuỳ |
| Token/forward pass | 16 | 1 | 1 |
| Speedup báo cáo | 6–8× lossless | baseline | ≤2–3× |
| vs EAGLE-3 | +2.5× speedup | — | — |
Benchmark cụ thể trên PR #22105 (NVIDIA L40S) cho Qwen3-8B: 8.08× khi sinh code, 1.49× khi trip planning — tức mức speedup phụ thuộc mạnh vào pattern output. Task có cấu trúc, vocabulary hẹp (code) ăn gain rất đậm; reasoning dài, rẽ nhánh nhiều thì gain mỏng hơn. Với MoE hybrid Qwen3.5-35B-A3B, discussion #21569 ghi nhận 2–2.8×, Qwen3.5-9B lên tới 3.5×.
Use cases
Ai nên để ý ngay:
- Local coding assistants chạy Qwen3-8B / Qwen3.6-27B trên một GPU — đây là sweet spot, gain 6–8× biến setup chậm thành usable real-time.
- Batch inference nội bộ cho document processing, summarization, code review — cùng một GPU đẻ ra throughput gấp nhiều lần mà không đổi weights target.
- Edge / self-hosted team chạy gpt-oss-20b hoặc Qwen3 series — Z Lab đã publish sẵn draft models trên HuggingFace (
z-lab/Qwen3-8B-DFlash,Qwen3-4B-DFlash,gpt-oss-20b-DFlash,Qwen3.5-4B-DFlash), chỉ việc convert GGUF và chạy.
Ngoài llama.cpp, SGLang và vLLM cũng đã có nhánh DFlash — nên nếu bạn đang serve production, nâng cấp ngay sau khi ổn định sẽ có biên cost/tok rất đẹp.
Limitations & pricing
- Chưa merge upstream. PR #22105 còn draft, phụ thuộc EAGLE3 PR #18039. Fork buun là đường nhanh, nhưng không có SLA — bug, breakage và rebase là chuyện bình thường.
- MoE + hybrid khó hơn. Kiến trúc recurrent-state management làm gain giảm; tác giả PR nói thẳng code "quite far from optimal" về KV cache reuse và graph efficiency.
- Cần đúng draft model. Mỗi target cần một DFlash drafter tương thích — không phối ngẫu nhiên được. Qwen3.5-122B, Qwen3.5-397B, GLM-5.1 vẫn đang "coming soon".
- Giá: OSS, license MIT (z-lab/dflash). Không có cost license — chỉ cost compute.
What's next
Roadmap ngắn hạn: EAGLE3 merge → DFlash merge upstream llama.cpp → DDTree (được nhắc trong discussion #21569) xếp chồng lên DFlash để đẩy thêm một tầng song song nữa. Song song, Z Lab sẽ drop thêm draft cho các mô hình to hơn (Qwen3.5-122B, GLM-5.1). Ngắn hạn hơn nữa: một loạt fork kiểu buun sẽ xuất hiện, mỗi bản trade-off khác nhau giữa kernel optimization, KV quant và draft size.
Nếu bạn đang chạy Qwen3/Qwen3.6 local và đã có EAGLE-3 hoặc draft thường, đây là lúc clone buun-llama-cpp, kéo draft DFlash và đo số trên workload thật của mình — speedup 6–8× không phải con số đọc cho vui.
Nguồn: @spiritbuun, PR #22105, z-lab/dflash, arXiv 2602.06036.



