HuggingFace镜像/Qwen3.6-27B-DFlash-GGUF
模型介绍文件和版本分析
下载使用量0

Qwen3.6-27B-DFlash — GGUF(Q4_K_M + Q8_0)

z-lab/Qwen3.6-27B-DFlash的llama.cpp量化版本,这是DFlash推测解码的块扩散草稿模型。请将其与Qwen/Qwen3.6-27B(或其量化版本)搭配使用。

已发布两种量化版本:

文件大小推荐使用?
dflash-draft-3.6-q8_0.gguf1.75 GB是 — 推荐使用此版本。 与F16的接受率一致。
dflash-draft-3.6-q4_k_m.gguf1.03 GB仅在显存受限的情况下使用;接受率会下降约17个百分点。

与3.5版本草稿模型(全注意力机制,Q4量化稳定性好)不同,3.6版本草稿模型引入了因果滑动窗口注意力层(模式为[S,S,S,S,F],窗口大小=2048)。这些SWA层对Q4量化较为敏感——在相同工作负载下,Q4_K_M量化会导致接受率从约43%降至约28%。Q8_0是保留F16质量的最小量化版本,并且在我们的基准测试中运行速度略快于F16。

要求

DFlash推测解码尚未集成到上游llama.cpp中。您需要使用以下分支:

  • 分支:spiritbuun/buun-llama-cpp(master分支)
  • 对DFlash草稿模型的SWA支持已在提交b9d01582b(SD-073)中实现。旧版本的检查点虽然能加载草稿模型,但会生成无意义内容。
  • 编译命令:cmake -B build -DGGML_CUDA=ON -DGGML_NATIVE=ON -DGGML_CUDA_FA=ON -DGGML_CUDA_FA_ALL_QUANTS=ON

用法

llama-server

./build/bin/llama-server \
    -m   /path/to/Qwen3.6-27B-target.Q4_K_M.gguf \
    -md  /path/to/dflash-draft-3.6-q8_0.gguf \
    --spec-type dflash \
    -ngl 99 -ngld 99 \
    -np 1 -c 6048 -cd 256 \
    -fa on -b 256 -ub 64 \
    --host 0.0.0.0 --port 8080 --jinja \
    --chat-template-kwargs '{"enable_thinking": false}'

思维陷阱: Qwen3.6 对话模板默认启用 </think>…</RichMediaReference>。这会导致 DFlash 接受率下降,因为草稿模型并未在包含思维包裹的分布上进行训练。可通过传递 --chat-template-kwargs '{"enable_thinking": false}' 来禁用该功能(吞吐量提升约 1.8 倍)。

llama-speculative-simple

./build/bin/llama-speculative-simple \
    -m   /path/to/Qwen3.6-27B-target.Q4_K_M.gguf \
    -md  /path/to/dflash-draft-3.6-q8_0.gguf \
    --spec-type dflash \
    -ngl 99 -ngld 99 \
    -c 4096 --draft-max 16 --draft-min 1 \
    -p "Write a Python mergesort."

观测性能(RTX 3090,llama-server,目标模型 Qwen3.6-27B UD-Q4_K_XL,Python BST 代码提示词,温度系数 = 0,400 tokens,思考模式关闭)

草稿模型量化版本原始速度 (t/s)原始接受率对话速度 (t/s)对话接受率
Q8_0 (推荐)8737 %9743 %
F168036 %9345 %
Q4_K_M7329 %7028 %

Q8_0 版本在误差范围内性能接近 F16,且体积仅为其一半。

与 3.5 版本草稿模型的对比说明

短上下文代码提示词不会触发滑动窗口注意力机制(大多数查询都在 2048 token 窗口内),因此 3.6 版本草稿模型的架构变更在此基准测试中未带来显著优势。滑动窗口注意力(SWA)基础设施预计在更长上下文的工作负载(生成 tokens > 2k)中发挥作用。在短代码任务上,3.6 版本的 Q8_0 量化版本吞吐量约为 3.5 版本 Q4_K_M 量化版本的 1.3 倍,这是因为 3.6 版本的目标模型与重新训练的草稿模型配合得更好。

量化详情

  • 源模型:z-lab/Qwen3.6-27B-DFlash(BF16 safetensors 格式,20 亿参数)
  • 转换工具:来自 spiritbuun/buun-llama-cpp 的 convert_hf_to_gguf.py — 会生成 qwen35.attention.sliding_window 和 qwen35.attention.sliding_window_pattern,以便运行时构建每层的 SWA 掩码
  • 量化版本:llama-quantize → Q4_K_M、Q8_0
  • 张量构成:草稿模型 transformer(5 层,模式 [S,S,S,S,F],窗口大小 = 2048)+ 投影头 + 交叉注意力层,对应 Qwen3.6-27B 的层 ID 为 [1, 16, 31, 46, 61]

复现转换过程

分词器注意事项: 上游 z-lab/Qwen3.6-27B-DFlash 仓库仅提供 config.json、model.safetensors 和 README — 无分词器文件。草稿模型共享目标模型的分词器。请先将 Qwen3.6 的分词器文件复制到草稿模型目录中。

# 1. Pull the DFlash drafter weights
hf download z-lab/Qwen3.6-27B-DFlash --local-dir ./dflash-drafter-3.6

# 2. Pull tokenizer files from the target model into the same directory
hf download Qwen/Qwen3.6-27B \
    tokenizer.json tokenizer_config.json vocab.json merges.txt \
    special_tokens_map.json \
    --local-dir ./dflash-drafter-3.6

# 3. Convert to GGUF (F16 first, then quantize)
python convert_hf_to_gguf.py ./dflash-drafter-3.6 \
    --outtype f16 \
    --outfile dflash-draft-3.6-f16.gguf

# 4. Quantize
./build/bin/llama-quantize dflash-draft-3.6-f16.gguf dflash-draft-3.6-q8_0.gguf Q8_0
./build/bin/llama-quantize dflash-draft-3.6-f16.gguf dflash-draft-3.6-q4_k_m.gguf Q4_K_M

步骤 3 前 ./dflash-drafter-3.6/ 目录中所需的文件:

文件来源
config.jsonz-lab/Qwen3.6-27B-DFlash(包含 architectures: ["DFlashDraftModel"]、use_sliding_window: true、layer_types: [...])
model.safetensorsz-lab/Qwen3.6-27B-DFlash
tokenizer.json、tokenizer_config.json、vocab.json、merges.txt、special_tokens_map.jsonQwen/Qwen3.6-27B

转换器会从 config.json 中自动检测 DFlashDraftModel,并在设置 use_sliding_window 时生成 SWA 元数据。


原始模型卡片 — z-lab/Qwen3.6-27B-DFlash

转载自上游模型页面。许可证:MIT。

概述

Qwen3.6-27B-DFlash 是用于 DFlash 推测性解码的轻量级草稿模型组件。它必须与目标模型 Qwen/Qwen3.6-27B 配合使用。

  • 论文:https://arxiv.org/abs/2602.06036
  • GitHub:https://github.com/z-lab/dflash
  • 博客:https://z-lab.ai/projects/dflash/
  • 模型大小:20 亿参数(BF16)

什么是 DFlash?

DFlash 是一种新颖的推测性解码方法,它使用轻量级块扩散模型进行草稿生成,能够实现高效、高质量的并行草稿生成,从而显著加快推理速度。

上游快速开始(vLLM / SGLang)

vLLM

uv pip install -U vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly

vllm serve Qwen/Qwen3.6-27B \
  --speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.6-27B-DFlash", "num_speculative_tokens": 15}' \
  --attention-backend flash_attn \
  --max-num-batched-tokens 32768

SGLang

python -m sglang.launch_server \
    --model-path Qwen/Qwen3.6-27B \
    --speculative-algorithm DFLASH \
    --speculative-draft-model-path z-lab/Qwen3.6-27B-DFlash \
    --speculative-num-draft-tokens 16 \
    --tp-size 1 \
    --attention-backend fa3 \
    --mem-fraction-static 0.75 \
    --trust-remote-code

引用

@article{chen2026dflash,
  title   = {{DFlash: Block Diffusion for Flash Speculative Decoding}},
  author  = {Chen, Jian and Liang, Yesheng and Liu, Zhijian},
  journal = {arXiv preprint arXiv:2602.06036},
  year    = {2026}
}

许可证

MIT——继承自上游模型。本仓库根据相同条款重新分发量化衍生品。