DFlashの推測デコードが、実際にvLLMでどれだけ役立つのかを確かめるために、ベンチマークを実行しました。
セットアップ:
- GPU: RTX 5090、32GB VRAM
- vLLM: 0.19.2rc1
- メインモデル: cyankiwi/gemma-4-26B-A4B-it-AWQ-4bit
- ドラフトモデル: z-lab/gemma-4-26B-A4B-it-DFlash
- ワークロード: ランダムデータセット、入力256トークン、出力1024トークン
- 同時実行: 1
- リクエストレート: 1
- tested num_speculative_tokens(num_speculative_tokens)を0〜15でテスト
短いまとめ:
DFlashなしのベースライン:
- ~228 output tok/s
- ~4455 ms mean E2E latency
最良の実用DFlash設定:
- num_speculative_tokens=13
- max_num_batched_tokens=8192
- ~578 output tok/s
- ~1738 ms mean E2E latency
- ~2.56x speedup
興味深い点が1つあります。最速の平均設定が、自動的に最良の提供(サービング)設定とは限りません。num_speculative_tokens=13でmax_num_batched_tokens=4096にすると平均レイテンシはわずかに良くなりましたが、p95は悪化しました。8192にすると末尾(テール)がよりきれいになりました。
セットアップ、スクリプト、ベンチマーク手法、グラフ、そして最終的な推奨コマンドを示す短い動画を作りました:
Charts / script / results:
https://medium.com/@ttio2tech_28094/3a7ac4f73e5d
DFlashで、他の人も同様の推測トークン数(speculative-token counts)の最適値が見えているか気になります。特に4090/5090や、別のGemma/Qwenモデルでの結果です。
[link] [コメント]




