Huang2020/Qwen3.6-27B-Domino

Model

Qwen3.6-27B-Domino

3

11 commits

3 linked in READMEs

updated Jul 28, 2026

See the code

README

Qwen3.6-27B-Domino

Paper | GitHub

This is a block-size-16 Domino draft model for the target model Qwen/Qwen3.6-27B. It is intended for speculative decoding with the Domino-enabled SGLang branch.

Quick Start

Install the matching SGLang branch:

uv pip install "git+https://github.com/jianuo-huang/sglang.git@feat/domino-tensor-parallel#subdirectory=python"

Launch the regular b16 configuration:

python -m sglang.launch_server \
  --model-path Qwen/Qwen3.6-27B \
  --speculative-algorithm DFLASH \
  --speculative-draft-model-path huang2020/Qwen3.6-27B-Domino \
  --speculative-dflash-block-size 16 \
  --speculative-num-draft-tokens 16 \
  --tp-size 2 \
  --attention-backend flashinfer \
  --mamba-scheduler-strategy extra_buffer \
  --trust-remote-code

For b8, set --speculative-num-draft-tokens 8 while keeping --speculative-dflash-block-size 16.

SGLang implementation: PR #32018.

Benchmark

Methods. AR is target-only decoding. MTP-S3/S7/S15 use the built-in Qwen3.6 MTP heads with 3/7/15 steps, 4/8/16 draft tokens, and top-k 1. DFlash uses the official z-lab/Qwen3.6-27B-DFlash checkpoint at revision 0919688.

For DFlash and Domino, b16 is the regular block-16 run and the target verifies all 16 positions. b8 keeps the same block-16 draft backbone but the target verifies only the first 8 positions. The draft backbone itself is not shortened.

Setting. Qwen/Qwen3.6-27B, TP2/BF16 on 2×A100 80GB, FlashInfer, O4096, thinking enabled, greedy sampling (temperature=0, top_p=1, top_k=1), C1/C8/C32, and three fresh-server repeats per cell. Workloads are GSM8K-128, MATH500-128, HumanEval-164, MBPP-128, MT-Bench-80, and Alpaca-128.

Qwen3.6-27B serving throughput

Each bar is mean output tok/s over three runs. The black outline marks the fastest speculative configuration for each workload.

Throughput and speedup

Each cell is output tok/s (speedup versus AR). Bold marks the fastest speculative configuration in each row.

Concurrency 1

WorkloadARMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K47.2 (1.00x)126.8 (2.68x)151.9 (3.22x)133.9 (2.84x)179.2 (3.79x)200.9 (4.25x)206.0 (4.36x)248.0 (5.25x)
MATH50047.3 (1.00x)132.3 (2.80x)168.1 (3.55x)151.6 (3.20x)203.2 (4.29x)240.1 (5.07x)217.7 (4.60x)270.6 (5.72x)
HumanEval47.2 (1.00x)125.3 (2.65x)149.9 (3.18x)129.9 (2.75x)188.0 (3.98x)211.1 (4.47x)198.5 (4.20x)235.1 (4.98x)
MBPP47.6 (1.00x)122.6 (2.57x)141.8 (2.98x)117.0 (2.46x)177.5 (3.73x)186.2 (3.91x)189.0 (3.97x)214.0 (4.49x)
MT-Bench47.1 (1.00x)115.1 (2.44x)125.0 (2.65x)100.7 (2.14x)141.5 (3.00x)143.8 (3.05x)155.7 (3.31x)161.9 (3.44x)
Alpaca47.2 (1.00x)112.1 (2.38x)119.8 (2.54x)96.0 (2.03x)135.7 (2.87x)133.9 (2.84x)150.1 (3.18x)157.7 (3.34x)

Concurrency 8

WorkloadARMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K324.4 (1.00x)778.7 (2.40x)913.0 (2.81x)673.3 (2.08x)1016.1 (3.13x)899.0 (2.77x)1153.2 (3.55x)1131.2 (3.49x)
MATH500331.6 (1.00x)846.3 (2.55x)1056.6 (3.19x)805.6 (2.43x)1191.4 (3.59x)1107.4 (3.34x)1255.2 (3.78x)1252.5 (3.78x)
HumanEval331.9 (1.00x)797.5 (2.40x)939.0 (2.83x)684.4 (2.06x)1104.2 (3.33x)985.8 (2.97x)1155.9 (3.48x)1078.5 (3.25x)
MBPP326.7 (1.00x)756.2 (2.32x)872.3 (2.67x)564.5 (1.73x)995.4 (3.05x)850.4 (2.60x)1053.7 (3.23x)950.0 (2.91x)
MT-Bench330.6 (1.00x)713.7 (2.16x)776.3 (2.35x)528.6 (1.60x)808.0 (2.44x)655.2 (1.98x)881.5 (2.67x)752.8 (2.28x)
Alpaca332.6 (1.00x)719.8 (2.16x)740.9 (2.23x)510.9 (1.54x)786.8 (2.37x)616.7 (1.85x)862.9 (2.59x)722.7 (2.17x)

Concurrency 32

WorkloadARMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K862.9 (1.00x)1555.9 (1.80x)1495.6 (1.73x)1034.2 (1.20x)1601.7 (1.86x)1214.0 (1.41x)1817.5 (2.11x)1574.5 (1.82x)
MATH500963.3 (1.00x)1834.1 (1.90x)1795.0 (1.86x)1250.0 (1.30x)1920.0 (1.99x)1478.7 (1.54x)2021.3 (2.10x)1716.2 (1.78x)
HumanEval953.4 (1.00x)1701.1 (1.78x)1607.3 (1.69x)1099.3 (1.15x)1795.8 (1.88x)1351.4 (1.42x)1879.7 (1.97x)1541.3 (1.62x)
MBPP919.5 (1.00x)1577.2 (1.72x)1443.2 (1.57x)948.5 (1.03x)1595.0 (1.73x)1218.6 (1.33x)1547.2 (1.68x)1342.4 (1.46x)
MT-Bench866.8 (1.00x)1352.0 (1.56x)1144.4 (1.32x)721.8 (0.83x)1168.1 (1.35x)817.3 (0.94x)1286.9 (1.48x)920.3 (1.06x)
Alpaca788.1 (1.00x)1387.6 (1.76x)1130.1 (1.43x)718.4 (0.91x)1128.9 (1.43x)790.0 (1.00x)1315.0 (1.67x)894.1 (1.13x)

Macro speedup vs AR

Arithmetic mean of the per-workload TPS ratios; Overall is the arithmetic mean of all 18 workload-by-concurrency ratios.

CMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
12.59x3.02x2.57x3.61x3.93x3.94x4.54x
82.33x2.68x1.90x2.98x2.59x3.22x2.98x
321.75x1.60x1.07x1.71x1.27x1.84x1.48x
Overall2.22x2.43x1.85x2.77x2.60x3.00x3.00x

Accept length

Mean output tokens per target verification step, including the target bonus token. The maxima are 4/8/16 for MTP-S3/S7/S15, 8 for b8, and 16 for b16. Bold marks the highest value within the directly comparable max-8 and max-16 groups.

Concurrency 1

WorkloadMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K3.5565.5036.8555.4496.8786.3359.163
MATH5003.6085.6587.0555.7007.4016.2018.760
HumanEval3.4225.0566.0485.2646.4695.6557.445
MBPP3.3494.7825.4394.9725.7325.4056.803
MT-Bench3.2064.4875.1884.2784.9474.7585.851
Alpaca3.1824.4285.0324.1764.6984.7075.937

Concurrency 8

WorkloadMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K3.5445.5326.8195.4296.7966.3099.310
MATH5003.6045.6607.0015.6637.3866.1948.813
HumanEval3.4295.0556.0245.2676.4405.6597.418
MBPP3.3384.7875.4424.9545.7705.4046.787
MT-Bench3.1984.4965.2014.2944.9674.7495.908
Alpaca3.2034.4155.0224.1464.6694.7435.835

Concurrency 32

WorkloadMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K3.5545.5106.8895.4426.8736.2889.313
MATH5003.6085.6467.0325.6977.3216.2068.789
HumanEval3.4235.0616.0345.2936.4665.6777.449
MBPP3.3464.7555.4974.9425.7525.3736.842
MT-Bench3.1974.5055.2244.3024.9834.7685.923
Alpaca3.1854.4265.0064.1714.6924.7215.812

All 144 displayed method/workload/concurrency cells completed three measured runs.

These are observed serving results. BF16 greedy trajectories can differ across methods, so the TPS differences are not pure kernel-attribution claims.

Citation

@article{huang2026domino,
  title={Domino: Decoupling Causal Modeling from Autoregressive Drafting in Speculative Decoding},
  author={Huang, Jianuo and Zhang, Yaojie and Zhang, Qituan and Lin, Hao and Xu, Hanlin and Zhang, Linfeng},
  journal={arXiv preprint arXiv:2605.29707},
  year={2026}
}

Acknowledgements

Domino builds on DFlash and its block-diffusion drafting formulation.

custom_code
dflash
domino
efficiency
endpoints_compatible
feature-extraction
qwen
qwen3
safetensors
speculative-decoding
text-generation
text-generation-inference
transformers

Huang2020/Qwen3.6-27B-Domino

Model

Qwen3.6-27B-Domino

3

11 commits

3 linked in READMEs

updated Jul 28, 2026

See the code

README

Qwen3.6-27B-Domino

Paper | GitHub

This is a block-size-16 Domino draft model for the target model Qwen/Qwen3.6-27B. It is intended for speculative decoding with the Domino-enabled SGLang branch.

Quick Start

Install the matching SGLang branch:

uv pip install "git+https://github.com/jianuo-huang/sglang.git@feat/domino-tensor-parallel#subdirectory=python"

Launch the regular b16 configuration:

python -m sglang.launch_server \
  --model-path Qwen/Qwen3.6-27B \
  --speculative-algorithm DFLASH \
  --speculative-draft-model-path huang2020/Qwen3.6-27B-Domino \
  --speculative-dflash-block-size 16 \
  --speculative-num-draft-tokens 16 \
  --tp-size 2 \
  --attention-backend flashinfer \
  --mamba-scheduler-strategy extra_buffer \
  --trust-remote-code

For b8, set --speculative-num-draft-tokens 8 while keeping --speculative-dflash-block-size 16.

SGLang implementation: PR #32018.

Benchmark

Methods. AR is target-only decoding. MTP-S3/S7/S15 use the built-in Qwen3.6 MTP heads with 3/7/15 steps, 4/8/16 draft tokens, and top-k 1. DFlash uses the official z-lab/Qwen3.6-27B-DFlash checkpoint at revision 0919688.

For DFlash and Domino, b16 is the regular block-16 run and the target verifies all 16 positions. b8 keeps the same block-16 draft backbone but the target verifies only the first 8 positions. The draft backbone itself is not shortened.

Setting. Qwen/Qwen3.6-27B, TP2/BF16 on 2×A100 80GB, FlashInfer, O4096, thinking enabled, greedy sampling (temperature=0, top_p=1, top_k=1), C1/C8/C32, and three fresh-server repeats per cell. Workloads are GSM8K-128, MATH500-128, HumanEval-164, MBPP-128, MT-Bench-80, and Alpaca-128.

Qwen3.6-27B serving throughput

Each bar is mean output tok/s over three runs. The black outline marks the fastest speculative configuration for each workload.

Throughput and speedup

Each cell is output tok/s (speedup versus AR). Bold marks the fastest speculative configuration in each row.

Concurrency 1

WorkloadARMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K47.2 (1.00x)126.8 (2.68x)151.9 (3.22x)133.9 (2.84x)179.2 (3.79x)200.9 (4.25x)206.0 (4.36x)248.0 (5.25x)
MATH50047.3 (1.00x)132.3 (2.80x)168.1 (3.55x)151.6 (3.20x)203.2 (4.29x)240.1 (5.07x)217.7 (4.60x)270.6 (5.72x)
HumanEval47.2 (1.00x)125.3 (2.65x)149.9 (3.18x)129.9 (2.75x)188.0 (3.98x)211.1 (4.47x)198.5 (4.20x)235.1 (4.98x)
MBPP47.6 (1.00x)122.6 (2.57x)141.8 (2.98x)117.0 (2.46x)177.5 (3.73x)186.2 (3.91x)189.0 (3.97x)214.0 (4.49x)
MT-Bench47.1 (1.00x)115.1 (2.44x)125.0 (2.65x)100.7 (2.14x)141.5 (3.00x)143.8 (3.05x)155.7 (3.31x)161.9 (3.44x)
Alpaca47.2 (1.00x)112.1 (2.38x)119.8 (2.54x)96.0 (2.03x)135.7 (2.87x)133.9 (2.84x)150.1 (3.18x)157.7 (3.34x)

Concurrency 8

WorkloadARMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K324.4 (1.00x)778.7 (2.40x)913.0 (2.81x)673.3 (2.08x)1016.1 (3.13x)899.0 (2.77x)1153.2 (3.55x)1131.2 (3.49x)
MATH500331.6 (1.00x)846.3 (2.55x)1056.6 (3.19x)805.6 (2.43x)1191.4 (3.59x)1107.4 (3.34x)1255.2 (3.78x)1252.5 (3.78x)
HumanEval331.9 (1.00x)797.5 (2.40x)939.0 (2.83x)684.4 (2.06x)1104.2 (3.33x)985.8 (2.97x)1155.9 (3.48x)1078.5 (3.25x)
MBPP326.7 (1.00x)756.2 (2.32x)872.3 (2.67x)564.5 (1.73x)995.4 (3.05x)850.4 (2.60x)1053.7 (3.23x)950.0 (2.91x)
MT-Bench330.6 (1.00x)713.7 (2.16x)776.3 (2.35x)528.6 (1.60x)808.0 (2.44x)655.2 (1.98x)881.5 (2.67x)752.8 (2.28x)
Alpaca332.6 (1.00x)719.8 (2.16x)740.9 (2.23x)510.9 (1.54x)786.8 (2.37x)616.7 (1.85x)862.9 (2.59x)722.7 (2.17x)

Concurrency 32

WorkloadARMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K862.9 (1.00x)1555.9 (1.80x)1495.6 (1.73x)1034.2 (1.20x)1601.7 (1.86x)1214.0 (1.41x)1817.5 (2.11x)1574.5 (1.82x)
MATH500963.3 (1.00x)1834.1 (1.90x)1795.0 (1.86x)1250.0 (1.30x)1920.0 (1.99x)1478.7 (1.54x)2021.3 (2.10x)1716.2 (1.78x)
HumanEval953.4 (1.00x)1701.1 (1.78x)1607.3 (1.69x)1099.3 (1.15x)1795.8 (1.88x)1351.4 (1.42x)1879.7 (1.97x)1541.3 (1.62x)
MBPP919.5 (1.00x)1577.2 (1.72x)1443.2 (1.57x)948.5 (1.03x)1595.0 (1.73x)1218.6 (1.33x)1547.2 (1.68x)1342.4 (1.46x)
MT-Bench866.8 (1.00x)1352.0 (1.56x)1144.4 (1.32x)721.8 (0.83x)1168.1 (1.35x)817.3 (0.94x)1286.9 (1.48x)920.3 (1.06x)
Alpaca788.1 (1.00x)1387.6 (1.76x)1130.1 (1.43x)718.4 (0.91x)1128.9 (1.43x)790.0 (1.00x)1315.0 (1.67x)894.1 (1.13x)

Macro speedup vs AR

Arithmetic mean of the per-workload TPS ratios; Overall is the arithmetic mean of all 18 workload-by-concurrency ratios.

CMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
12.59x3.02x2.57x3.61x3.93x3.94x4.54x
82.33x2.68x1.90x2.98x2.59x3.22x2.98x
321.75x1.60x1.07x1.71x1.27x1.84x1.48x
Overall2.22x2.43x1.85x2.77x2.60x3.00x3.00x

Accept length

Mean output tokens per target verification step, including the target bonus token. The maxima are 4/8/16 for MTP-S3/S7/S15, 8 for b8, and 16 for b16. Bold marks the highest value within the directly comparable max-8 and max-16 groups.

Concurrency 1

WorkloadMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K3.5565.5036.8555.4496.8786.3359.163
MATH5003.6085.6587.0555.7007.4016.2018.760
HumanEval3.4225.0566.0485.2646.4695.6557.445
MBPP3.3494.7825.4394.9725.7325.4056.803
MT-Bench3.2064.4875.1884.2784.9474.7585.851
Alpaca3.1824.4285.0324.1764.6984.7075.937

Concurrency 8

WorkloadMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K3.5445.5326.8195.4296.7966.3099.310
MATH5003.6045.6607.0015.6637.3866.1948.813
HumanEval3.4295.0556.0245.2676.4405.6597.418
MBPP3.3384.7875.4424.9545.7705.4046.787
MT-Bench3.1984.4965.2014.2944.9674.7495.908
Alpaca3.2034.4155.0224.1464.6694.7435.835

Concurrency 32

WorkloadMTP-S3MTP-S7MTP-S15DFlash b8DFlash b16Domino b8Domino b16
GSM8K3.5545.5106.8895.4426.8736.2889.313
MATH5003.6085.6467.0325.6977.3216.2068.789
HumanEval3.4235.0616.0345.2936.4665.6777.449
MBPP3.3464.7555.4974.9425.7525.3736.842
MT-Bench3.1974.5055.2244.3024.9834.7685.923
Alpaca3.1854.4265.0064.1714.6924.7215.812

All 144 displayed method/workload/concurrency cells completed three measured runs.

These are observed serving results. BF16 greedy trajectories can differ across methods, so the TPS differences are not pure kernel-attribution claims.

Citation

@article{huang2026domino,
  title={Domino: Decoupling Causal Modeling from Autoregressive Drafting in Speculative Decoding},
  author={Huang, Jianuo and Zhang, Yaojie and Zhang, Qituan and Lin, Hao and Xu, Hanlin and Zhang, Linfeng},
  journal={arXiv preprint arXiv:2605.29707},
  year={2026}
}

Acknowledgements

Domino builds on DFlash and its block-diffusion drafting formulation.

custom_code
dflash
domino
efficiency
endpoints_compatible
feature-extraction
qwen
qwen3
safetensors
speculative-decoding
text-generation
text-generation-inference
transformers