Cloud TPU 推論

サービングとは、トレーニング済み ML モデルを本番環境にデプロイするプロセスであり、本番環境を使用して推論に使用できます。推論は TPU v5e 以降のバージョンでサポートされています。レイテンシ SLO はサービングの優先事項です。

このドキュメントでは、単一ホストの TPU でモデルをサービングする方法について説明します。チップ数が 8 個以下の TPU スライスには 1 つの TPU VM またはホストがあり、単一ホスト TPU と呼ばれます。マルチホスト推論については、Pathways を使用してマルチホスト推論を実行するをご覧ください。

使ってみる

Cloud TPU を使用するには、 Google Cloud アカウントとプロジェクトが必要です。詳細については、Cloud TPU 環境を設定するをご覧ください。

推論に使用する予定の TPU コア数に十分な割り当てがあることを確認します。TPU v5e では、トレーニングとサービングに別々の割り当てが使用されます。TPU v5e のサービス提供固有の割り当ては次のとおりです。

  • オンデマンド v5e リソース: TPUv5 lite pod cores for serving per project per zone
  • プリエンプティブル v5e リソース: Preemptible TPU v5 lite pod cores for serving per project per zone

他の TPU バージョンの場合、トレーニング ワークロードとサービング ワークロードは同じ割り当てを使用します。詳細については、Cloud TPU の割り当てをご覧ください。

vLLM を使用して LLM をサービングする

vLLM は、大規模言語モデル(LLM)の高速な推論とサービング用に設計されたオープンソース ライブラリです。Cloud TPU は、JAX モデルと PyTorch モデルをサポートする tpu-inference プラグインを使用して vLLM と統合されます。詳細については、tpu-inference GitHub リポジトリをご覧ください。

vLLM を使用して TPU でモデルをサービングする例については、以下をご覧ください。

プロファイリング

推論を設定したら、プロファイラを使用してパフォーマンスと TPU の使用率を分析できます。プロファイリングの詳細については、以下をご覧ください。