TPU v5e

En este documento se describen la arquitectura y las configuraciones admitidas de Cloud TPU v5e.

La TPU v5e admite el entrenamiento de un solo host y de varios hosts, así como la inferencia de un solo host. La inferencia de varios hosts se admite mediante Sax. Para obtener más información, consulta Inferencia de Cloud TPU.

Arquitectura del sistema

Cada chip v5e contiene un Tensor Core. Cada Tensor Core tiene cuatro unidades de multiplicación de matrices (MXUs), una unidad vectorial y una unidad escalar.

En el siguiente diagrama se muestra un chip TPU v5e.

Diagrama de un chip v5e

En la siguiente tabla se muestran las especificaciones clave del chip y sus valores para la versión 5e.

Especificaciones clave del chip Valores v5e
Rendimiento máximo de cálculo por chip (bf16) 197 TFLOPS
Capacidad y ancho de banda de HBM2 16 GB, 819 GB/s
Ancho de banda de interconexión entre chips 1600 Gbps

En la siguiente tabla se muestran las especificaciones de los pods y sus valores para la versión 5e.

Especificaciones principales del Pod Valores v5e
Tamaño del pod de TPUs 256 chips
Topología de interconexión Toroide 2D
Computación máxima por pod 100 petaops (Int8)
Ancho de banda de All-reduce por pod 51,2 TB/s
Ancho de banda de bisección por pod 1,6 TB/s
Ancho de banda de la red del centro de datos por pod 6,4 Tbps

Configuraciones

La versión 5e de TPU de Cloud es un producto combinado de entrenamiento e inferencia (servicio). Para diferenciar entre un entorno de entrenamiento y un entorno de inferencia, usa el parámetro AcceleratorType con la API de TPU o la marca --machine-type cuando crees un grupo de nodos de Google Kubernetes Engine (GKE).

Las tareas de entrenamiento están optimizadas para el rendimiento y la disponibilidad, mientras que las tareas de servicio están optimizadas para la latencia. Un trabajo de entrenamiento en TPUs aprovisionadas para el servicio podría tener una disponibilidad menor y, del mismo modo, un trabajo de servicio ejecutado en TPUs aprovisionadas para el entrenamiento podría tener una latencia mayor.

Usa AcceleratorType para especificar el número de TensorCores que quieres usar. Especifica el AcceleratorType al crear una TPU con la CLI de gcloud o la Google Cloud consola. El valor que especifiques para AcceleratorType es una cadena con el formato v$VERSION_NUMBER-$CHIP_COUNT.

En la versión 5e se admiten las siguientes formas de corte 2D:

Topología Número de chips de TPU Número de anfitriones
1x1 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

Tipos de máquinas virtuales

Cada VM de TPU de una porción de TPU v5e contiene 1, 4 u 8 chips. En las porciones de 4 chips o menos, todos los chips de TPU comparten el mismo nodo de acceso a memoria no uniforme (NUMA).

En las VMs de TPU v5e de 8 chips, la comunicación entre la CPU y la TPU será más eficiente en las particiones NUMA. Por ejemplo, en la siguiente figura, la comunicación CPU0-Chip0 será más rápida que la comunicación CPU0-Chip4.

Comunicación de nodos NUMA

En la siguiente tabla se comparan los tipos de máquinas virtuales de TPU v5e:

Tipo de VM Tipo de máquina (API de GKE) Número de vCPUs por VM RAM (GB) por VM Número de nodos NUMA por VM
VM de 1 chip ct5lp-hightpu-1t 24 48 1
VM de 4 chips ct5lp-hightpu-4t 112 192 1
VM de 8 chips ct5lp-hightpu-8t 224 384 2

Tipos de TPU de Cloud (versión 5e) para el servicio

Se admite el servicio de un solo host para un máximo de 8 chips v5e. Se admiten las siguientes configuraciones: 1x1, 2x2 y 2x4. Cada porción tiene 1, 4 y 8 chips respectivamente.

Configuraciones de TPU v5e que admiten el servicio: 1x1, 2x2 y 2x4.

Para aprovisionar TPUs para un trabajo de servicio, usa uno de los siguientes tipos de acelerador en tu solicitud de creación de TPUs de la CLI o de la API:

AcceleratorType (API de TPU) Tipo de máquina (API de GKE)
v5litepod-1 ct5lp-hightpu-1t
v5litepod-4 ct5lp-hightpu-4t
v5litepod-8 ct5lp-hightpu-8t

El siguiente comando crea un slice de TPU v5e con 8 chips v5e para el servicio:

$ gcloud compute tpus tpu-vm create your-tpu-name \
    --zone=us-central1-a \
    --accelerator-type=v5litepod-8 \
    --version=v2-alpha-tpuv5-lite

Para obtener más información sobre cómo gestionar las TPUs, consulta Gestionar TPUs. Para obtener más información sobre la arquitectura del sistema de las TPU de Cloud, consulta Arquitectura del sistema.

Se puede servir contenido en más de 8 chips v5e, lo que también se conoce como servicio multihost, mediante Sax. Para obtener más información, consulta la página sobre la inferencia de Cloud TPU.

Tipos de TPU de Cloud v5e para entrenamiento

Se admite el entrenamiento con hasta 256 chips.

Para aprovisionar TPUs para una tarea de entrenamiento de v5e, usa uno de los siguientes tipos de acelerador en tu solicitud de creación de TPUs de la CLI o de la API:

AcceleratorType (API de TPU) Tipo de máquina (API de GKE) Topología
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

El siguiente comando crea un segmento de TPU v5e con 256 chips v5e para el entrenamiento:

$ gcloud compute tpus tpu-vm create your-tpu-name \
    --zone=us-east5-a \
    --accelerator-type=v5litepod-256 \
    --version=v2-alpha-tpuv5-lite

Para obtener más información sobre cómo gestionar las TPUs, consulta Gestionar TPUs. Para obtener más información sobre la arquitectura del sistema de las TPU de Cloud, consulta Arquitectura del sistema.