Compute Engine の TPU リソース
Compute Engine リソースを使用して TPU を作成して管理できます。このページでは、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 では、単一の 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 についてをご覧ください。
既存の 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 では使用できません。
- マルチスライス: 相互接続されたマルチホスト TPU スライスのグループの作成は、Compute Engine では使用できません。Multislice を使用するには、Google Kubernetes Engine(GKE)を使用する必要があります。詳細については、GKE に TPU マルチスライスをデプロイするをご覧ください。
- コレクション: Compute Engine ではコレクションのスケジュール設定は使用できません。コレクション スケジューリングを使用するには、GKE を使用する必要があります。詳細については、GKE ドキュメントのコレクション スケジューリングをご覧ください。