Qwen3.6-27B-DFlash-ja
Qwen/Qwen3.6-27B (multimodal Qwen3.5) ファミリ向けの
DFlash 互換 draft model です。具体的には
AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-Multimodal-NVFP4-MTP-XS を target にした投機的デコーディングで、日本語タスクをもう少し速く回せないか、というお試しで作ってみました。
z-lab/Qwen3.6-27B-DFlash を初期重みとして英語 + 日本語データで追加学習しています。
その結果、日本語タスクの acceptance length が改善しました。
DFlash (
An et al., arXiv:2602.06036) の block-diffusion drafter です。Qwen3.6-27B ファミリを target にした投機的デコーディングで使えます。
vLLM の --speculative-config method=dflash でそのまま動作します。
Installation
1uv pip install vllm
2uv pip install -U vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly
使い方 (vLLM)
1vllm serve AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-Multimodal-NVFP4-MTP-XS \
2 --tokenizer Qwen/Qwen3.6-27B \
3 --tensor-parallel-size 1 \
4 --gpu-memory-utilization 0.85 \
5 --max-num-seqs 4 \
6 --enable-chunked-prefill \
7 --attention-backend flash_attn \
8 --quantization modelopt \
9 --dtype auto \
10 --trust-remote-code \
11 --speculative-config '{"method":"dflash","model":"zan/Qwen3.6-27B-DFlash-ja","num_speculative_tokens":10}'
drafter は auto_map: {"AutoModel": "dflash.DFlashDraftModel"} 経由でロードされるため、--trust-remote-code 必須です。
学習レシピ (概要)
| 項目 | 値 |
|---|
| 初期重み | z-lab/Qwen3.6-27B-DFlash (FT で継承) |
| 追加学習データ | 英語 chat 5,003 + 日本語コーディング 2,000 + 日本語 chat 10,306 = 17,309 sample |
| target hidden 抽出 | AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-Multimodal-NVFP4-MTP-XS を 独自に bf16 へ dequant した上で 5 層 [1, 16, 31, 46, 61] を抽出。E2M1 LUT + per-block FP8 + global FP32 scale を自前で復元 |
| 学習方式 | full-seq context + block-sparse anchor attention (z-lab の DFlash 訓練を移植) |
| epoch / lr / block_size / max_anchors | 2 / 3e-5 / 16 / 256 |
| grad_accum / warmup_ratio / loss_gamma | 2 / 0.03 / 7.0 |
| max_seq_len | 4096 |
| 計算 | NVIDIA GB10 (Spark) 1 台、cache 抽出 ~4.5h + 学習 ~8.5h + bench 30min = 全体 ~14h |
ベンチマーク
論文に倣い num_speculative_tokens=10, max_tokens=512, concurrency=1 で測定しました。τ = mean accept length (=acceptance_rate × 10 + 1)、tok/s は wall-clock スループットの中央値です。
日本語 (13 prompts)
| dataset | n | z-lab τ / tok/s | 本モデル τ / tok/s | Δ τ |
|---|
| jp_general | 1 | 2.37 / 20.21 | 2.92 / 24.88 | +23% |
| jp_code | 1 | 2.77 / 23.36 | 3.46 / 29.15 | +25% |
| jp_reasoning | 1 | 2.88 / 24.24 | 3.47 / 29.21 | +21% |
| jp_seed (mix) | 10 | 2.48 / 20.17 | 3.01 / 23.28 | +22% |
| JP overall (median) | 13 | 2.53 / 20.66 | 3.07 / 24.88 | +22% τ / +20% tok/s |
JP では 13 prompt 中 12 prompt で z-lab を上回り、残り 1 prompt も -5% 以内のズレに収まっています。
英語 (13 prompts)
| dataset | n | z-lab τ / tok/s | 本モデル τ / tok/s | Δ τ |
|---|
| en_general | 3 | 2.79 / 22.94 | 2.99 / 26.67 | +7% |
| en_code | 3 | 6.07 / 48.04 | 6.72 / 56.97 | +11% |
| en_math | 3 | 6.43 / 51.06 | 6.78 / 53.69 | +5% |
| en_reason | 2 | 4.69 / 39.38 | 4.58 / 38.51 | -2% |
| en_long | 2 | 6.57 / 53.99 | 6.65 / 54.76 | +1% |
| EN overall (median) | 13 | 5.26 / 47.35 | 5.53 / 52.99 | +5% τ / +12% tok/s |
英語ベンチも 13 prompt 中 13 で同等以上、特に code / math 領域で安定して上回ります。
en_reasoning_001 の単独計測
日本語に振り切ったレシピだと、論理推論系の単一プロンプト (en_reason_001) で z-lab に対して -31% (38.41 tok/s vs 55.63 tok/s) まで落ちることが過去の実験で観測されていました。本モデルでは teacher mismatch fix によって -3.5% (53.67 tok/s vs 55.63 tok/s) までほぼ回帰が消えています。「日本語化のために英語推論を捨てる」必要がなくなっています。
⚠ ベンチマーク条件について
z-lab 列は 本環境で再測定した値 であり、z-lab がモデルカードで公開している τ とは別物です。
| 項目 | 本ベンチ | z-lab 公開値 |
|---|
| target モデル | AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-Multimodal-NVFP4-MTP-XS | Qwen/Qwen3.6-27B bf16 |
| inference | vLLM (chunked-prefill, flash_attn) | SGLang FA4 (推定) |
| HW | NVIDIA GB10 (Spark) | NVIDIA H200 (推定) |
| subset | 各カテゴリ 1-10 prompt | テストセット全件 |
num_speculative_tokens | 10 | (z-lab 公開値の設定不明) |
NVFP4 量子化と subset 取得の影響で、τ の絶対値は z-lab 公式 (理想化された bf16 環境) より低めに出ています。
既知の制約
- target は
AEON-7/Qwen3.6-27B-AEON-Ultimate-Uncensored-Multimodal-NVFP4-MTP-XS を想定しています。アーキテクチャ互換な他の Qwen3.6-27B 派生モデル (bf16 / 他の NVFP4 派生など) を target にしても動作はしますが、本モデルは XS target の hidden 分布に合わせて学習しているため、acceptance rate は劣化する見込みで、報告値の利得は再現されない可能性があります。
- subset での bench であり、
gsm8k / humaneval などの full-set bench は未実施です。
ライセンス
Apache 2.0 (上流 Qwen3.6 / z-lab 継承)。
謝辞
モデル・コード
学習データ
- 英語 chat (5,003): HuggingFaceH4/ultrachat_200k のプロンプトを target で再生成
- 日本語コーディング (2,000): llm-jp/Synthetic-JP-EN-Coding-Dataset のプロンプトを target で再生成
- 日本語 chat (10,306): データセット (jp_general / jp_code / jp_long / tool 等のカテゴリで構成)