TPU v5e
このドキュメントでは、Cloud TPU v5e のアーキテクチャとサポートされている構成について説明します。
TPU v5e は、単一ホストおよびマルチホストのトレーニングと単一ホストの推論をサポートしています。マルチホスト推論は、Sax を使用してサポートされています。詳細については、大規模言語モデルサービス提供をご覧ください。
システム アーキテクチャ
各 v5e チップには、1 つの TensorCore が含まれています。各 TensorCore には、4 つのマトリックス乗算ユニット(MXU)、1 つのベクトル ユニット、1 つのスカラー ユニットがあります。
次の図は、TPU v5 チップを示しています。
次の表に、v5e の主なチップ仕様と値を示します。
主なチップ仕様 | v5e 値 |
チップあたりのピーク コンピューティング(bf16) | 197 TFLOPs |
チップあたりのピーク コンピューティング(Int8) | 393 TFLOPs |
HBM2 の容量と帯域幅 | 16 GB, 819 GBps |
インターチップ相互接続 BW | 1600 Gbps |
次の表に、v5e の Pod の仕様と値を示します。
主な Pod 仕様 | v5e 値 |
TPU Pod のサイズ | 256 チップ |
相互接続トポロジ | 2D トーラス |
Pod あたりのピーク コンピューティング | 100 PetaOps(Int8) |
Pod あたりの all-reduce 帯域幅 | 51.2 TB/s |
Pod あたりの二分割帯域幅 | 1.6 TB/s |
Pod あたりのデータセンターのネットワーク帯域幅 | 6.4 Tbps |
構成
Cloud TPU v5e は、トレーニングと推論(サービス提供)を組み合わせたプロダクトです。トレーニング環境と推論環境を区別するには、TPU API で AcceleratorType
フラグまたは AcceleratorConfig
フラグを使用するか、GKE ノードプールを作成するときに --machine-type
フラグを使用します。
トレーニング ジョブはスループットと可用性に対して最適化されていますが、サービス提供ジョブはレイテンシに対して最適化されています。そのため、サービス提供用にプロビジョニングされた TPU でのトレーニング ジョブの可用性が低下する可能性があります。同様に、トレーニング用にプロビジョニングされた TPU で実行されるサービス提供ジョブでも、レイテンシが高くなる可能性があります。
AcceleratorType
を使用して、使用する TensorCore の数を指定します。AcceleratorType
は、gcloud CLI または Google Cloud コンソールを使用して TPU を作成するときに指定します。AcceleratorType
に指定する値は、v$VERSION_NUMBER-$CHIP_COUNT
の形式の文字列です。
AcceleratorConfig
を使用して、使用する TensorCore の数を指定することもできます。ただし、TPU v5e にはカスタム 2D トポロジ バリアントがないため、AcceleratorConfig
の使用と AcceleratorType
の使用に違いはありません。
AcceleratorConfig
を使用して TPU v5e を構成するには、--version
フラグと --topology
フラグを使用します。--version
を、使用する TPU バージョンに設定し、--topology
をスライスの TPU チップの物理配置に設定します。AcceleratorConfig
に指定する値は AxB
形式の文字列です。ここで、A
と B
は各方向のチップ数です。
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 |
Sax を使用すると、8 個以上の v5e チップ(マルチホスト サービス提供)でのサービス提供がサポートされています。詳細については、大規模言語モデルサービス提供をご覧ください。
トレーニング用の 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 |
v5e TPU VM タイプの比較
VM のタイプ | n2d-48-24-v5lite-tpu | n2d-192-112-v5lite-tpu | n2d-384-224-v5lite-tpu |
# of v5e chips | 1 | 4 | 8 |
vCPU の数 | 24 | 112 | 224 |
RAM(GB) | 48 | 192 | 384 |
NUMA ノードの数 | 1 | 1 | 2 |
適用先 | v5litepod-1 | v5litepod-4 | v5litepod-8 |
中断 | 高 | 中 | 低 |
より多くのチップを必要とするワークロード用に、スケジューラはチップ数の少ない VM をプリエンプトすることがあります。そのため、8 チップ VM は 1 チップと 4 チップ VM をプリエンプトする可能性が高くなります。