Compute Engine の TPU リソース
TPU は、Compute Engine リソースを使用して作成、管理できます。このページでは、Compute Engine で TPU を使用する際のコンセプトの概要について説明します。TPU のコンセプトを Compute Engine リソースにマッピングし、Compute Engine への移行プロセスの概要を説明します。
TPU と Compute Engine のコンセプト
Compute Engine 内で TPU リソースを管理するには、TPU と Compute Engine の主なコンセプトを理解しておくと役立ちます。
- TPU VM: TPU ハードウェアに直接接続する仮想マシン。単一の TPU VM は、単一ホストのスライスと同じです。
- TPU スライス: 相互接続された TPU チップの論理グループ。1 つ以上の TPU VM を介してアクセスされます。スライスには次のいずれかのスコープがあります。
- 単一ホストスライス: 1 つのホストマシンで構成されるスライス。単一ホストスライスは、単一の TPU VM を指す別の方法です。
- マルチホスト スライス: 高速チップ間相互接続(ICI)を使用して相互接続された複数の TPU VM で構成されるスライス。
Compute Engine で TPU リソースを作成して管理するには、次の Compute Engine リソースを使用します。
- VM インスタンス: Compute Engine 仮想マシン。単一ホストの TPU スライスは、個別の VM インスタンスとして作成されます。以前の Cloud TPU API では、1 つの TPU スライスが
NodeREST オブジェクトで表されます。 - マネージド インスタンス グループ(MIG): 単一のユニットとして管理される VM インスタンスのコレクション。マルチホスト TPU スライスは、ワークロード ポリシーで指定されたアクセラレータ トポロジを持つ MIG として作成されます。以前の Cloud TPU API では、1 つ以上のスライスが
QueuedResourceまたはNodeREST オブジェクトを使用して表されます。
TPU と Compute Engine のコンセプト マップ
次の表に、TPU のコンセプトが Compute Engine リソースにどのようにマッピングされるかを示します。
| TPU のコンセプト | Compute Engine リソース | リソースの詳細 | ユースケース |
|---|---|---|---|
| TPU VM | VM インスタンス | TPU ハードウェアに直接アクセスできる Compute Engine VM。 | 個々の VM タスク、SSH コマンドの実行、デバッグ |
| TPU 単一ホストまたはサブホスト スライス | 単一の VM を含む VM インスタンスまたは MIG | 1 台の物理ホストマシンで構成される構成。 | 自動スケーリングを使用した推論 |
| TPU マルチホスト スライス | ワークロード ポリシーでアクセラレータ トポロジが指定されている MIG | ICI を使用して相互接続され、単一の論理ユニットとして管理される TPU VM のグループ。 | アトミック プロビジョニングを必要とする大規模な分散トレーニング |
Cloud TPU API から移行する
Cloud TPU API の新規開発は終了しています。これには、Cloud TPU API 用の Google Cloud CLI と Cloud TPU API 用の Cloud クライアント ライブラリが含まれます。Cloud TPU API には、バグの修正とセキュリティ アップデートのみが適用されます。TPU7x(Ironwood)以降の新しいハードウェア世代は、Compute Engine または Google Kubernetes Engine(GKE)でのみサポートされます。最新の機能と最新の TPU バージョンのサポートを利用するには、以前の Cloud TPU API 呼び出しを Compute Engine または GKE の同等の呼び出しに置き換えて移行します。
オーケストレーションとワークロードの要件に応じて、次のいずれかのパスを選択します。
- Compute Engine: VM レベルの直接制御またはカスタム OS イメージが必要なユーザーにおすすめです。Compute Engine で TPU のプロビジョニングを開始するには、クイックスタート: TPU VM を作成するをご覧ください。
- GKE: コンテナ化されたワークロード、自動スケーリング、大規模なオーケストレーションにおすすめです。GKE で TPU を使用する方法については、GKE の TPU についてをご覧ください。
- Batch: コンテナ化されたワークロードまたはスクリプトベースのワークロードを実行するためのフルマネージド サービスが必要なユーザーにおすすめです。Batch で TPU を使用する方法については、TPU を使用する Batch ジョブを作成して実行するをご覧ください。
既存の TPU リソース
Cloud TPU API(Node または QueuedResource REST オブジェクト)を使用して作成された TPU リソースは、Compute Engine および GKE と互換性がありません。Compute Engine または GKE の使用を開始するには:
- Cloud TPU API を使用するスクリプトを、Compute Engine API または GKE API を使用するように書き換えます。
- Cloud TPU API を使用してリソースを削除し、Compute Engine API または GKE API を使用してリソースを再作成します。
制限事項
Compute Engine の TPU には次の制限があります。
- TPU バージョン: Compute Engine は v5p、v6e、TPU7x をサポートしています。
- マルチスライス: 相互接続されたマルチホスト TPU スライスのグループの作成は、Compute Engine では使用できません。マルチスライスを使用するには、Google Kubernetes Engine(GKE)を使用する必要があります。詳細については、GKE に TPU マルチスライスをデプロイするをご覧ください。
- コレクション: Compute Engine ではコレクションのスケジュール設定は使用できません。コレクション スケジューリングを使用するには、GKE を使用する必要があります。詳細については、GKE ドキュメントのコレクション スケジューリングをご覧ください。