Unterstützte TPU-Konfigurationen
Informationen zum Ermitteln der effektivsten TPU-Konfiguration für das Training Ihres Modells finden Sie im Abschnitt zu den Hardwareversionen im Dokument zur Systemarchitektur. Eine Liste der von Cloud TPU unterstützten Referenzmodelle finden Sie auf der Seite Unterstützte Referenzmodelle.
Auf dieser Seite finden Sie eine Liste der TPU-Typen und der TPU-Laufzeitversionen. Bei der Programmierung mit TensorFlow-Frameworks hängt die verwendete Laufzeit davon ab, ob Sie die TPU-VM oder die TPU-Knotenarchitektur verwenden. Weitere Informationen zu den Unterschieden zwischen den beiden VM-Architekturen finden Sie auf der Seite Systemarchitektur.
In den folgenden Tabellen sind die unterstützten TPU-Hardwaretypen aufgeführt.
TPU v4-Konfigurationen
TPU v4-Konfigurationen bestehen aus zwei Gruppen: Topologien mit weniger als 64 Chips (kleine Topologien) und Topologien mit mehr als 64 Chips (große Topologien). Die unterstützten Konfigurationen für jede dieser Topologien werden in den folgenden Abschnitten beschrieben.
Kleine v4-Topologien
Cloud TPU unterstützt die folgenden TPU v4-Slices, die kleiner als 64 Chips sind, also ein Würfel mit 4 × 4 × 4 Punkten. Sie können diese kleinen v4-Topologien entweder mit ihrem TensorCore-basierten Namen (z. B. v4-32) oder ihrer Topologie (z. B. 2x2x4) erstellen:
Name (basierend auf der TensorCore-Anzahl) | Anzahl der Chips | Topologie |
v4–8 | 4 | 2x2x1 |
v4–16 | 8 | 2x2x2 |
v4–32 | 16 | 2x2x4 |
v4–64 | 32 | 2x4x4 |
Große v4-Topologien
TPU v4-Segmente sind in Schritten von 64 Chips verfügbar, wobei die Formen ein Vielfaches von 4 auf allen drei Dimensionen sind. Die Abmessungen müssen auch in aufsteigender Reihenfolge angegeben werden. In der folgenden Tabelle sind mehrere Beispiele aufgeführt. Einige dieser Topologien sind „benutzerdefinierte“ Topologien, die nur mit der Topologie von Google Cloud gestartet werden können, da sie dieselbe Anzahl von Chips wie eine gängige benannte Topologie haben.
Name (basierend auf der TensorCore-Anzahl) | Anzahl der Chips | Topologie |
v4–128 | 64 | 4x4x4 |
v4–256 | 128 | 4x4x8 |
v4–512 | 256 | 4x8x8 |
Topology API ansehen | 256 | 4x4x16 |
v4–1024 | 512 | 8x8x8 |
v4–1536 | 768 | 8x8x12 |
v4–2048 | 1.024 | 8x8x16 |
Topology API ansehen | 1.024 | 4x16x16 |
v4–4096 | 2.048 | 8x16x16 |
… | … | … |
Topologie-API
Die gcloud
TPU API kann so verwendet werden, um Cloud TPU Pod-Segmente mit benutzerdefinierter Topologie zu erstellen:
$ gcloud alpha compute tpus tpu-vm create tpu-name \
--zone=us-central2-b \
--subnetwork=tpusubnet \
--type=v4 \
--topology=4x4x16 \
--version=runtime-version
TPU v2- und v3-Konfigurationen
In der folgenden Tabelle sind die unterstützten TPU v2- und v3-Typen aufgeführt.
TPU-Version | Support-Ende |
---|---|
v2-8 | (Enddatum wurde noch nicht festgelegt) |
v2-32 | (Enddatum wurde noch nicht festgelegt) |
v2-128 | (Enddatum wurde noch nicht festgelegt) |
v2-256 | (Enddatum wurde noch nicht festgelegt) |
v2-512 | (Enddatum wurde noch nicht festgelegt) |
v3-8 | (Enddatum wurde noch nicht festgelegt) |
v3-32 | (Enddatum wurde noch nicht festgelegt) |
v3–128 | (Enddatum wurde noch nicht festgelegt) |
v3–256 | (Enddatum wurde noch nicht festgelegt) |
v3–512 | (Enddatum wurde noch nicht festgelegt) |
v3–1024 | (Enddatum wurde noch nicht festgelegt) |
v3–2048 | (Enddatum wurde noch nicht festgelegt) |
TPU-Softwareversionen
Die Version der TPU-Software, die Sie verwenden sollten, hängt von der TPU-Architektur, der TPU-VM oder dem TPU-Knoten und dem verwendeten ML-Framework (TensorFlow, PyTorch oder JAX) ab.
TPU-VM
Wenn Sie eine TPU-VM erstellen, ist die neueste Version von TensorFlow auf der TPU-VM vorinstalliert.
TensorFlow
Verwenden Sie die TPU-Softwareversion, die der Version von TensorFlow entspricht, mit der Ihr Modell geschrieben wurde. Wenn Sie beispielsweise TensorFlow 2.11.0 nutzen, nutzen Sie die TPU-Softwareversion tpu-vm-tf-2.11.0
. Wenn Sie einen TPU-Pod verwenden, verwenden Sie tpu-vm-tf-2.11.0-pod
. Die derzeit unterstützten TPU-Softwareversionen von TensorFlow für TPUs sind:
- tpu-vm-tf-2.11.0
- tpu-vm-tf-2.10.1
- tpu-vm-tf-2.10.0
- tpu-vm-tf-2.9.3
- tpu-vm-tf-2.9.1
- tpu-vm-tf-2.8.4
- tpu-vm-tf-2.8.3
- tpu-vm-tf-2.8.0
- tpu-vm-tf-2.7.4
- tpu-vm-tf-2.7.3
- tpu-vm-tf-2.6.5
Wenn Sie einen TPU-VM-Pod angeben möchten, fügen Sie der TPU-Softwareversion -pod
hinzu, z. B. tpu-vm-tf-2.11.0-pod
.
TPU-VM mit TPU v4
Wenn Sie ein Modell auf TPU VM v4 mit TensorFlow trainieren, verwenden Sie eine der unten aufgeführten v4
-Versionen.
2.10.0 - tpu-vm-tf-2.10.0-v4, tpu-vm-tf-2.10.0-pod-v4 2.9.3 - tpu-vm-tf-2.9.3-v4, tpu-vm-tf-2.9.3-pod-v4 2.9.2 - tpu-vm-tf-2.9.2-v4, tpu-vm-tf-2.9.2-pod-v4 2.9.1 - tpu-vm-tf-2.9.1-v4, tpu-vm-tf-2.9.1-pod-v4 2.10.0 - tpu-vm-tf-2.10.0-v4, tpu-vm-tf-2.10.0-pod-v4
Ab TensorFlow 2.10.1 gibt es nur noch ein einzelnes Image und Sie müssen -v4
nicht mit der Versionsnummer angeben.
Weitere Informationen zu TensorFlow-Patchversionen finden Sie unter Unterstützte TensorFlow-Patchversionen.
TPU-VMs werden mit TensorFlow und der entsprechenden Libtpu-Bibliothek erstellt. Wenn Sie ein eigenes VM-Image erstellen, geben Sie die folgenden TensorFlow-TPU-Softwareversionen und die entsprechenden Libtpu-Versionen an:
TensorFlow-Version | libtpu.so-Version |
---|---|
2.11.0 | 1.5.0 |
2.10.1 | 1.4 |
2.10.0 | 1.4 |
2.9.3 | 1.3 |
2.9.1 | 1.3.0 |
2.8.3 | 1.2 |
2,8 | 1.2.0 |
2,7,3 | 1.1 |
PyTorch
Verwenden Sie die TPU-Softwareversion, die der PyTorch-Version entspricht, mit der Ihr Modell geschrieben wurde. Wenn Sie beispielsweise PyTorch 1.13 verwenden, nutzen Sie die TPU-Softwareversion tpu-vm-pt-1.13
für v2 und v3 oder die TPU-Softwareversion tpu-vm-v4-pt-1.13
für v4. Für TPU-Pods wird dieselbe TPU-Softwareversion verwendet (z.B. v2-32, v3-128, v4-32). Die derzeit unterstützten TPU-Softwareversionen sind:
TPU v2/v3:
- tpu-vm-pt-1.13 (pytorch-1.13)
- tpu-vm-pt-1.12 (pytorch-1.12)
- tpu-vm-pt-1.11 (pytorch-1.11)
- tpu-vm-pt-1.10 (pytorch-1.10)
- v2-alpha (pytorch-1.8.1)
TPU v4:
- tpu-vm-v4-pt-1.13 (pytorch-1.13)
Wenn Sie eine TPU-VM erstellen, ist die neueste Version von PyTorch auf der TPU-VM vorinstalliert. Die richtige Version von libtpu.so wird automatisch installiert, wenn Sie PyTorch installieren.
Informationen zum Ändern der aktuellen PyTorch-Softwareversion finden Sie unter PyTorch-Version ändern.
JAX
Sie müssen JAX manuell auf Ihrer TPU-VM installieren, da es keine JAX-spezifische TPU-Softwareversion gibt. Verwenden Sie für v2- und v3-Konfigurationen die TPU-Softwareversion tpu-vm-base
. Für v4-Konfigurationen verwenden Sie tpu-vm-v4-base
. Die korrekte Version von libtpu.so wird bei der Installation von JAX automatisch installiert.
TPU-Knoten
TensorFlow
Verwenden Sie die TPU-Softwareversion, die der Version von TensorFlow entspricht, mit der Ihr Modell geschrieben wurde. Wenn Sie beispielsweise TF 2.11.0 verwenden, nutzen Sie die TPU-Softwareversion 2.11.0
. Die TensorFlow-spezifischen TPU-Softwareversionen sind:
- 2.11.0
- 2.10.1
- 2.10.0
- 2.9.3
- 2.9.1
- 2.8.4
- 2.8.2
- 2.7.3
- 2.6.5
- 2.5.3
- 2.4.3
- 2.3.4
- 2.2.3
- 2.1.4
Weitere Informationen zu TensorFlow-Patchversionen finden Sie unter Unterstützte TensorFlow-Patchversionen.
Wenn Sie einen TPU-Knoten erstellen, ist die neueste Version von TensorFlow auf dem TPU-Knoten vorinstalliert.
PyTorch
Verwenden Sie die TPU-Softwareversion, die der Version von PyTorch entspricht, mit der Ihr Modell geschrieben wurde. Wenn Sie beispielsweise PyTorch 1.9 verwenden, verwenden Sie die Softwareversion pytorch-1.9
.
Die PyTorch-spezifischen TPU-Softwareversionen sind:
- pytorch-1,13
- pytorch-1,12
- pytorch-1,11
- pytorch-1,10
- pytorch-1.9
- pytorch-1.8
- pytorch-1.7
pytorch-1.6
pytorch-nightly
Wenn Sie einen TPU-Knoten erstellen, ist die neueste Version von PyTorch auf dem TPU-Knoten vorinstalliert.
JAX
Sie müssen JAX manuell auf Ihrer TPU-VM installieren, sodass keine TPU-Softwareversion vorinstalliert ist. Sie können jede der für TensorFlow aufgeführten Softwareversionen verwenden.