TPU v6e
En este documento, se describe la arquitectura y las configuraciones compatibles de Cloud TPU v6e (Trillium).
Trillium es el acelerador de IA de nueva generación de Cloud TPU. En todas las plataformas técnicas, como la API y los registros, y en todo este documento, se hará referencia a Trillium como v6e.
Con una huella de 256 chips por pod, la v6e comparte muchas similitudes con la v5e. Este sistema está optimizado para ser el producto de mayor valor para el entrenamiento, la optimización y la entrega de transformadores, texto a imagen y redes neuronales convolucionales (CNN).
Arquitectura del sistema
Cada chip v6e contiene un TensorCore. Cada TensorCore tiene 4 unidades de multiplicación de matrices (MXU), una unidad vectorial y una unidad escalar. En la siguiente tabla, se muestran las especificaciones clave y sus valores para la TPU v6e en comparación con la TPU v5e.
Especificación | v5e | v6e |
---|---|---|
Rendimiento/costo total de propiedad (TCO) (esperado) | 0.65x | 1 |
Procesamiento máximo por chip (bf16) | 197 TFLOPS | 918 TFLOPS |
Procesamiento máximo por chip (Int8) | 393 TOPS | 1836 TOPS |
Capacidad de HBM por chip | 16 GB | 32 GB |
Ancho de banda de HBM por chip | 819 GBps | 1,640 GBps |
Ancho de banda de interconexión entre chips (ICI) | 1,600 Gbps | 3584 Gbps |
Puertos ICI por chip | 4 | 4 |
DRAM por host | 512 GiB | 1,536 GiB |
Chips por host | 8 | 8 |
Tamaño del pod de TPU | 256 chips | 256 chips |
Topología de interconexión | Torón 2D | Torón 2D |
Procesamiento máximo de BF16 por pod | 50.63 PFLOP | 234.9 PFLOP |
Ancho de banda de reducción total por pod | 51.2 TB/s | 102.4 TB/s |
Ancho de banda de bisección por pod | 1.6 TB/s | 3.2 TB/s |
Configuración de la NIC por host | 2 NIC de 100 Gbps | NIC de 4 x 200 Gbps |
Ancho de banda de red del centro de datos por Pod | 6.4 Tbps | 25.6 Tbps |
Funciones especiales | - | SparseCore |
Configuraciones admitidas
La TPU v6e admite el entrenamiento de hasta 256 chips v6e y la inferencia de host único para hasta 8 chips.
En la siguiente tabla, se muestran las formas de rebanada 2D compatibles con la versión 6e:
Topología | Chips TPU | Hosts | VMs | Tipo de acelerador (API de TPU) | Tipo de máquina (API de GKE) | Alcance | ¿Admite inferencia? |
---|---|---|---|---|---|---|---|
1x1 | 1 | 1/8 | 1 | v6e-1 |
ct6e-standard-1t |
Subhost | Sí |
2x2 | 4 | 1/2 | 1 | v6e-4 |
ct6e-standard-4t |
Subhost | Sí |
2x4 | 8 | 1 | 1 | v6e-8 |
ct6e-standard-8t |
Host único | Sí |
2x4 | 8 | 1 | 2 | - | ct6e-standard-4t |
Host único | No |
4x4 | 16 | 2 | 4 | v6e-16 |
ct6e-standard-4t |
Varios hosts | No |
4x8 | 32 | 4 | 8 | v6e-32 |
ct6e-standard-4t |
Varios hosts | No |
8x8 | 64 | 8 | 16 | v6e-64 |
ct6e-standard-4t |
Varios hosts | No |
8x16 | 128 | 16 | 32 | v6e-128 |
ct6e-standard-4t |
Varios hosts | No |
16x16 | 256 | 32 | 64 | v6e-256 |
ct6e-standard-4t |
Varios hosts | No |
Las porciones con 8 chips (v6e-8
) adjuntas a una sola VM están optimizadas para la inferencia, lo que permite que se usen los 8 chips en una sola carga de trabajo de publicación.
Para obtener información sobre la cantidad de VMs de cada topología, consulta Tipos de VM.
Tipos de VM
Cada VM de TPU v6e puede contener 1, 4 u 8 chips. Las porciones de 4 chips y más pequeñas tienen el mismo nodo de acceso a la memoria no uniforme (NUMA). Para obtener más información sobre los nodos NUMA, consulta Acceso a memoria no uniforme en Wikipedia.
Las porciones v6e se crean con VMs de host medio, cada una con 4 chips de TPU. Existen dos excepciones a esta regla:
v6e-1
: Es una VM con un solo chip, diseñada principalmente para pruebas.v6e-8
: Es una VM de host completo que se optimizó para un caso de uso de inferencia con los 8 chips conectados a una sola VM.
En la siguiente tabla, se muestra una comparación de los tipos de VM de TPU v6e:
Tipo de VM | Cantidad de CPU virtuales por VM | RAM (GB) por VM | Cantidad de nodos de NUMA por VM |
---|---|---|---|
VM de 1 chip | 44 | 176 | 1 |
VM de 4 chips | 180 | 720 | 1 |
VM de 8 chips | 180 | 1440 | 2 |
Especifica la configuración de v6e
Cuando asignas una porción de TPU v6e con la API de TPU, especificas su tamaño y forma con los parámetros AcceleratorType
o AcceleratorConfig
.
Si usas GKE, usa la marca --machine-type
para especificar un tipo de máquina que admita la TPU que deseas usar. Para obtener más información, consulta Implementa cargas de trabajo de TPU en GKE Standard en la documentación de GKE.
Utilizar AcceleratorType
Cuando asignas recursos de TPU, usas AcceleratorType
para especificar la cantidad de
TensorCores en una porción. El valor que especifiques para AcceleratorType
es una cadena con el formato v$VERSION-$TENSORCORE_COUNT
.
Por ejemplo, v6e-8
especifica una porción de TPU v6e con 8 TensorCores.
En el siguiente ejemplo, se muestra cómo crear una porción de TPU v6e con 32 TensorCores con AcceleratorType
:
gcloud
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=zone \ --accelerator-type=v6e-32 \ --version=v2-alpha-tpuv6e
Console
En la consola de Google Cloud, ve a la página TPUs:
Haz clic en Crear TPU.
En el campo Nombre, ingresa un nombre para tu TPU.
En el cuadro Zona, selecciona la zona en la que deseas crear la TPU.
En el cuadro Tipo de TPU, selecciona
v6e-32
.En el cuadro Versión de software de TPU, selecciona
v2-alpha-tpuv6e
. Cuando se crea una VM de Cloud TPU, la versión del software de TPU especifica la versión del entorno de ejecución de TPU que se instalará. Para obtener más información, consulta Imágenes de VM de TPU.Haz clic en el botón de activación Habilitar colas.
En el campo Nombre del recurso en cola, ingresa un nombre para tu solicitud de recurso en cola.
Haz clic en Crear.
Utilizar AcceleratorConfig
También puedes usar AcceleratorConfig
para especificar la cantidad de TensorCores que quieres usar. Sin embargo, como no hay variantes de topología 2D personalizadas para la TPU v6e, no hay diferencia entre usar AcceleratorConfig
y AcceleratorType
.
Para configurar una TPU v6e con AcceleratorConfig
, usa las marcas --version
y --topology
. Establece --version
en la versión de TPU que deseas usar y --topology
en la disposición física de los chips TPU en la porción. El valor que especifiques para AcceleratorConfig
es una cadena con el formato AxB
, en la que A
y B
son los recuentos de chips en cada dirección.
En el siguiente ejemplo, se muestra cómo crear una porción TPU v6e de 32 TensorCores con AcceleratorType
organizado en una topología 4x8:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=zone \ --type=v6e \ --topology=4x8 \ --version=v2-alpha-tpuv6e