テクニカルガイド

細分化されたプレフィルおよびデコード サービング

大規模な言語モデルの推論を 2 つの異なるフェーズ (プリフィルとデコード) に分割し、それらを GPU の異なるプールで実行するサービング アーキテクチャ。

概要

大規模な言語モデルの推論を 2 つの異なるフェーズ (プリフィルとデコード) に分割し、それらを GPU の異なるプールで実行するサービング アーキテクチャ。これら 2 つのフェーズではハードウェアの要求が相反するため、これらのフェーズを同じマシンに強制すると容量が無駄になり、遅延が発生するため、これが重要です。

細分化されたプレフィルおよびデコード サービングは、大規模なモデルの品質、インフラストラクチャのコスト、レイテンシ、信頼性に影響を与える技術的な構成要素です。

ディープダイブ

LLM が応答すると、2 段階で動作します。プレフィルはプロンプト全体を一度に読み取り、キー/値 (KV) キャッシュを構築します。これは、GPU の演算ユニットを飽和させる、大規模な並列計算処理のバーストです。次に、デコードは一度に 1 つずつトークンを生成し、各ステップで KV キャッシュ全体を読み取ります。つまり、メモリ帯域幅に制限があり、計算量が少ないトリクルです。一緒に実行すると、長いプリフィルによって全員のデコードが停止し (行頭ブロック)、2 つをバッチ処理すると干渉が発生します。分散により、ある GPU プールにプリフィルが配置され、別の GPU プールにデコードが配置され、NVLink や InfiniBand などの高速インターコネクトを介してそれらの間で KV キャッシュが転送されます。各プールは個別に調整およびスケーリングされるため、グッドプットが向上し、テール レイテンシーが平滑化され、オペレーターは最初のトークンまでの時間と出力トークンごとの時間という厳しい目標を同時に達成できるようになります。

技術的な洞察

2 つのフェーズはボトルネックが異なります。 Prefill はすべてのプロンプト トークンを並行して処理するため、その FLOP はプロンプトの長さに応じて拡張され、テンソル コアが最大になります。デコードは自己回帰です。各新しいトークンには、HBM から完全な KV キャッシュを再読み取る 1 つのフォワード パスが必要です。そのため、スループットはコンピューティングではなくメモリ帯域幅によって制限されます。分解は、サイジング、バッチ処理、さらにはプールごとに異なる並列処理を選択することでこれを利用し、KV キャッシュをプレフィル ワーカーからデコード ワーカーに送信します。

細分化されたプレフィルおよびデコードサービングのマスタリング

大規模な言語モデルの推論を 2 つの異なるフェーズ (プリフィルとデコード) に分割し、それらを GPU の異なるプールで実行するサービング アーキテクチャ。これら 2 つのフェーズではハードウェアの要求が相反するため、これらのフェーズを同じマシンに強制すると容量が無駄になり、遅延が発生するため、これが重要です。細分化されたプレフィルおよびデコード サービングは、大規模なモデルの品質、インフラストラクチャのコスト、レイテンシ、信頼性に影響を与える技術的な構成要素です。深い理解を構築するには、分離されたプレフィルとデコード サービングを単一の機能ではなくオペレーティング モデルとして扱います。望ましい結果を定義し、前提条件を明確にし、システムが確実に実行できることと、依然として専門家の判断が必要なことを分離します。

実際、Disaggregated Prefill と Decode Serving を使用する強力なチームは、信頼性とコストに対してアーキテクチャ、データ、インフラストラクチャの選択を最適化します。明示的な成功基準を文書化し、現実的なデータとワークフローに対してテストし、一度限りのベンチマークの成功ではなく、観察された失敗パターンに基づいて反復します。ここで、理論的な理解が、製品、ポリシー、運用全体にわたる永続的な機能に変わります。

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。同時に、1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。最も回復力のあるアプローチは、実験のスピードとガバナンスの規律を組み合わせることであり、パイロットを実行し、証拠を取得し、意思決定ログを公開し、モデルの動作、ユーザーの期待、規制要件の進化に応じて安全対策を継続的に更新します。

戦略的影響

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。

細分化されたプレフィルおよびデコード サービスの将来

非集計が運用スタックのデフォルトになることが予想されます。 DistServe、Splitwise、Mooncake などのシステムによってこれが普及し、vLLM と NVIDIA Dynamo が分離モードを出荷するようになりました。研究では、KV キャッシュ転送の最適化、リクエスト全体でのキャッシュ プーリングと再利用、トラフィックの変化に伴うプレフィル/デコード率の動的な再バランス、プレフィックス キャッシュとチャンク プレフィルとの緊密な統合が推進されています。コンテキスト ウィンドウが数百万のトークンに成長するにつれて、コスト効率の高い低遅延のサービスを提供するには、これらのフェーズを分離することがますます重要になります。

現実世界の実装

チャット アシスタントは、長いドキュメント プロンプトを計算負荷の高いプレフィル クラスターにルーティングし、メモリ最適化されたデコード クラスターから返信をストリーミングして入力遅延をスムーズに保ちます。

NVIDIA Dynamo と vLLM を使用すると、オペレータは個別のプレフィル ワーカー グループとデコード ワーカー グループをデプロイできるため、長いプロンプトのバーストによって進行中の世代がフリーズすることはありません。

Mooncake (Moonshot AI の Kim によって使用) は、プリフィルとデコードを分離し、分散 KV キャッシュ プールを追加して、冗長なプロンプト再計算を大規模に削減します。

コード補完サービスは、ほとんどのコストが多数の出力トークンのストリーミングから発生するため、短いプロンプト用の小さなプレフィル プールと大きなデコード プールを専用にします。

実装パターン

実際の細分化されたプレフィルおよびデコード サービング

チャット アシスタントは、長いドキュメント プロンプトを計算負荷の高いプレフィル クラスターにルーティングし、メモリ最適化されたデコード クラスターから返信をストリーミングして入力遅延をスムーズに保ちます。

チャット アシスタントは、長いドキュメント プロンプトをコンピューティング負荷の高いプレフィル クラスターにルーティングし、メモリ最適化デコード クラスターから返信をストリーミングして入力待ち時間をスムーズに保ちます。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人間によるエスカレーション パスを確保し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

実際の細分化されたプレフィルおよびデコード サービング

NVIDIA Dynamo と vLLM を使用すると、オペレータは個別のプレフィル ワーカー グループとデコード ワーカー グループをデプロイできるため、長いプロンプトのバーストによって進行中の世代がフリーズすることはありません。

NVIDIA Dynamo と vLLM により、オペレーターは個別のプレフィルおよびデコード ワーカー グループをデプロイできるため、長いプロンプトのバーストによって継続的な世代がフリーズすることはありません。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを確保し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

実際の細分化されたプレフィルおよびデコード サービング

Mooncake (Moonshot AI の Kim によって使用) は、プリフィルとデコードを分離し、分散 KV キャッシュ プールを追加して、冗長なプロンプト再計算を大規模に削減します。

Mooncake (Moonshot AI の Kimi が使用) は、プリフィルとデコードを分離し、分散 KV キャッシュ プールを追加して、冗長なプロンプト再計算を大規模に削減します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人間によるエスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

実際の細分化されたプレフィルおよびデコード サービング

コード補完サービスは、ほとんどのコストが多数の出力トークンのストリーミングから発生するため、短いプロンプト用の小さなプレフィル プールと大きなデコード プールを専用にします。

コード補完サービスは、短いプロンプト用の小さなプレフィル プールと大規模なデコード プールを専用にします。これは、ほとんどのコストが多くの出力トークンのストリーミングから発生するためです。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを確保し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

リスクとガードレール

!

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

!

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

!

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

実装前にレイテンシ、品質、コストの目標を定義します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

2

現実的な負荷とデータ条件でのベンチマーク。

現実的な負荷とデータ条件でのベンチマーク。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

エラー、ドリフト、ユーザーへの影響を計測器で監視します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

探検を続けましょう