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 の使用率を分析できます。プロファイリングの詳細については、以下をご覧ください。