手法 × タスク × モデル: 何もしない (1.00x) 比の decode 高速化

September 19, 2026 · View on GitHub

decode 専用 tok/s の比 (prefill 除外)、batch=1、greedy。transformers (Hugging Face の推論ライブラリ、eager 実行) は kernel 未最適化 (特に 27B の linear attention) なので比のみ参考。

Model量子化RuntimectxTask手法speeduptok/s備考
Qwen3-4Bbf16transformers (eager)300Tool Callなし1.00x78.1受理 0.00/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300Tool CallChoiceSpec: 有限候補+scorer3.77x293.9受理 4.10/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300Tool CallDFlash (draft のみ)2.85x222.6受理 3.34/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300Tool CallChoiceSpec: DFlash+有限候補+scorer3.55x277.2受理 4.44/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300Tool CallChoiceSpec hybrid (scorer が draft 呼び出しを制御)3.96x308.9受理 4.44/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300 (L=16)Tool Callなし1.00x78.2受理 0.00/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300 (L=16)Tool CallChoiceSpec: 有限候補+scorer4.71x368.5受理 5.07/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300 (L=16)Tool CallDFlash (draft のみ)2.85x222.8受理 3.65/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300 (L=16)Tool CallChoiceSpec: DFlash+有限候補+scorer4.42x345.4受理 5.83/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300 (L=16)Tool CallChoiceSpec hybrid (scorer が draft 呼び出しを制御)4.80x375.5受理 5.72/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300Python (repo)なし1.00x74.2受理 0.00/step, 一致 100%
Qwen3-4Bbf16transformers (eager)300Python (repo)有限候補 (prior top-1)1.19x88.4受理 0.65/step, 一致 72%
Qwen3-4Bbf16transformers (eager)300Python (repo)ChoiceSpec: 有限候補+scorer1.30x96.3受理 0.67/step, 一致 79%
Qwen3-4Bbf16transformers (eager)300Python (repo)DFlash (draft のみ)2.05x152.4受理 2.21/step, 一致 76%
Qwen3-4Bbf16transformers (eager)300Python (repo)ChoiceSpec: DFlash+有限候補+scorer1.90x141.3受理 2.16/step, 一致 79%
Qwen3-4Bbf16transformers (eager)16kTool Callなし1.00x51.1受理 0.00/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kTool Call有限候補 (prior top-1)0.78x40.0受理 1.62/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kTool CallChoiceSpec: 有限候補+scorer0.98x49.9受理 2.04/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kTool CallDFlash (draft のみ)0.63x32.3受理 1.53/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kTool CallChoiceSpec: DFlash+有限候補+scorer0.95x48.3受理 2.52/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kTool CallChoiceSpec hybrid (scorer が draft 呼び出しを制御)1.00x51.3受理 2.52/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kPython (repo)なし1.00x59.8受理 0.00/step, 一致 100%
Qwen3-4Bbf16transformers (eager)16kPython (repo)有限候補 (prior top-1)0.48x28.9受理 0.73/step, 一致 62%
Qwen3-4Bbf16transformers (eager)16kPython (repo)ChoiceSpec: 有限候補+scorer0.63x37.7受理 0.73/step, 一致 62%
Qwen3-4Bbf16transformers (eager)16kPython (repo)DFlash (draft のみ)0.69x41.1受理 1.60/step, 一致 54%
Qwen3-4Bbf16transformers (eager)16kPython (repo)ChoiceSpec: DFlash+有限候補+scorer0.73x43.4受理 1.46/step, 一致 67%
Qwen3-4Bbf16transformers (eager)16kPython (repo)ChoiceSpec hybrid (scorer が draft 呼び出しを制御)0.70x41.9受理 1.46/step, 一致 67%
Qwen3.8-27Bbf16transformers (eager)300Tool Callなし1.00x18.2受理 0.00/step, 一致 100%
Qwen3.8-27Bbf16transformers (eager)300Tool Call有限候補 (prior top-1)2.85x51.8受理 2.43/step, 一致 38%
Qwen3.8-27Bbf16transformers (eager)300Tool CallChoiceSpec: 有限候補+scorer3.81x69.3受理 3.42/step, 一致 55%
Qwen3.8-27Bbf16transformers (eager)300Tool CallDFlash2 (draft のみ)4.79x87.2受理 5.73/step, 一致 86%
Qwen3.8-27Bbf16transformers (eager)300Tool CallChoiceSpec: DFlash2+有限候補+scorer4.70x85.6受理 5.78/step, 一致 83%
Qwen3.8-27Bbf16transformers (eager)300Tool CallChoiceSpec hybrid (scorer が draft 呼び出しを制御)4.63x84.3受理 5.01/step, 一致 59%
Qwen3.8-27BFP8transformers (eager)300Tool Callなし1.00x15.8受理 0.00/step, 一致 100%
Qwen3.8-27BFP8transformers (eager)300Tool Call有限候補 (prior top-1)2.65x41.8受理 2.39/step, 一致 38%
Qwen3.8-27BFP8transformers (eager)300Tool CallChoiceSpec: 有限候補+scorer3.51x55.4受理 3.40/step, 一致 59%
Qwen3.8-27BFP8transformers (eager)300Tool CallDFlash2 (draft のみ)4.72x74.5受理 5.73/step, 一致 90%
Qwen3.8-27BFP8transformers (eager)300Tool CallChoiceSpec: DFlash2+有限候補+scorer4.75x75.0受理 5.94/step, 一致 90%
Qwen3.8-27BFP8transformers (eager)300Tool CallChoiceSpec hybrid (scorer が draft 呼び出しを制御)4.51x71.3受理 5.18/step, 一致 66%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool Callなし1.00x23.3受理 0.00/step, 一致 100%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool Call有限候補 (prior top-1)2.31x53.9受理 2.35/step, 一致 31%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool CallChoiceSpec: 有限候補+scorer3.16x73.6受理 3.48/step, 一致 55%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool CallDFlash2 (draft のみ)3.89x90.5受理 5.70/step, 一致 90%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool CallMTP head (draft のみ, HF 実装)3.30x76.7受理 6.97/step, 一致 86%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool CallChoiceSpec: DFlash2+有限候補+scorer3.91x91.0受理 5.84/step, 一致 86%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool CallChoiceSpec: MTP+DFlash2+有限候補+scorer2.93x68.3受理 6.28/step, 一致 86%
Qwen3.8-27BNF4 (Q4, bitsandbytes)transformers (eager)300Tool CallChoiceSpec hybrid_all (scorer が MTP/DFlash2 呼び出しを制御)3.26x75.9受理 5.33/step, 一致 69%
Qwen3.8-27Bbf16 (+MTP)transformers (eager)300Tool Callなし1.00x18.3受理 0.00/step, 一致 100%
Qwen3.8-27Bbf16 (+MTP)transformers (eager)300Tool CallChoiceSpec: 有限候補+scorer3.88x71.1受理 3.50/step, 一致 59%
Qwen3.8-27Bbf16 (+MTP)transformers (eager)300Tool CallDFlash2 (draft のみ)4.87x89.3受理 5.82/step, 一致 90%
Qwen3.8-27Bbf16 (+MTP)transformers (eager)300Tool CallMTP head (draft のみ, HF 実装)4.28x78.4受理 7.02/step, 一致 93%
Qwen3.8-27Bbf16 (+MTP)transformers (eager)300Tool CallChoiceSpec: MTP+DFlash2+有限候補+scorer3.70x67.8受理 6.31/step, 一致 93%
Qwen3.8-27Bbf16 (+MTP)transformers (eager)300Tool CallChoiceSpec hybrid_all (scorer が MTP/DFlash2 呼び出しを制御)3.92x71.9受理 5.15/step, 一致 69%
Qwen3-4Bbf16vLLM 0.29300Tool Callなし1.00x125.1
Qwen3-4Bbf16vLLM 0.29300Python (repo)なし1.00x134.1
Qwen3-4Bbf16vLLM 0.2916kTool Callなし1.00x121.3
Qwen3-4Bbf16vLLM 0.2916kPython (repo)なし1.00x119.1
Qwen3-4Bbf16vLLM 0.29300Tool CallvLLM ngram (prompt lookup)1.94x242.6一致 100%
Qwen3-4Bbf16vLLM 0.29300Python (repo)vLLM ngram (prompt lookup)1.28x171.7一致 50%
Qwen3-4Bbf16vLLM 0.2916kTool CallvLLM ngram (prompt lookup)0.76x92.5一致 94%
Qwen3-4Bbf16vLLM 0.2916kPython (repo)vLLM ngram (prompt lookup)0.68x81.1一致 62%
Qwen3-4Bbf16vLLM 0.29300Tool CallvLLM DFlash k=155.38x673.6一致 100%
Qwen3-4Bbf16vLLM 0.29300Python (repo)vLLM DFlash k=152.38x319.4一致 31%
Qwen3-4Bbf16vLLM 0.2916kTool CallvLLM DFlash k=150.99x119.6一致 94%
Qwen3-4Bbf16vLLM 0.2916kPython (repo)vLLM DFlash k=150.92x110.0一致 56%
Qwen3-4Bbf16vLLM 0.29300Tool CallvLLM ngram k=161.87x234.4一致 100%
Qwen3-4Bbf16vLLM 0.29300Python (repo)vLLM ngram k=161.22x163.5一致 69%
Qwen3-4Bbf16vLLM 0.2916kTool CallvLLM ngram k=160.75x91.0一致 94%
Qwen3-4Bbf16vLLM 0.2916kPython (repo)vLLM ngram k=160.71x84.5一致 62%
Qwen3.8-27Bbf16vLLM 0.29300Tool Callなし1.00x27.1
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM ngram (prompt lookup)1.85x50.2一致 31%
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM DFlash2 k=76.92x187.3一致 100%
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM MTP k=33.37x91.2一致 100%
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM MTP k=11.84x49.9一致 100%
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM MTP k=75.74x155.5一致 100%
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM MTP k=157.09x192.0一致 100%
Qwen3.8-27Bbf16vLLM 0.29300Tool CallvLLM DFlash2 k=158.30x224.7一致 100%
Qwen3.8-27BAWQ INT4 (Q4)vLLM 0.29300Tool Callなし1.00x62.9
Qwen3.8-27BAWQ INT4 (Q4)vLLM 0.29300Tool CallvLLM ngram (prompt lookup)1.22x76.9一致 38%
Qwen3.8-27BAWQ INT4 (Q4)vLLM 0.29300Tool CallvLLM DFlash2 k=76.22x391.2一致 100%
Qwen3.8-27BAWQ INT4 (Q4)vLLM 0.29300Tool CallvLLM MTP k=74.26x267.8一致 100%
Qwen3.8-27BNVFP4 (Q4)vLLM 0.29300Tool Callなし1.00x49.6
Qwen3.8-27BNVFP4 (Q4)vLLM 0.29300Tool CallvLLM ngram (prompt lookup)0.81x40.3一致 31%
Qwen3.8-27BNVFP4 (Q4)vLLM 0.29300Tool CallvLLM DFlash2 k=74.61x228.8一致 94%
Qwen3.8-27BNVFP4 (Q4)vLLM 0.29300Tool CallvLLM MTP k=75.95x295.2一致 88%
Qwen3.8-Flash-Next (MoE)FP8 TP=4vLLM 0.29300Tool Callなし1.00x102.3
Qwen3.8-Flash-Next (MoE)FP8 TP=4vLLM 0.29300Tool CallvLLM MTP k=75.77x590.3一致 100%
Qwen3.8-27BGGUF Q4_K_Mllama.cpp300Tool Callなし1.00x39.1
Qwen3.8-27BGGUF Q4_K_Mllama.cpp300Tool Callllama.cpp ngram-simple1.00x38.9
Qwen3.8-27BGGUF Q4_K_Mllama.cpp300Tool Callllama.cpp MTP k=31.87x73.2
Qwen3.8-27BGGUF Q4_K_Mllama.cpp300Tool Callllama.cpp MTP k=72.03x79.3
Qwen3.8-27BGGUF Q4_K_Mllama.cpp300Tool Callllama.cpp DFlash2 k=73.75x146.7

Scorer (offline, L=8): 候補選択 top-1 正解率 / 平均受理 token (prior → scorer, oracle)

Model評価 hidden候補priorscorer受理 prior→scorer (oracle)
Qwen3-4Bbf16finite60.3%80.3%3.84 → 4.73 (5.48)
Qwen3-4Bbf16union60.1%84.9%5.12 → 5.71 (6.21)
Qwen3-4B (Python)bf16finite63.0%70.8%1.60 → 1.88 (2.48)
Qwen3-4B (Python)bf16union75.2%73.4%3.40 → 3.43 (4.03)
Qwen3.8-27Bbf16 (layer 64)finite64.1%88.0%4.41 → 5.56 (5.97)
Qwen3.8-27Bbf16 (layer 48)finite64.1%84.3%4.41 → 5.38 (5.97)
Qwen3.8-27BFP8 (bf16 学習を転移)finite64.0%83.8%4.44 → 5.39 (6.00)
Qwen3.8-27BNF4 (Q4) (bf16 学習を転移)finite64.2%81.1%4.34 → 5.20 (5.89)
Qwen3.8-27Bbf16union46.0%80.8%6.11 → 6.30 (6.83)
Qwen3.8-27BFP8 (転移)union45.5%79.8%6.12 → 6.28 (6.85)
Qwen3.8-27BNF4 (転移)union46.2%78.9%6.04 → 6.20 (6.77)
Qwen3.8-27Bbf16union_mtp47.9%85.3%6.32 → 6.58 (6.93)
Qwen3.8-27Bbf16union_all42.8%84.0%6.11 → 6.57 (6.95)