本記事はAIを利用して作成した技術解説・実装例です。掲載するコードや手順は一次情報を基に構成していますが、筆者による実機での動作確認は行っていません。環境やバージョンによって動作が異なる場合があります。
大規模言語モデル(LLM)の推論処理において、自動回帰的なデコードフェーズの高速化は重要な課題です。NVIDIA Technical Blogに掲載された一次情報では、モデルの正確性を保ちつつ推論を加速する手法として「Speculative Decoding(推測デコード)」の協調設計(Co-Design)に関する5つのガイドラインや、各種ドラフトメカニズムの比較が解説されています。本記事では、一次情報をもとにその構成要素や選定基準を整理します。
スペキュラティブデコードの基本構造
スペキュラティブデコードは、小さなドラフトモデルが複数のトークンを予測し、より大規模なターゲットモデルがそれらを並列に検証することで、出力の正確性を維持しながらデコードの反復回数を削減する手法です。
flowchart TD
A["小規模ドラフトモデル"] -->|D個のトークンを予測| B["大規模ターゲットモデル"]
B -->|並列検証を実施| C["最初の不一致までトークンを採用"]
C -->|次の予測サイクルへ| A
一次情報では、プロセスの主要な概念が次のように定義されています。
ドラフト長($D$): ターゲットモデルの1回の反復あたりに提案されるトークンの数。
アクセプタンス長($AL$): ターゲットモデルの1回の反復あたりに実際に生成(承認)されるトークンの数。ターゲットは承認されたドラフトトークンに加えて常に1つの真のトークンを生成できるため、$AL$ の範囲は $1$ から $(1 + D)$ となります。
5つのガイドラインに基づくドラフト長の選定
パレートフロンティア全体で最適なドラフト長とメカニズムを選択するため、一次情報では5つのガイドラインが示されています。
1. GEMMの演算律速領域への移行
計算の負荷を高めるため、KVキャッシュの容量圧迫を招かずにスペキュラティブデコードのドラフト長を増加させ、GEMMを演算律速(compute-bound)の領域に押し上げることが推奨されています。
2. アテンション処理が支配的な場合のドラフト長
推論やエージェントワークロードにおいてアテンションが実行時間を支配する場合、デコードアテンションの算術強度はクエリヘッド数をKVヘッド数で割った値を $G$ とすると約 $2 \times G$ となります。スペキュラティブデコードによりこれは $2 \times G \times (1 + D)$ に増加します。現行のGPUデバイスでは、アテンションカーネルが GEMM-$M = 128$ で良好なハードウェア利用率を達成するため、$D = \frac{128}{G} – 1$ が最適なドラフト長となります。
3. タイル境界の考慮
アテンションのランタイムはタイルサイズにも依存します。$G \times (1 + D)$ がベンチマークされたアテンションカーネルのソフトウェアタイルサイズである128の倍数を跨ぐと、ランタイムが段階的に増加します。$D > \frac{128}{G} – 1$ を選択する場合は、タイルの未活用を防ぐために $G \times (1 + D)$ が128の倍数になる値を選ぶことが推奨されています。
4. 低レイテンシ領域でのドラフト長
レイテンシが非常に低い領域では、アクセプタンスの向上のゲインが追加のドラフトコストを正当化する場合にのみ $D$ を増加させることが挙げられています。ドラフトのオーバーヘッドは $\rho D$(ここで $\rho$ はターゲットモデルに対するドラフトモデルのレイヤー数の比率)として表されます。
ドラフトメカニズムの比較とトレードオフ
ドラフトトークンを生成する方法には、外部の小規模LLMや、補助レイヤー、文字列マッチングなど複数の選択肢があります。一次情報の表では、以下のメカニズムが比較されています。
外部ドラフトモデル: 小規模な独立したLLMを利用する方式。LPUやGPU環境で活用されます。
EAGLE-3 / MTP: デコーダーレイヤーと線形射影を組み合わせ、ターゲットモデルの隠れ状態等を利用する方式。
DFlash / DSpark: ターゲットの隠れ状態を融合したKVを利用し、並列ステップで複数のトークンを生成する方式。大規模モデルや小型モデルでそれぞれ検討されます。
サフィックス / n-gram: モデルを使用せず、トークンストリーム内のパターンを文字列マッチングで再利用する方式。繰り返しが多いワークロードに向いています。
ワークロード測定のためのエコシステム
一次情報では、実際のワークロードでの性能測定や最適化を行なうツールとして以下が挙げられています。
SPEED-Bench: NVIDIAによって開発されたスペキュラティブデコード用のベンチマーク。コーディングや要約などのタスクドメインを網羅し、現実的なプロンプトでのアクセプタンス長を測定するために推奨されています。
NVIDIA TensorRT LLM: 高性能推論フレームワークを活用し、ドラフトのオーバーヘッドを定量化することが示されています。
NVIDIA/Model-Optimizer: EAGLE-3、DFlash、DSparkなどのトレーニング例や、Nemotron 3.5 Lightning等で実証されたファインチューニング・量子化ワークフローが提供されています。
参考情報
source_title: Co-Designing AI Models Using Speculative Decoding for Faster LLM Inference
source_url: https://developer.nvidia.com/blog/co-designing-ai-models-using-speculative-decoding-for-faster-llm-inference/

コメント