TPU v6e

In diesem Dokument werden die Architektur und die unterstützten Konfigurationen von Cloud TPU v6e (Trillium) beschrieben.

Trillium ist die neueste Generation von KI-Beschleunigern für Cloud TPU. Auf allen technischen Oberflächen wie der API und in Logs sowie in diesem Dokument wird Trillium als v6e bezeichnet.

Mit 256 Chips pro Pod ähnelt die v6e-Architektur der v5e-Architektur. Dieses System ist optimiert, um das Produkt mit dem höchsten Wert für das Training, die Feinabstimmung und die Bereitstellung von Transformer-, Text-zu-Bild- und Convolutional Neural Network-Modellen (CNN) zu sein.

Systemarchitektur

Jeder v6e-Chip enthält einen TensorCore. Jeder TensorCore hat zwei Matrixmultiplikationseinheiten (MXU), eine Vektoreinheit und eine Skalareinheit. In der folgenden Tabelle sind die wichtigsten Spezifikationen und ihre Werte für TPU v6e im Vergleich zu TPU v5e aufgeführt.

Spezifikation v5e v6e
Leistung/Gesamtbetriebskosten (erwartet) 0,65‑fach 1
Maximale Rechenleistung pro Chip (bf16) 197 TFLOPS 918 TFLOPS
Maximale Rechenleistung pro Chip (Int8) 393 TOPS 1836 TOPS
HBM-Kapazität pro Chip 16 GB 32 GB
HBM-Bandbreite pro Chip 819 GB/s 1.640 GB/s
Bandbreite der Inter-Chip-Interconnect-Verbindung (ICI) 1.600 Gbit/s 3.584 Gbit/s
ICI-Ports pro Chip 4 4
DRAM pro Host 512 GiB 1.536 GiB
Chips pro Host 8 8
TPU-Pod-Größe 256 Chips 256 Chips
Interconnect-Topologie 2D-Torus 2D-Torus
BF16-Spitzenrechenleistung pro Pod 50,63 PFLOPs 234,9 PFLOPs
All-Reduce-Bandbreite pro Pod 51,2 TB/s 102,4 TB/s
Geteilte Bandbreite pro Pod 1,6 TB/s 3,2 TB/s
NIC-Konfiguration pro Host 2 x 100 Gbit/s-NIC 4 × 200 Gbit/s-NIC
Bandbreite des Rechenzentrumsnetzwerks pro Pod 6,4 Tbit/s 25,6 Tbit/s
Besondere Features - SparseCore

Unterstützte Konfigurationen

In der folgenden Tabelle sind die 2D-Slice-Formen aufgeführt, die für v6e unterstützt werden:

Topologie TPU-Chips Hosts VMs Beschleunigertyp (TPU API) Maschinentyp (GKE API) Umfang
1x1 1 1/8 1 v6e-1 ct6e-standard-1t Untergeordneter Host
2x2 4 1/2 1 v6e-4 ct6e-standard-4t Untergeordneter Host
2x4 8 1 1 v6e-8 ct6e-standard-8t Einzelner Host
2x4 8 1 2 - ct6e-standard-4t Einzelner Host
4x4 16 2 4 v6e-16 ct6e-standard-4t Mehrere Hosts
4x8 32 4 8 v6e-32 ct6e-standard-4t Mehrere Hosts
8x8 64 8 16 v6e-64 ct6e-standard-4t Mehrere Hosts
8x16 128 16 32 v6e-128 ct6e-standard-4t Mehrere Hosts
16x16 256 32 64 v6e-256 ct6e-standard-4t Mehrere Hosts

Slices mit 8 Chips (v6e-8), die an eine einzelne VM angehängt sind, sind für die Inferenz optimiert. So können alle 8 Chips in einer einzelnen Serving-Arbeitslast verwendet werden. Sie können die Inferenz mit mehreren Hosts mit Pathways in der Cloud ausführen. Weitere Informationen finden Sie unter Inferenz auf mehreren Hosts mit Pathways durchführen.

Informationen zur Anzahl der VMs für jede Topologie finden Sie unter VM-Typen.

VM-Typen

Jede TPU v6e-VM kann 1, 4 oder 8 Chips enthalten. Slices mit 4 Chips und weniger haben denselben NUMA-Knoten (Non-Uniform Memory Access). Weitere Informationen zu NUMA-Knoten finden Sie im Wikipedia-Artikel Non-uniform memory access.

Diagramm eines v6e-Hosts

v6e-Slices werden mit Half-Host-VMs erstellt, die jeweils 4 TPU-Chips haben. Von dieser Regel gibt es zwei Ausnahmen:

  • v6e-1: Eine VM mit nur einem Chip, die hauptsächlich für Tests vorgesehen ist.
  • v6e-8: Eine VM mit vollständigem Host, die für einen Inferenzanwendungsfall optimiert wurde und bei der alle 8 Chips an eine einzelne VM angehängt sind.

In der folgenden Tabelle werden die TPU v6e-VM-Typen verglichen:

VM-Typ Anzahl der vCPUs pro VM RAM (GB) pro VM Anzahl der NUMA-Knoten pro VM
VM mit einem Chip 44 176 1
VM mit 4 Chips 180 720 1
VM mit 8 Chips 180 1440 2

v6e-Konfiguration angeben

Wenn Sie einen TPU v6e-Slice mit der TPU API zuweisen, geben Sie seine Größe und Form mit dem Parameter AcceleratorType an.

Wenn Sie GKE verwenden, geben Sie mit dem Flag --machine-type einen Maschinentyp an, der die TPU unterstützt, die Sie verwenden möchten. Weitere Informationen finden Sie in der GKE-Dokumentation unter TPUs in GKE planen.

AcceleratorType verwenden

Wenn Sie TPU-Ressourcen zuweisen, geben Sie mit AcceleratorType die Anzahl der Tensor-Cores in einem Slice an. Der Wert, den Sie für AcceleratorType angeben, ist ein String im Format v$VERSION-$TENSORCORE_COUNT. v6e-8 gibt beispielsweise ein v6e-TPU-Segment mit 8 TensorCores an.

Das folgende Beispiel zeigt, wie Sie mit AcceleratorType einen TPU v6e-Slice mit 32 TensorCores erstellen:

gcloud

    $ gcloud compute tpus tpu-vm create tpu-name \
        --zone=zone \
        --accelerator-type=v6e-32 \
        --version=v2-alpha-tpuv6e

Console

  1. Rufen Sie in der Google Cloud Console die Seite TPUs auf:

    Zu TPUs

  2. Klicken Sie auf TPU erstellen.

  3. Geben Sie im Feld Name einen Namen für Ihre TPU ein.

  4. Wählen Sie im Feld Zone die Zone aus, in der Sie die TPU erstellen möchten.

  5. Wählen Sie im Feld TPU-Typ die Option v6e-32 aus.

  6. Wählen Sie im Feld TPU-Softwareversion die Option v2-alpha-tpuv6e aus. Beim Erstellen einer Cloud TPU-VM gibt die TPU-Softwareversion die Version der zu installierenden TPU-Laufzeit an. Weitere Informationen finden Sie unter TPU-VM-Images.

  7. Klicken Sie auf den Schalter Warteschlangen aktivieren.

  8. Geben Sie im Feld Name der Ressource in der Warteschlange einen Namen für die Anfrage für die Ressource in der Warteschlange ein.

  9. Klicken Sie auf Erstellen.

Nächste Schritte