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.
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
Rufen Sie in der Google Cloud Console die Seite TPUs auf:
Klicken Sie auf TPU erstellen.
Geben Sie im Feld Name einen Namen für Ihre TPU ein.
Wählen Sie im Feld Zone die Zone aus, in der Sie die TPU erstellen möchten.
Wählen Sie im Feld TPU-Typ die Option
v6e-32
aus.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.Klicken Sie auf den Schalter Warteschlangen aktivieren.
Geben Sie im Feld Name der Ressource in der Warteschlange einen Namen für die Anfrage für die Ressource in der Warteschlange ein.
Klicken Sie auf Erstellen.