DFlash、NVIDIA Blackwell で最大 15 倍のスループット向上を実現する並列トークンブロックドラフト方式を提案
本文の状態
日本語全文を表示中
詳細モードで約9分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
研究チームが開発した DFlash は、推論のボトルネックである逐次生成を改善し、小規模モデルで未来のトークンを並列にドラフトして大規模モデルが検証する手法により、NVIDIA Blackwell 上で最大 15 倍のスループット向上を実現しました。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るSource Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
自己回帰型大規模言語モデルは、1 トークンずつテキストを生成します。各トークンはその前のトークンの完了を待たなければなりません。この逐次的なループにより、現代の GPU は未活用状態に置かれ、推論速度が遅いままとなります。特に Chain-of-Thought(思考連鎖)推論モデルでは、コストがさらに悪化します。これらのモデルは出力が長くなるため、レイテンシが生成時間の大部分を占めるようになります。
speculative decoding(推測的デコーディング)が標準的な解決策です。小さなドラフトモデルが未来のトークンを提案し、大きなターゲットモデルがそれらのトークンを並列で検証します。承認されたトークンは保持されるため、出力はロスレス(損失なし)のまま保たれます。しかし、最先端技術である EAGLE-3 を含むほとんどの手法では、依然として逐次的にドラフトが行われます。この逐次的なドラフトが、実世界での速度向上を 2~3 倍程度に制限しています。
UC サンディエゴ大学の研究チーム(z-lab)によって導入された DFlash は、異なるアプローチを採用しています。これはドラフト用に設計された軽量ブロック拡散モデルです。トークンを一つずつドラフトするのではなく、単一の順方向パスでブロック全体を提案します。その後、ターゲットモデルがそのブロックを並列で検証します。
研究チームは、さまざまなモデルとタスクにおいて 6 倍以上のロスレス加速を実現したと報告しています。これは EAGLE-3 よりも最大 2.5 倍高い速度向上です。NVIDIA Blackwell 上では、NVIDIA エンジニアリングチームが gpt-oss-120b について最大 15 倍のスループット向上を報告しています。この数値は、同じユーザー対話性の目標を維持した状態で達成されています。
imagehttps://developer.nvidia.com/blog/boost-inference-performance-up-to-15x-on-nvidia-blackwell-using-dflash-speculative-decoding/
ブロック拡散ドラフティングが変えるもの
ブロック拡散モデルは、マスクされたトークンのブロックを一度にノイズ除去します。これは並列生成と自己回帰的なブロック構造を融合させたものです。DFlash はこのアイデアをドラフティング(草案作成)段階のみに応用しています。検証は信頼できる自己回帰的なターゲットモデルに委ねられます。
この分離が品質において重要です。単独の拡散大規模言語モデル (LLM) は、精度において自己回帰モデルに劣ることがよくあります。また、多くのノイズ除去ステップを必要とするため、純粋な推論速度が遅くなります。DFlash はこれらの両方の問題を回避します。草案は受け入れられるのに十分な質であればよく、ターゲットの並列検証が最終的な出力分布を保証します。
2 つ目の利点はドラフティングのコストです。自己回帰的ドラフターのコストは、推測トークンの数に対して線形に増加します。一方、拡散ドラフターはすべてのトークンを一度の並列パスで生成します。そのため、ブロックが大きくなってもドラフティングの遅延はほぼ一定のままです。これにより、DFlash は遅延を追加することなく、より深く表現力豊かなドラフトモデルを使用できるようになります。
これは DFlash を以前の拡散ドラフター関連の研究から分離するものです。DiffuSpec や SpecDiff-2 などの手法では巨大な 7B ドラフターを使用しており、速度向上は近似的に 3〜4 倍に制限されていました。一方、DFlash は小さな 5 レイヤーのドラフター(Qwen3-Coder の場合は 8 レイヤー)を使用します。
「ターゲットが最もよく知っている」という洞察
DFlash の核心アイデアはシンプルです:ターゲットモデルこそが最もよく知っています。大規模な自己回帰モデルの隠れ特徴には、複数の未来トークンに関する情報がエンコードされています。DFlash は複数のターゲット層から隠れ状態を抽出し、それらを1 つのコンパクトなターゲットコンテキスト特徴に融合させます。この特徴がその後、ドラフトモデルを条件付けます。
DFlash は EAGLE-3 とは異なる方法でこの特徴を注入します。EAGLE-3 はターゲットの特徴をドラフトの入力埋め込み(input embeddings)にのみ融合させるのに対し、ドラフト層数が増えるにつれてその信号が希薄化してしまいます。一方 DFlash は、この特徴をすべてのドラフト層の Key および Value 射影(projections)に注入します。射影された特徴はドラフトの KV キャッシュ(KV cache)に位置し、ドラフティング反復Across across 持続します。
この KV 注入により、受け入れ長さがドラフト深さとともにスケーリング可能になります。16 トークンを生成する 5 層構成の DFlash ドラフターは、8 トークンを生成する EAGLE-3 を上回ります。論文内のテストでは、これはより低レイテンシーかつ高い受け入れ率を実現しています。ドラフトモデルは実質的にターゲットの上に置かれた拡散アダプター(diffusion adapter)となります。
2 つのスピードアップ数値、異なる測定基準
DFlash 研究における 6 倍という数値は、シングルストリームのロスレス加速です。Qwen3-8B モデルにおいて貪欲デコーディング(greedy decoding、Transformers バックエンド使用)で実行した場合、DFlash は平均して 4.86 倍のスピードアップを達成します。一方 EAGLE-3 は、ツリーサイズが 16 の場合 1.76 倍、ツリーサイズが 60 の場合 2.02 倍です。DFlash は MATH-500 ベンチマークで最大 6.08 倍(τ = 7.87)に達し、タスク全体での平均 τ は 6.49 です。
NVIDIA の 15 倍というスループットは、固定された対話性目標における値です。これは、TensorRT-LLM を使用して DGX B300 システム内の 8 つの NVIDIA Blackwell GPU で動作する gpt-oss-120b に適用されます。ユーザーあたり秒間 500〜600 トークンの範囲において、DFlash は自己回帰的デコーディングよりも 15 倍以上のスループットを提供します。これは、同じ地点における EAGLE-3 よりも約 1.5 倍多い数値です。
以下の表は、温度 0(Transformers バックエンド)における Qwen3-8B のタスク別スピードアップを示しています。
タスク (Qwen3-8B, temp=0) | ベースライン | EAGLE-3 (16) | DFlash (16) | DFlash τ
GSM8K | 1.00× | 1.94× | 5.15× | 6.54
MATH-500 | 1.00× | 1.81× | 6.08× | 7.87
AIME25 | 1.00× | 1.79× | 5.62× | 7.08
HumanEval | 1.00× | 1.89× | 5.14× | 6.50
MBPP | 1.00× | 1.69× | 4.65× | 5.95
LiveCodeBench | 1.00× | 1.57× | 5.51× | 7.27
MT-Bench | 1.00× | 1.63× | 2.75× | 4.24
平均 | 1.00× | 1.76× | 4.86× | 6.49
別の NVIDIA Speed-Bench 比較では、同等の並行度における対話性スピードアップが測定されています。gpt-oss-120b では、DFlash は平均して EAGLE-3 の 1.7 倍に対して 2.3 倍です。Llama 3.1 8B Instruct では、DFlash は平均して EAGLE-3 の 2.2 倍に対して 2.8 倍です。
使用例と具体例
DFlash は、トークンごとの生成がボトルネックとなるレイテンシ敏感なサービングを対象としています。以下の 3 つのパターンが特に適しています:
コーディングエージェント: コード生成には高速で対話的な応答が必要です。vLLM を使用した Gemma 4 31B では、NVIDIA は並行度 1 で Math500 において最大 5.8 倍、HumanEval では 5.6 倍の性能を報告しています。より高速なドラフト生成により、エージェントループ内の待ち時間が短縮されます。
推論モデル:長い思考連鎖の追跡が生成時間の大部分を占めます。思考モードを有効にすると、DFlash は Qwen3-4B および Qwen3-8B において貪欲デコーディング(greedy decoding)で約 4.5 倍の性能を維持します。サンプリング(sampling)では約 3.9 倍です。これにより、長い推論出力のコストが削減されます。
サービングとスループット:DFlash はまたサービングのスループットも向上させます。B200 GPU を使用した SGLang 上で、Qwen3-8B(Math500、並行度 1)において最大で 5.1 倍に達します。並行度が上昇すると効果は緩やかになりますが、依然として正の値を維持するため、サービングコストは低下し続けます。
DFlash の実行
DFlash はチェックポイントとフレームワークサポートを搭載しているため、導入にはほとんどコード変更が必要です。vLLM では、EAGLE-3 設定を DFlash 設定に置き換えるだけです。アプリケーションのリファクタリングは不要です。
コピー コードコピーしました別のブラウザを使用してください
vllm serve Qwen/Qwen3.5-27B \
--speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.5-27B-DFlash", "num_speculative_tokens": 15}' \
--attention-backend flash_attn \
--max-num-batched-tokens 32768
Transformers バックエンドは Qwen3 および LLaMA-3.1 モデルをサポートしています。これは、ドラフトモデルとターゲットモデルをペアリングする spec_generate コールを公開しています。
コピー コードコピーしました別のブラウザを使用してください
from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizer
draft = AutoModel.from_pretrained(
"z-lab/Qwen3-8B-DFlash-b16", trust_remote_code=True,
dtype="auto", device_map="cuda:0").eval()
target = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-8B", dtype="auto", device_map="cuda:0").eval()
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B")
messages = [{"role": "user", "content": "196 の正の整数の約数は何個ありますか?"}]
input_ids = tokenizer.apply_chat_template(
messages, return_tensors="pt", add_generation_prompt=True,
enable_thinking=False).to(draft.device)
output = draft.spec_generate(
input_ids=input_ids, max_new_tokens=2048, temperature=0.0,
target=target, stop_token_ids=[tokenizer.eos_token_id])
print(tokenizer.decode(output[0], skip_special_tokens=False))
キーポイント
DFlash は、トークンを一つずつではなく、1 回のフォワードパスでトークンブロック全体をドラフトします。
各ドラフト層の KV キャッシュ(Key-Value Cache)にターゲットの隠れ特徴量を注入し、深さに応じて受容長をスケーリングします。
研究論文の指標では Qwen3-8B で最大 6.08 倍のロスレス速度向上を実現。NVIDIA のテストでは、固定された対話性条件下で Blackwell アーキテクチャ上で最大 15 倍のスループットを達成しました。
軽量な 5 層構成のドラフターが、従来の拡散手法を 3〜4 倍程度に制限していた 7B ドラフターを置き換えています。
インタラクティブ解説
原文を表示
Autoregressive large language models generate text one token at a time. Each token waits for the one before it. This serial loop leaves modern GPUs underused and keeps inference slow. The cost grows worse with long Chain-of-Thought reasoning models. Their lengthy outputs make latency the dominant part of generation.
Speculative decoding is the standard fix. A small draft model proposes future tokens. The large target model verifies those tokens in parallel. Accepted tokens are kept, so the output stays lossless. But most methods, including the state-of-the-art EAGLE-3, still draft autoregressively. That serial drafting caps real-world speedups near 2–3×.
DFlash, introduced by research team from UC San Diego team (z-lab), takes a different route. It is a lightweight block diffusion model built for drafting. Instead of drafting tokens one at a time, it proposes a whole block in a single forward pass. The target model then verifies that block in parallel.
The research team reports over 6× lossless acceleration across a range of models and tasks. It reaches up to 2.5× higher speedup than EAGLE-3. On NVIDIA Blackwell, NVIDIA engineering team reports up to 15× higher throughput for gpt-oss-120b. That figure holds at the same user interactivity target.
imagehttps://developer.nvidia.com/blog/boost-inference-performance-up-to-15x-on-nvidia-blackwell-using-dflash-speculative-decoding/
What block diffusion drafting changes
Block diffusion models denoise a block of masked tokens at once. They blend parallel generation with autoregressive block structure. DFlash applies this idea only to the drafting stage. Verification stays with the trusted autoregressive target model.
This split matters for quality. Standalone diffusion LLMs often trail autoregressive models on accuracy. They also need many denoising steps, which slows their raw inference speed. DFlash sidesteps both problems. The draft only needs to be good enough to be accepted. The target’s parallel verification guarantees the final output distribution.
A second benefit is drafting cost. An autoregressive drafter’s cost grows linearly with the number of speculative tokens. A diffusion drafter generates all tokens in one parallel pass. So drafting latency stays largely flat as the block grows. This frees DFlash to use deeper, more expressive draft models without adding latency.
This separates DFlash from earlier diffusion-drafter work. Methods like DiffuSpec and SpecDiff-2 used massive 7B drafters, capping speedups near 3–4×. DFlash instead uses a small five-layer drafter (eight layers for Qwen3-Coder).
The “target knows best” insight
DFlash’s core idea is simple: the target knows best. Large autoregressive models’ hidden features encode information about multiple future tokens. DFlash extracts hidden states from several target layers. It fuses them into one compact target context feature. This feature then conditions the draft model.
DFlash injects this feature differently than EAGLE-3. EAGLE-3 fuses target features into the draft’s input embeddings only. As draft depth grows, that signal gets diluted. DFlash instead injects the feature into the Key and Value projections of every draft layer. The projected features sit in the draft’s KV cache and persist across drafting iterations.
This KV injection lets acceptance length scale with draft depth. A five-layer DFlash drafter generating 16 tokens beats EAGLE-3 generating 8 tokens. It is both lower-latency and higher-acceptance in the paper’s tests. The draft model effectively becomes a diffusion adapter on top of the target.
Two speedup numbers, measured differently
The DFlash research’s 6× is single-stream lossless acceleration. On Qwen3-8B with greedy decoding (Transformers backend), DFlash averages a 4.86× speedup. EAGLE-3 averages 1.76× at tree size 16 and 2.02× at tree size 60. DFlash peaks at 6.08× on MATH-500 (τ = 7.87) and averages τ = 6.49 across tasks.
NVIDIA’s 15× is throughput at a fixed interactivity target. It applies to gpt-oss-120b on eight NVIDIA Blackwell GPUs in a DGX B300 system, using TensorRT-LLM. At the 500–600 tokens/sec per-user range, DFlash serves more than 15× the throughput of autoregressive decoding. That is about 1.5× more than EAGLE-3 at the same point.
The table below shows the paper’s per-task speedups on Qwen3-8B at temperature 0 (Transformers backend).
Task (Qwen3-8B, temp=0)BaselineEAGLE-3 (16)DFlash (16)DFlash τ
GSM8K1.00×1.94×5.15×6.54
MATH-5001.00×1.81×6.08×7.87
AIME251.00×1.79×5.62×7.08
HumanEval1.00×1.89×5.14×6.50
MBPP1.00×1.69×4.65×5.95
LiveCodeBench1.00×1.57×5.51×7.27
MT-Bench1.00×1.63×2.75×4.24
Average1.00×1.76×4.86×6.49
A separate NVIDIA Speed-Bench comparison measures interactivity speedups at matched concurrency. On gpt-oss-120b, DFlash averages 2.3× versus EAGLE-3’s 1.7×. On Llama 3.1 8B Instruct, DFlash averages 2.8× versus EAGLE-3’s 2.2×.
Use cases with examples
DFlash targets latency-sensitive serving where token-by-token generation hurts. Three patterns fit well:
Coding agents: Code generation needs fast, interactive responses. On Gemma 4 31B with vLLM, NVIDIA reports up to 5.8× on Math500 at concurrency 1. HumanEval reaches 5.6×. Faster drafts mean shorter wait times inside agent loops.
Reasoning models: Long Chain-of-Thought traces dominate generation time. With thinking mode enabled, DFlash holds roughly 4.5× under greedy decoding on Qwen3-4B and Qwen3-8B. Under sampling, it holds about 3.9×. This cuts the cost of long reasoning outputs.
Serving and throughput: DFlash also raises serving throughput. On SGLang with a B200 GPU, it reaches up to 5.1× on Qwen3-8B (Math500, concurrency 1). Gains taper as concurrency rises but stay positive, so serving cost still drops.
Running DFlash
DFlash ships with checkpoints and framework support, so adoption needs little code. On vLLM, you swap an EAGLE-3 config for a DFlash one. No application refactoring is required.
Copy CodeCopiedUse a different Browser
vllm serve Qwen/Qwen3.5-27B \
--speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.5-27B-DFlash", "num_speculative_tokens": 15}' \
--attention-backend flash_attn \
--max-num-batched-tokens 32768
The Transformers backend supports Qwen3 and LLaMA-3.1 models. It exposes a spec_generate call that pairs a draft model with a target model.
Copy CodeCopiedUse a different Browser
from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizer
draft = AutoModel.from_pretrained(
"z-lab/Qwen3-8B-DFlash-b16", trust_remote_code=True,
dtype="auto", device_map="cuda:0").eval()
target = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-8B", dtype="auto", device_map="cuda:0").eval()
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8B")
messages = [{"role": "user", "content": "How many positive whole-number divisors does 196 have?"}]
input_ids = tokenizer.apply_chat_template(
messages, return_tensors="pt", add_generation_prompt=True,
enable_thinking=False).to(draft.device)
output = draft.spec_generate(
input_ids=input_ids, max_new_tokens=2048, temperature=0.0,
target=target, stop_token_ids=[tokenizer.eos_token_id])
print(tokenizer.decode(output[0], skip_special_tokens=False))
Key Takeaways
DFlash drafts an entire token block in one forward pass, not one token at a time.
It injects target hidden features into every draft layer’s KV cache, scaling acceptance length with depth.
Research Paper’s metrics: up to 6.08× lossless speedup on Qwen3-8B; NVIDIA test: up to 15× throughput on Blackwell at fixed interactivity.
A lightweight five-layer drafter replaces the 7B drafters that capped earlier diffusion methods near 3–4×.
Interactive Explainer
Check out the Project page, Paper (arXiv 2602.06036), GitHub, Hugging Face checkpoints and NVIDIA blog. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post DFlash Speculative Decoding Drafts Whole Token Blocks in Parallel for Up to 15x Higher Throughput on NVIDIA Blackwell appeared first on MarkTechPost.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み