コンテンツに移動
Containers & Kubernetes

GKE 上の Cloud TPU v5e で、費用対効果に優れた大規模な AI 推論を実現

2023年12月4日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 11 月 29 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud TPU v5e は、大規模なモデルのトレーニングと推論に求められる費用対効果とパフォーマンスを実現する、専用の AI アクセラレータです。業界有数の Kubernetes サービスである Google Kubernetes Engine(GKE)上で稼働する Cloud TPU により、最高水準のトレーニング機能や推論機能を使用して、AI ワークロードの効率的かつ費用対効果の高いオーケストレーションを実現できます。GKE は、長年にわたり AI ワークロードの GPU のサポートを牽引してきました。今回、大規模な推論機能に対応する TPU v5e を追加して、このサポートをさらに拡大します。

MLPerf™ 3.1 の結果

9 月に発表したとおり、Google Cloud は MLPerf™ Inference 3.1 ベンチマークの結果を提出し、TPU v4 と比較して 1 ドル当たり 2.7 倍のパフォーマンス向上を達成しました。

MLPerf™ Inference 3.1 の提出結果では、高性能推論システムの Saxml と Google の AI コンパイラの XLAを使用して、60 億個のパラメータがある GPT-J LLM ベンチマークを実行したことを証明しました。その際に使用した主な最適化は以下のとおりです。

  • XLA の最適化と Transformer 演算子の融合
  • INT8 の精度によるトレーニング後重み量子化
  • GSPMD を使用した 2×2 TPU ノードプール トポロジ全体にわたる高パフォーマンス シャーディング
  • Saxml でのプレフィックス計算とデコードのバッチのバケット化された実行
  • Saxml での動的バッチ処理

GKE クラスタ上で Cloud TPU v5e を実行した場合も同じパフォーマンスを実現しました。このことは、GKE 上の Cloud TPU によって、TPU の優れた費用対効果を維持しつつ、GKE のスケーラビリティ、オーケストレーション、運用上の利点を得ることが可能であることを示しています。

GKE と TPU で費用対効果を最大化する

本番環境に対応した、スケーラビリティの高いフォールト トレラントなマネージド アプリケーションを構築する際、GKE は TPU での推論にかかる総所有コスト(TCO)を減らすことにより、以下のような付加価値をもたらします。

  • Kubernetes の標準プラットフォームで AI ワークロードを管理、デプロイできる。
  • 自動スケーリングにより費用を最小限に抑え、ワークロードのニーズに合わせてリソースが自動的に調整されるようになる。GKE では自動スケーリングを使用して、トラフィックに応じて TPU ノードプールを自動的にスケールアップ、スケールダウンすることができるため、費用対効果が高まり、推論の自動化が改善されます。
  • ワークロードに必要なコンピューティング リソースをプロビジョニングできる。GKE のノード自動プロビジョニング機能により、TPU のワークロード要件に基づいて TPU ノードプールを自動的にプロビジョニングすることが可能です。
  • GKE 上の TPU VM ノードプールに対する組み込みの健全性モニタリングにより、アプリケーションの高可用性が確保される。TPU ノードが利用不可能になった場合、GKE はノードの自動修復を実行して中断を回避します。
  • GKE のプロアクティブなメンテナンス イベント処理とワークロードの正常終了により、アップデートやハードウェア障害による中断が最小限に抑えられる。
  • GKE の成熟した信頼性の高い指標ロギング機能により、TPU アプリケーションを完全に可視化できる。

GKE TPU 推論リファレンス アーキテクチャ

前述の利点をすべて活用できるよう、シングルホストの Saxml モデルサーバーで GPT-J 6B LLM モデルを使用して TPU 推論を実証する概念実証を作成しました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1-_GKE_TPU_Single-host_Inference_Workflow.max-1300x1300.jpg

下図: Saxml ワークフロー

https://storage.googleapis.com/gweb-cloudblog-publish/images/2-_Saxml_Workflow.max-900x900.jpg

GKE クラスタを以下のアーキテクチャで作成しました。

  • TPU v5e(2x2)ノードプールで GKE クラスタを作成しました。
  • さまざまな HTTP エンドポイントを公開し、ヘルスチェックを提供する機能のある Gateway API を有効にしました。
  • Saxml のフロントエンドとしてシンプルな HTTP サーバーを開発しました。このサーバーは、エンドユーザーからのリクエストを Saxml にプロキシします。
  • Saxml Deployment と HTTP サーバーという 2 つのコンテナを提供する Kubernetes Deployment を開発しました。これにより、HTTP サーバーがサイドカーとして動作し、Saxml に比例してスケーリングされるようにできます。
  • HTTP ルート、ヘルスチェック、K8s ロードバランサ ベースのバッキング サービスなど、Deployment に必要な Gateway API の構成を行いました。
  • 最後に、ロードバランサへのトラフィックに基づいて、Deployment のレプリカ数を動的にスケーリングできる HorizontalPodAutoscaler を追加しました。

このリファレンス アーキテクチャは、GKE を使用して TPU v5e を運用する際、大規模な AI 推論に最適な費用対効果を実現する方法を示しています。以下のデモを参照して、クラスタの実例をご確認ください。

デモ

https://storage.googleapis.com/gweb-cloudblog-publish/images/AI_inference_at_scale_with_Cloud_TPU_v5e_o.max-2000x2000_eRKhzXo.jpg

リファレンス アーキテクチャのその他の例や詳細については、Google の GitHub を参照してください。

デモをお試しになって、GKE での Saxml についてご不明な点がありましたら、コメントを残してください。皆様からのフィードバックをお待ちしています。

GKE での AI / ML ワークロードについて詳しくは、こちらをご覧ください。

-シニア ソフトウェア エンジニア David Porter

-ソフトウェア エンジニア Vivian Wu

投稿先