第15章 マルチノード推論 、並列性、デコード、ルーティング最適化
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
大規模LLMsは、パラメータ数が という膨大な規模にまで拡大し続けている。特に、複数の専門サブネットワーク(「エキスパート」)を組み合わせて、組み込みのエキスパートゲート機構を備えた混合エキスパート(MoE)LLMsの出現により、モデルパラメータは数百億から数兆規模にまで押し上げられた。特定の入力に対してアクティブになるパラメータはごく一部だが、この巨大なモデルのサイズでの推論実行には、複数のGPUにワークロードを分散させる必要がある。
本章では、現代のNVIDIA GPUを用いてこれらの巨大LLMsに対して効率的かつ高性能なマルチノード推論を実行するための高度な最適化テクニックに焦点を当てる。ハードウェアとアルゴリズムの両方の革新を活用し、遅延を最小化しスループットを最大化する分散推論システムのアーキテクト方法について議論する。
まず、推論ワークロードを独立調整可能な段階に分割する分散型プリフィル・デコード(PD、分散型PD)アーキテクチャについて議論する( )。次に、データ、テンソル、パイプライン、エキスパート、コンテキストといった推論に特化した並列性を検証し、これらを組み合わせて大規模モデルを多数のGPUで処理する手法を探る。
続いて、Medusa、EAGLE、ドラフト・アンド・ベリファイ方式などの推測的デコードメソッドを扱う。これらは従来の自己回帰LLMsにおける標準的な単一トークン生成とは異なり、推論中に複数のトークンを生成・評価することを可能にする。これにより逐次デコードのボトルネックを克服できる。さらに、出力形式(カスタムJSONスキーマなど)を強制する制約付きデコーディングや、MoEモデルの動的ルーティング戦略についても議論する。これにより、システムのエキスパートゲーティングとロードバランサ効率性が向上する。
分散型プリフィルとデコードアーキテクチャ
前述の通り、現代のLLMsにおける推論ワークフロー は、プリフィルとデコードという二つの異なるフェーズで構成される。これらを分離するために分散型プリフィルとデコードを実装できる。これにより、プリフィルとデコードのクラスターを独立してスケールさせることが可能となる。異なるハードウェアプラットフォーム上でも同様であり、後述するように大規模LLMサービングの性能を大幅に向上させる。
クロスベンダまたはクロスアーキテクチャデプロイでは、両側でキーバリューキャッシュのレイアウトとデータ型が一致する必要がある。実際の本番システムでは、プリフィルとデコードを互換性のあるGPUファミリーで維持すべきだ。これにより同一の数値形式を使用し、キーバリューキャッシュ転送とデータ再利用を容易に実現できる。
プリフィル段階では、モデルは入力プロンプト全体(数千、数万、あるいは数百万のトークンに及ぶことも多い)を単一のフォワードパスでプロセスし、LLMが計算した初期隠れ状態を生成する。その後、入力プロンプト内の全トークンに対応するアテンションキーバリュー(KV)キャッシュを埋める。図15-1は、分散型プリフィルとデコードがKVキャッシュを共有し、KV転送と計算を並行処理する様子を示している。
図15-1. 分離された プリフィルとデコードがKVキャッシュを共有し、計算とKV転送をオーバーラップさせる ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access