TPU v5e
このドキュメントでは、Cloud TPU v5e のアーキテクチャとサポートされている構成について説明します。
TPU v5e では、単一ホストとマルチホストのトレーニングと単一ホストの推論がサポートされています。マルチホストの推論は Sax を使用することでサポートされます。詳細については、大規模言語モデルのサービングをご覧ください。
システム アーキテクチャ
各 v5e チップには 1 つの TensorCore が含まれています。各 TensorCore には、4 つのマトリックス乗算ユニット(MXU)、1 つのベクトル ユニット、1 つのスカラー ユニットがあります。
次の図は、TPU v5e チップを示しています。
次の表に、v5e の主なチップ仕様とその値を示します。
主なチップ仕様 | v5e の値 |
チップあたりのピーク コンピューティング(bf16) | 197 TFLOPS |
HBM2 の容量と帯域幅 | 16 GB、819 GBps |
インターチップ相互接続 BW | 1,600 Gbps |
次の表に、v5e の Pod の仕様とその値を示します。
Pod の主な仕様 | v5e の値 |
TPU Pod のサイズ | 256 チップ |
相互接続トポロジ | 2D トーラス |
Pod あたりのピーク コンピューティング | 100 PetaOps(Int8) |
Pod あたりの all-reduce 帯域幅 | 51.2 TB/秒 |
Pod あたりの二分割帯域幅 | 1.6 TB/秒 |
Pod あたりのデータセンターのネットワーク帯域幅 | 6.4 Tbps |
構成
Cloud TPU v5e は、トレーニングと推論(サービング)を組み合わせたプロダクトです。トレーニング環境と推論環境を区別するには、GKE ノードプールを作成するときに、TPU API で AcceleratorType
パラメータを使用するか、--machine-type
フラグを使用します。
トレーニング ジョブはスループットと可用性に対して最適化されていますが、サービング ジョブはレイテンシに対して最適化されています。そのため、サービング用にプロビジョニングされた TPU でのトレーニング ジョブの可用性が低下する可能性があります。同様に、トレーニング用にプロビジョニングされた TPU で実行されるサービング ジョブでも、レイテンシが高くなる可能性があります。
AcceleratorType
で使用する TensorCore の数を指定します。AcceleratorType
は、gcloud CLI または Google Cloud コンソールを使用して TPU を作成するときに指定します。AcceleratorType
に指定する値は、v$VERSION_NUMBER-$CHIP_COUNT
形式の文字列です。
v5e では、次の 2D スライス シェイプがサポートされています。
トポロジ | TPU チップの数 | ホストの数 |
1×1 | 1 | 1/8 |
2x2 | 4 | 1/2 |
2x4 | 8 | 1 |
4x4 | 16 | 2 |
4x8 | 32 | 4 |
8x8 | 64 | 8 |
8x16 | 128 | 16 |
16x16 | 256 | 32 |
v5e TPU スライスの各 TPU VM には、1、4、または 8 個のチップが含まれています。4 チップ以下のスライスでは、すべての TPU チップが同じ Non Uniform Memory Access(NUMA)ノードを共有します。
8 チップ v5e TPU VM の場合、NUMA パーティション内では CPU-TPU 通信のほうが効率的です。たとえば、次の図では、CPU0-Chip0
通信は CPU0-Chip4
通信よりも高速です。
サービング用の Cloud TPU v5e タイプ
単一ホストのサービングは、最大 8 個の v5e チップでサポートされています。サポートされている構成は、1x1 スライス、2x2 スライス、2x4 スライスです。各スライスには、それぞれ 1、4、8 個のチップが搭載されています。
サービング ジョブに TPU をプロビジョニングするには、CLI または API TPU 作成リクエストで次のいずれかのアクセラレータ タイプを使用します。
AcceleratorType(TPU API) | マシンタイプ(GKE API) |
---|---|
v5litepod-1 |
ct5lp-hightpu-1t |
v5litepod-4 |
ct5lp-hightpu-4t |
v5litepod-8 |
ct5lp-hightpu-8t |
次のコマンドは、サービング用に 8 個の v5e チップを備えた v5e TPU スライスを作成します。
$ gcloud compute tpus tpu-vm create your-tpu-name \ --zone=us-central1-a \ --accelerator-type=v5litepod-8 \ --version=v2-alpha-tpuv5-lite
TPU の管理の詳細については、TPU の管理をご覧ください。Cloud TPU のシステム アーキテクチャの詳細については、システム アーキテクチャをご覧ください。
8 個以上の v5e チップでのサービング(別名、マルチホスト サービング)は、Sax を使用することでサポートされています。詳細については、大規模言語モデルのサービングをご覧ください。
トレーニング用の Cloud TPU v5e タイプ
トレーニングは最大 256 個のチップでサポートされています。
v5e トレーニング ジョブに TPU をプロビジョニングするには、CLI または API TPU 作成リクエストで次のいずれかのアクセラレータ タイプを使用します。
AcceleratorType(TPU API) | マシンタイプ(GKE API) | トポロジ |
---|---|---|
v5litepod-16 |
ct5lp-hightpu-4t |
4x4 |
v5litepod-32 |
ct5lp-hightpu-4t |
4x8 |
v5litepod-64 |
ct5lp-hightpu-4t |
8x8 |
v5litepod-128 |
ct5lp-hightpu-4t |
8x16 |
v5litepod-256 |
ct5lp-hightpu-4t |
16x16 |
次のコマンドは、トレーニング用に 256 個の v5e チップを備えた v5e TPU スライスを作成します。
$ gcloud compute tpus tpu-vm create your-tpu-name \ --zone=us-east5-a \ --accelerator-type=v5litepod-256 \ --version=v2-alpha-tpuv5-lite
TPU の管理の詳細については、TPU の管理をご覧ください。Cloud TPU のシステム アーキテクチャの詳細については、システム アーキテクチャをご覧ください。