GKE での AI/ML モデル推論のロード バランシング戦略を選択する

このページは、Google Kubernetes Engine(GKE)の AI/ML モデル推論ワークロードに適したロード バランシング戦略を選択するのに役立ちます。

このページは、次のような方を対象としています。

  • AI / ML ワークロードの提供に Kubernetes コンテナ オーケストレーション機能を使用することに関心をお持ちの ML エンジニア、プラットフォーム管理者 / オペレーター、データ / AI スペシャリスト。
  • Kubernetes ネットワーキングを操作するクラウド アーキテクトとネットワーク スペシャリスト。

Google Cloud のコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE ユーザーのロールとタスクをご覧ください。

このページを読む前に、次のことを理解しておく必要があります。

GKE 上で AI/ML モデルの推論ワークロードをデプロイする際は、パフォーマンス、スケーラビリティ、費用対効果を最適化するために、適切なロード バランシング戦略を選択してください。

  • AI/ML ワークロードの配信においてルーティングとロード バランシングを最適化するために、GKE Inference Gateway を選択します。
  • アプリケーション ロードバランサを使用する GKE Gateway(カスタム指標対応)を選択します。このオプションは汎用制御を提供し、アプリケーションまたはインフラストラクチャの要件に応じた指標に基づいてトラフィック分散を構成できます。

GKE Inference Gateway の概要

GKE Inference Gateway は、負荷の高い生成 AI(GenAI)や複雑な大規模言語モデル(LLM)の推論ワークロードを最適化して管理します。GKE Gateway API を拡張しており、次のような重要な利点があります。

  • インテリジェントで AI に対応したルーティング: GKE Inference Gateway は、次のような AI 特有の重要な指標をモニタリングします。

    • モデルサーバーの KV キャッシュ使用率
    • 保留中のリクエスト キュー長
    • GPU/TPU の全体的な使用率
    • LoRA アダプタの可用性
    • 個々のリクエストの計算コスト。これらの指標に基づいて、ゲートウェイは最も適切で負荷の低いモデルサーバー レプリカにトラフィックをインテリジェントに分散します。
  • リクエストの優先度設定: ゲートウェイは、リクエストの優先度を設定するメカニズムを提供します。

  • 最適化された自動スケーリング: ゲートウェイは、モデルサーバー向けに最適化された自動スケーリング メカニズムを提供します。

カスタム指標を使用する GKE Gateway の概要

Google Cloud では、グローバル外部やリージョン外部などのスコープをサポートするアプリケーション ロードバランサ リソースが提供されています。これらの汎用ロードバランサは、バックエンド サービスから報告されるカスタム指標に基づいてトラフィックを分散します。このアプローチにより、負荷分散をきめ細かく制御し、アプリケーション固有のパフォーマンス指標に基づいて負荷分散を行うことができます。

GKE Inference Gateway とカスタム指標を使用する GKE Gateway を比較する

次の表を使用して、GKE Inference Gateway と GKE Gateway(カスタム指標対応)の機能を比較し、GKE での AI/ML 推論ワークロードに適したロード バランシング ソリューションを選択します。

機能 GKE Inference Gateway カスタム指標を使用する GKE Gateway(アプリケーション ロードバランサ経由)
主なユースケース Kubernetes 上での生成 AI と ML の推論ワークロードを最適化します。これには大規模言語モデル(LLM)のサービス提供も含まれます。また、モデルリソースへの公平なアクセスを保証し、レイテンシの影響を受けやすい GPU または TPU ベースの LLM ワークロードを最適化します。 汎用 HTTP(S) ロード バランシングを提供し、カスタムのアプリケーション レポート指標に基づいてトラフィックを分散します。このようなロード バランシングは、カスタム使用率データをレポートするリアルタイム ゲームサーバーや高頻度取引プラットフォームなど、レイテンシの影響を受けやすいサービスに最適です。
ベース ルーティング ホストとパスに基づく標準の HTTP(S) ルーティングをサポートし、GKE Gateway API を拡張します。 ホストとパスに基づく標準の HTTP(S) ルーティングをサポートします。この構成は、GKE Gateway API の標準リソースを使用して行います。
高度なルーティング ロジック モデル認識ルーティング、トラフィック分割、ミラーリング、リクエストへの優先度と重要度レベルの適用といった高度な機能を提供します。 アプリケーションが Open Request Cost Aggregation(ORCA)標準を通じて報告するカスタム指標に基づいて、トラフィックを分散します。これにより、ローカリティ内のエンドポイントの重み付けに WEIGHTED_ROUND_ROBIN などのポリシーを適用できます。
サポートされている指標 GPU や TPU の使用率、KV キャッシュ ヒット数、リクエスト キューの長さなど、ネイティブで AI に特化した各種指標を活用します。さらに、アプリケーションが報告する指標を、標準化された HTTP ヘッダーのメカニズムを使って利用できるように構成することも可能です。 標準化された HTTP ヘッダーのメカニズム(具体的には Open Request Cost Aggregation(ORCA)負荷レポート)を使用し、アプリケーションが報告する指標に依存します。このメカニズムでは、CPU やメモリなどの標準指標に加え、アプリケーション固有の制約付きリソースのカスタム名指標もサポートされます。
リクエスト処理 リクエストごとの費用が不均一なワークロードに対応するよう設計されています。これは、プロンプトの複雑さによって処理費用が変わる LLM でよく見られる状況です。リクエストの重要度レベルをサポートしているため、さまざまなタイプの推論リクエストの優先順位付けが可能です。 個々のリクエストの処理費用が比較的均一なワークロードに最適です。このソリューションには、リクエストの優先順位付け機能は含まれていません。
LoRa アダプタのサポート 特定のアダプタを備えたバックエンドに対してネイティブなアフィニティ ベースのルーティングを提供し、リクエストが適切なリソースに送られるようにします。 LoRa アダプタや、LoRa 構成に基づくアフィニティ ベースのルーティングのネイティブ サポートは提供していません。
自動スケーリングの統合 KV キャッシュ使用率などの AI 固有の指標を活用して、モデルサーバーの自動スケーリングを最適化します。これにより、適切な情報に基づいたスケーリング判断が可能になります。 カスタム指標を使用して、水平 Pod のオートスケーラー(HPA)と統合します。これらの指標はアプリケーション ロードバランサに報告され、報告されたロードシグナルに基づいて、スケーリングに汎用的に利用されます。
セットアップと構成 GKE Gateway API を使用して構成します。AI 対応機能を有効にするための特別な InferencePoolInferenceModel カスタム リソース定義(CRD)を使用して標準 API を拡張します。 このソリューションは、GKE Gateway API の標準リソースを使用して構成します。また、アプリケーション側は、ロード バランシングのカスタム指標を報告するために、Open Request Cost Aggregation(ORCA)などの HTTP ヘッダーベースのメカニズムを実装する必要があります。
セキュリティ このソリューションには、ゲートウェイ レベルでの Model Armor を使用した AI コンテンツ フィルタリングが含まれています。さらに、TLS、Identity and Access Management(IAM)、ロールベース アクセス制御(RBAC)、名前空間などの GKE の基本的なセキュリティ機能も活用します。 このソリューションは、Google Cloud Armor、TLS 終端、IAM などの標準のアプリケーション ロードバランサ向けセキュリティ スタックを使用します。さらに、AI コンテンツ フィルタリングを有効にするには、Google Cloud Armor をサービス拡張機能として統合することが可能です。
オブザーバビリティ GPU や TPU の使用率、KV キャッシュヒット、リクエスト キューの長さ、モデル レイテンシなどの AI 固有の指標に対する組み込みのオブザーバビリティを提供します。 オブザーバビリティは、アプリケーションが報告するように構成されているカスタム指標を利用します。これらは Cloud Monitoring で確認できます。標準の指標やカスタム名の指標がこれに該当します。
拡張性 拡張可能なオープンソースの基盤上に構築されており、ユーザーが管理する Endpoint Picker アルゴリズムを使用できます。また、InferencePoolInferenceModel のような[カスタム リソース定義(CRD)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway)を通じて GKE Gateway API を拡張し、一般的な AI ユースケースを簡略化します。 柔軟性を重視して設計されており、アプリケーションが ORCA 標準を使用して報告する任意の[カスタム指標(ロードシグナル)](/load-balancing/docs/https/applb-custom-metrics)を使用してロード バランシングを拡張できます。
リリース ステージ GA GA

GKE Inference Gateway を使用するタイミング

GKE 上での高度な AI や ML の推論ワークロード(特に大規模言語モデル(LLM))を最適化するには、GKE Inference Gateway を選択してください。このソリューションは、次のような状況において推奨されます。

  • LLM を提供する場合: vLLM などのモデルサーバーを使用する際は、KV キャッシュ使用率やリクエスト キューの長さなど、LLM 特有の状態に基づいてルーティングを判断する必要があります。
  • LoRa アダプタを備えたモデルをデプロイする場合: 正しい、かつ利用可能な LoRa アダプタを備えたバックエンドに対して、インテリジェントなアフィニティ ベースのルーティングが必要です。
  • 処理費用が大きく変動する推論リクエストを扱う場合: たとえば、プロンプトのサイズや複雑さが動的に変化する場合は、コストを意識したロードバランサが必要です。
  • リクエストの優先順位付けを実装する場合: 重大なリクエスト、標準のリクエスト、削減可能なリクエストなど、さまざまなクラスの推論トラフィックに優先順位を付ける必要がある場合です。
  • 自動スケーリングを最適化する場合: KV キャッシュ使用率など、生成 AI(GenAI)モデルサーバーの特定のパフォーマンス指標と密接に連動する自動スケーリング メカニズムを利用し、情報に基づいてより適切なスケーリング判断を行いたい場合です。
  • Model Armor の統合を利用する場合: ゲートウェイ レベルで AI の安全性チェックを行うために、Model Armor を使用する必要がある場合です。
  • すぐに使えるオブザーバビリティを得る場合: GPU や TPU の使用率、KV キャッシュヒット、リクエスト キューの長さなど、重要な AI 特有の指標に対する組み込みの可視化機能が必要な場合です。
  • GenAI のデプロイを簡略化する場合: GKE 上での一般的な GenAI デプロイ パターンを簡単に扱える専用ソリューションを好みつつ、拡張可能な GKE Gateway API 基盤を通じて将来的にカスタマイズも可能にしておけるものを選びたい場合です。

カスタム指標対応の GKE Gateway が推奨される状況

アプリケーションの固有のパフォーマンス指標に基づく柔軟な汎用ロード バランシングを実現するには、カスタム指標対応の GKE Gateway を使用してください。このアプローチにより、特定の推論シナリオを含む、アプリケーションが定義した一意のパフォーマンス指標に基づいて負荷分散を行うことができます。次のようなケースでは、この方法をおすすめします。

  • ワークロードのトラフィック量が多く、リクエストあたりの処理費用が比較的均一である。
  • 負荷分散が、アプリケーションによって報告される 1~2 つの特定のカスタム指標によって効果的に管理できる。通常、これらの指標は、Open Request Cost Aggregation(ORCA)負荷レポート標準を使用して HTTP レスポンス ヘッダーを介して報告されます。
  • ロード バランシングの要件が GenAI または LLM 固有の機能に依存していない。
  • GKE Inference Gateway が提供する AI 固有の特殊なインテリジェンス機能を必要としない運用モデルであり、不要なアーキテクチャの複雑さを回避できる。
  • 既存のアプリケーション ロードバランサ デプロイとの整合性を維持することが優先事項であり、これらのデプロイは推論サービスのロード バランシング要件を満たしている。

次のステップ