第19章 動的 かつ適応的な推論エンジン最適化
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
現代のハードウェアにおける超大規模言語モデル(LLM)推論 は、変化する条件下で高いスループットと低い遅延を両立させるため、動的な実行時適応を必要とする。モデル提供の最適化に対する静的な「万能型」アプローチはもはや不十分だ。
代わりに、最先端のモデルサービングシステムは、並列性、数値精度、CUDAカーネルスケジューリング、メモリ使用量を動的に調整する適応戦略を採用している。本章では、動的並列性切り替え、精度スケーリング、リアルタイムキャッシュ管理、強化学習(RL)ベースのチューニングといった高度なテクニックを探求する。
本章では、超大規模LLM推論のためのベストプラクティスを提供し、自身のパフォーマンスを監視し、効率性を最大化するためにリアルタイムに適応するエンジンのオーケストレーション方法を解説する。
適応型並列性戦略(TP対PP対ハイブリッド)
大規模LLMsでは、計算を複数のGPUに分散させるため、モデル並列処理( )、テンソル並列処理、パイプライン並列処理、あるいはハイブリッドアプローチが必要となる。各アプローチには利点と欠点がある。表19-1は、特定の推論トラフィックパターンに対する推奨並列性戦略をまとめたものである。
| 推論トラフィックp | 推奨される並列性 | 理由 |
|---|---|---|
| 短いリクエストが多い場合(256トークン未満、高いRPS) | データ並列/レプリカスケーリング | GPU間コミュニケーションを最小化する。各GPUは独立したリクエストを処理するレプリカを実行する(モデルが単一GPUのメモリに収まる場合) |
| 長いリクエストが少ない場合(≥ 8k トークン、低同時実行) | パイプライン並列性(マイクロバッチ付き) | レイヤーをGPU間で分割することでリクエストごとの遅延を削減する |
| 混合負荷(短+一部長) | ハイブリッド動的(自動切り替え) | 小規模なチャットは単一GPUで処理し、大規模なものはパイプライン処理して遅延SLAを満たす |
| 超大規模モデル(1 GPUメモリを超える) | テンソル+パイプラインのハイブリッド方式 | モデルの適合に必須。計算とメモリの両次元でバランスを取る |
| MoEモデル推論(疎なエキスパート選択) | エキスパート並列性 | 個々のエキスパートをGPU間で分散させる。各リクエストはエキスパートのサブセットのみを呼び出すため、デバイスごとのメモリと演算負荷を低減する |
データ並列とレプリカスケーリング戦略では、各GPUにモデル全体を複製し、これらのレプリカ間で着信リクエストの負荷分散を行う。個々の推論においてGPU間の同期は不要である。各GPUが独立して別々のリクエストを処理するためだ。
これにより、最小限のコミュニケーションオーバーヘッドで、多数の小規模・中規模入力のスループットを最大化できる。ただし、モデルが単一GPUのメモリに収まらない場合、データ並列性は選択肢にならない。
テンソル並列性(TP)はモデル並列性の一種(データ並列性とは対照的)であり、モデル行列(重み、層など)をGPU間で分割して行列乗算のスピードを上げる。ただし、GPU間の同期を維持するために余分な全減算コミュニケーションが発生する。
パイプライン並列性(PP)もモデル並列性のひとつで、同様にモデルを分割する。ただし個々のモデル層や行列を分割する代わりに、層全体を異なるGPUに割り当てることでメモリ制限を克服する。ただし層が単一GPUに収まることが前提だ。PPでは順次処理の遅延という追加のオーバーヘッドが発生する。 ...
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