アクセラレータ最適化マシン ファミリーの TPU マシン

このドキュメントでは、Tensor Processing Unit(TPU)を備えたアクセラレータ最適化マシン ファミリーの Compute Engine インスタンスについて説明します。TPU は、人工知能(AI)と ML ワークロード用に最適化された、Google が独自に開発した特定用途向け集積回路(ASIC)です。

Compute Engine は、次の TPU バージョンをサポートしています。

  • TPU7x
  • TPU v6e
  • TPU v5p

バージョン内の各マシンタイプには、特定のトポロジと数の TPU チップがアタッチされています。

TPU アーキテクチャの基礎

TPU アーキテクチャの基本を理解すると、ワークロードに適した TPU バージョンとマシンタイプを選択できます。

  • TPU チップ: TPU チップは、Google が機械学習用に設計した専用のアクセラレータです。各 TPU チップには、大規模な行列演算を処理するための 1 つ以上の TensorCore が含まれています。各 TensorCore は、1 つ以上のマトリックス乗算ユニット(MXU)で構成されています。MXU は、シストリック アレイ アーキテクチャを使用して、一定のメモリ アクセスなしで 1 サイクルあたり数千の乗累算演算を実行します。主に高速行列処理に使用されますが、TPU チップには、一般的な計算と制御フロー オペレーション用のベクトル ユニットとスカラー ユニットも含まれています。

  • TPU Pod: TPU Pod は、専用のネットワークでグループ化された一連の連続した TPU です。TPU Pod 内の TPU チップの数は、TPU のバージョンによって異なります。

  • TPU VM: TPU VM は、TPU ホストで実行され、基盤となる TPU にアクセスできる Linux 仮想マシンです。SSH を使用して TPU VM に直接接続できます。VM への root アクセス権があるため、任意のコードを実行できます。コンパイラとランタイム デバッグログ、エラー メッセージにアクセスできます。

  • TPU スライス: 相互接続された TPU チップの論理グループ。1 つ以上の TPU VM を介してアクセスされます。スライスには次のいずれかのスコープがあります。

    • 単一ホスト スライス: 1 台のホストマシンで構成されるスライス。通常、これは 1 つの TPU VM にマッピングされます。
    • マルチホスト スライス: 高速チップ間相互接続(ICI)を使用して相互接続された複数の TPU VM で構成されるスライス。
  • TPU キューブ: 相互接続された TPU チップの 4x4x4 トポロジ。これは 3D トポロジにのみ適用されます。

  • SparseCore: SparseCore は、スパース オペレーションを使用するモデルを高速化するデータフロー プロセッサです。主なユースケースは、エンベディングに大きく依存するレコメンデーション モデルの高速化です。

  • TPU バージョン: TPU チップのアーキテクチャは、厳密にいえば使用する TPU のバージョンによって異なります。また、TPU バージョンはそれぞれさまざまなスライスサイズと構成をサポートしています。

TPU の仕組みについては、Cloud TPU ドキュメントの TPU アーキテクチャをご覧ください。

ワークロード タイプ別の推奨 TPU バージョン

TPU バージョン 主なワークロード タイプ
TPU7x(Ironwood)
  • 大規模な高密度モデルと Mixture-of-Experts(MoE)モデル
  • 大規模な基盤モデルの集中的な事前トレーニング
  • サンプリングとデコードを多用する推論
TPU v6e(Trillium)
  • トレーニングとファイン チューニング(Transformer、CNN)
  • 大規模推論(Gemma 2、Llama、拡散モデル)
  • レコメンデーション エンジンとパーソナライズ(SparseCore を使用)
TPU v5p
  • 大規模な基盤モデルのトレーニングで最高のパフォーマンスを実現
  • 大規模なマルチモーダル AI トレーニング
  • 大規模なレコメンデーション システムなどのエンベディング密度の高いワークロード

使用オプション

ワークロードのパフォーマンスのバランスを取りながら、リソースの使用率と費用を最適化するために、Compute Engine は次の TPU 使用オプションをサポートしています。

  • オンデマンド: 事前に容量を調整することなく TPU を使用します。リソースをリクエストする前に、特定のタイプと数量の TPU VM に対して十分なオンデマンド割り当てが必要です。オンデマンドは最も柔軟な使用オプションですが、リクエストを満たすのに十分なオンデマンド リソースが利用できる保証はありません。

  • Spot VM: Spot VM をプロビジョニングすると、大幅な割引が適用されます。ただし、Spot VM はいつでもプリエンプトされる可能性があります(30 秒前に警告が表示されます)。詳細については、Spot VM についてをご覧ください。

  • Flex Start: 最大 7 日間 Flex Start VM をプロビジョニングします。Compute Engine は、可用性に基づいてベスト エフォートでハードウェアを自動的に割り当てます。詳細については、Flex-start VM についてをご覧ください。

  • 将来の予約: 1 年以上の将来の予約をリクエストします。詳細については、Cloud TPU ドキュメントの 1 年以上の将来の予約をリクエストするをご覧ください。

  • カレンダー モードでの将来の予約: 指定した期間に最大 90 日間 TPU リソースをプロビジョニングします。詳細については、カレンダー モードでの将来の予約リクエストについてをご覧ください。

別のオプションを指定しない場合、TPU のデフォルトの使用量モデルはオンデマンドです。

使用オプションを有効にする基盤となるプロビジョニング モデルについては、VM プロビジョニング モデルについてをご覧ください。

TPU バージョン別の使用オプションの可用性

次の表に、各 TPU バージョンで利用可能な使用オプションを示します。

TPU バージョン オンデマンド Spot Flex Start オンデマンド予約 将来の予約 カレンダー モードの将来の予約
1 1 1

1 TPU7x の Spot、Flex Start、カレンダー モードの将来の予約は、許可リストによって制限されます。アクセスをリクエストするには、アカウント チームまたはセールスチームにお問い合わせください。

TPU バージョンの比較

さまざまな TPU バージョンの特性を比較します。[比較するプロパティを選択する] フィールドで特定のプロパティを選択すると、以下の表ですべての TPU バージョンのプロパティを比較できます。

アクセラレータ最適化 アクセラレータ最適化 アクセラレータ最適化
VM VM VM
Intel Emerald Rapids AMD EPYC Genoa Intel Sapphire Rapids
x86 x86 x86
224 44~180 208
スレッド スレッド スレッド
960 GB 176 ~ 1,440 GB 448 GB
NUMA NUMA NUMA
NVMe NVMe NVMe
gVNIC gVNIC gVNIC
400 Gbps 50~400 Gbps 200 Gbps
4 8 4
割引 割引 割引
割引 割引 割引

TPU アーキテクチャの仕様

次の表に、各 TPU バージョンの主な仕様を示します。

仕様 TPU7x TPU v6e TPU v5p
Pod あたりのチップ数 9,216 256 8960
チップあたりのピーク コンピューティング(BF16)(TFLOP) 2,307 918 459
チップあたりのピーク コンピューティング(FP8)(TFLOP) 4,614 918 459
チップあたりの HBM 容量(GiB) 192 32 95
チップあたりの HBM 帯域幅(GiBps) 7,380 1638 2,575
vCPU 数(4 チップ VM) 224 180 208
RAM(GiB)(4 チップ VM) 960 720 448
チップあたりの TensorCore の数 2 1 2
チップあたりの SparseCore の数 4 2 4
チップあたりの双方向チップ間相互接続(ICI)帯域幅(GBps) 1200 800 1200
チップあたりのデータセンター ネットワーク(DCN)帯域幅(Gbps) 100 100 50

TPU マシンタイプ

以降のセクションでは、各 TPU バージョンで使用可能なマシンタイプについて説明します。

TPU7x(Ironwood)

各 TPU7x 仮想マシン(VM)には 4 つの TPU チップが含まれています。すべての TPU7x スライスは、フルホストの 4 チップ VM を使用します。

各 TPU7x チップには、2 つの TensorCore と 4 つの SparseCore が含まれています。

Ironwood プログラミング モデルを使用すると、前世代で使用されていた単一の論理コア アーキテクチャではなく、2 つの TPU デバイスにアクセスできます。詳細については、Cloud TPU ドキュメントのデュアル チプレット アーキテクチャをご覧ください。

マシンタイプ vCPU 数 インスタンスのメモリ(GiB) 物理 NIC の数 最大ネットワーク帯域幅(Gbps) VM あたりの TPU チップ数 NUMA ノードの数 TPU メモリの合計(GiB HBM)
tpu7x-standard-4t 224 960 2 400 4 2 768

TPU7x アーキテクチャの詳細については、Cloud TPU ドキュメントの TPU7x(Ironwood)をご覧ください。

TPU v6e(Trillium)

各 TPU v6e VM には、1、4、8 個の TPU チップを含めることができます。4 チップ以下のスライスには、同じ不均一メモリアクセス(NUMA)ノードがあります。

v6e スライスは、それぞれ 4 つの TPU チップを持つハーフホスト VM を使用して作成されます。ただし、次の例外があります。

  • TPU チップが 1 つしかない ct6e-standard-1t は、主にテスト用です。
  • ct6e-standard-8t は、推論ユースケース用に最適化されたフルホスト VM であり、1 つの VM に接続された 8 個の TPU チップをすべて 1 つのサービング ワークロードで使用できます。
マシンタイプ vCPU 数 インスタンスのメモリ(GB) 物理 NIC の数 最大ネットワーク帯域幅(Gbps) VM あたりの TPU チップ数 NUMA ノードの数 TPU メモリの合計(GiB HBM)
ct6e-standard-1t 44 176 1/4 50 1 1 32
ct6e-standard-4t 180 720 2 400 4 1 128
ct6e-standard-8t 360 1440 1 200 8 2 256

TPU v6e アーキテクチャの詳細については、Cloud TPU ドキュメントの TPU v6e をご覧ください。

TPU v5p

TPU v5p Pod は、再構成可能な高速リンクで相互接続された 8,960 個の TPU チップで構成されます。TPU v5p の柔軟なネットワーキングでは、さまざまな方法で同じサイズのスライスに TPU チップを接続できます。シングル スライス トレーニングは最大 6,144 個の TPU チップに対応します。

マシンタイプ vCPU 数 インスタンスのメモリ(GB) 物理 NIC の数 最大ネットワーク帯域幅(Gbps) VM あたりの TPU チップ数 NUMA ノードの数 TPU メモリの合計(GiB HBM)
ct5p-hightpu-4t 208 448 1 200 4 2 380

TPU v5p アーキテクチャの詳細については、Cloud TPU ドキュメントの TPU v5p をご覧ください。

TPU トポロジ

トポロジでは、TPU スライス内の TPU の物理的な配置を定義します。TPU のバージョンに応じて、トポロジは 2 次元または 3 次元になります。トポロジ内の各サイズの積を計算することで、スライス内の TPU チップの数を特定できます。次に例を示します。

  • 2x2x2 トポロジの tpu7x-standard-4t マシンタイプは、8 チップのマルチホスト TPU7x スライスです。

次の表に、各 TPU バージョンで使用可能なトポロジを示します。

TPU バージョン マシンタイプ 範囲 技術仕様
TPU7x(Ironwood) tpu7x-standard-4t 単一ホスト
  • トポロジ: 2 x 2 x 1
  • トポロジの TPU チップ数: 4
  • ホスト数: 1
  • VM 数: 1
  • キューブ数: 1/16
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 2 x 2 x 2
  • トポロジの TPU チップ数: 8
  • ホスト数: 2
  • VM 数: 2
  • キューブ数: 1/8
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 2 x 2 x 4
  • トポロジの TPU チップ数: 16
  • ホスト数: 4
  • VM 数: 4
  • キューブ数: 1/4
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 2 x 4 x 4
  • トポロジの TPU チップ数: 32
  • ホスト数: 8
  • VM 数: 8
  • キューブ数: 1/2
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 4 x 4 x 4
  • トポロジの TPU チップ数: 64
  • ホスト数: 16
  • VM 数: 16
  • キューブ数: 1
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 4 x 4 x 8
  • トポロジの TPU チップ数: 128
  • ホスト数: 32
  • VM 数: 32
  • キューブ数: 2
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 4 x 8 x 8
  • トポロジの TPU チップ数: 256
  • ホスト数: 64
  • VM 数: 64
  • キューブ数: 4
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 8 x 8 x 8
  • トポロジの TPU チップ数: 512
  • ホスト数: 128
  • VM 数: 128
  • キューブ数: 8
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: 8 x 8 x 16
  • トポロジの TPU チップ数: 1,024
  • ホスト数: 256
  • VM 数: 256
  • キューブ数: 16
TPU7x(Ironwood) tpu7x-standard-4t マルチホスト
  • トポロジ: {A} x {B} x {C}(A、B、C は 2 の倍数)
  • トポロジの TPU チップ数: A x B x C
  • ホスト数: (A x B x C) / 4
  • VM 数: (A x B x C / 4)
  • キューブ数: (A x B x C / 64)
TPU v6e(Trillium) ct6e-standard-1t 単一ホスト
  • トポロジ: 1 x 1
  • トポロジの TPU チップ数: 1
  • VM 数: 1
TPU v6e(Trillium) ct6e-standard-8t 単一ホスト
  • トポロジ: 2 x 4
  • トポロジの TPU チップ数: 8
  • VM 数: 1
TPU v6e(Trillium) ct6e-standard-4t 単一ホスト
  • トポロジ: 2 x 2
  • トポロジの TPU チップ数: 4
  • VM 数: 1
TPU v6e(Trillium) ct6e-standard-4t マルチホスト
  • トポロジ: 2 x 4
  • トポロジの TPU チップ数: 8
  • VM 数: 2
TPU v6e(Trillium) ct6e-standard-4t マルチホスト
  • トポロジ: 4 x 4
  • トポロジの TPU チップ数: 16
  • VM 数: 4
TPU v6e(Trillium) ct6e-standard-4t マルチホスト
  • トポロジ: 4 x 8
  • トポロジの TPU チップ数: 32
  • VM 数: 8
TPU v6e(Trillium) ct6e-standard-4t マルチホスト
  • トポロジ: 8 x 8
  • トポロジの TPU チップ数: 64
  • VM 数: 16
TPU v6e(Trillium) ct6e-standard-4t マルチホスト
  • トポロジ: 8 x 16
  • トポロジの TPU チップ数: 128
  • VM 数: 32
TPU v6e(Trillium) ct6e-standard-4t マルチホスト
  • トポロジ: 16 x 16
  • トポロジの TPU チップ数: 256
  • VM 数: 64
TPU v5p ct5p-hightpu-4t 単一ホスト
  • トポロジ: 2 x 2 x 1
  • トポロジの TPU チップ数: 4
  • VM 数: 1
TPU v5p ct5p-hightpu-4t マルチホスト
  • トポロジ: 2 x 2 x 2
  • トポロジの TPU チップ数: 8
  • VM 数: 2
TPU v5p ct5p-hightpu-4t マルチホスト
  • トポロジ: 2 x 2 x 4
  • トポロジの TPU チップ数: 16
  • VM 数: 4
TPU v5p ct5p-hightpu-4t マルチホスト
  • トポロジ: 2 x 4 x 4
  • トポロジの TPU チップ数: 32
  • VM 数: 8
TPU v5p ct5p-hightpu-4t マルチホスト
  • トポロジ: {A} x {B} x {C}(A、B、C は 2 の倍数)
  • トポロジの TPU チップ数: A x B x C
  • VM 数: (A x B x C ÷ 4)1
  1. トポロジの積を 4 で割った値から計算されます。

次のステップ