Máquinas con TPU en la familia de máquinas optimizadas para aceleradores

En este documento, se describen las instancias de Compute Engine en la familia de máquinas optimizadas para aceleradores que tienen unidades de procesamiento tensorial (TPU). Las TPU son circuitos integrados específicos de aplicaciones (ASIC) desarrollados por Google y optimizados específicamente para cargas de trabajo de inteligencia artificial (IA) y aprendizaje automático (AA).

Compute Engine admite las siguientes versiones de TPU:

  • TPU7x
  • TPU v6e
  • TPU v5p

Cada tipo de máquina dentro de una versión tiene una topología específica y una cantidad de chips TPU conectados.

Conceptos básicos de la arquitectura de TPU

Comprender los conceptos básicos de la arquitectura de TPU te ayuda a elegir la versión de TPU y el tipo de máquina para tu carga de trabajo.

  • chip TPU: Un chip TPU es un acelerador especializado diseñado por Google para el aprendizaje automático. Cada chip TPU contiene uno o más TensorCores para controlar operaciones de matrices masivas. Cada TensorCore consta de una o más unidades de multiplicación de matrices (MXU), que usan una arquitectura de array sistólico para realizar miles de operaciones de multiplicación y acumulación por ciclo sin acceso constante a la memoria. Si bien se usa principalmente para el procesamiento de matrices de alta velocidad, el chip TPU también incluye unidades vectoriales y escalares para operaciones de flujo de control y procesamiento generales.

  • Pod de TPU: Un pod de TPU es un conjunto contiguo de TPU agrupadas en una red especializada. La cantidad de chips TPU en un pod de TPU depende de la versión de TPU.

  • VM de TPU: Una VM de TPU es una máquina virtual de Linux que se ejecuta en un host de TPU y tiene acceso a las TPU subyacentes. Puedes conectarte directamente a las VMs de TPU con SSH. Tienes acceso raíz a la VM, por lo que puedes ejecutar un código arbitrario. Puedes acceder a los registros de depuración y los mensajes de error del compilador y del entorno de ejecución.

  • Porción de TPU: Es un grupo lógico de chips TPU interconectados al que se accede a través de una o más VMs de TPU. Los segmentos tienen uno de los siguientes alcances:

    • Porción de host único: Es una porción que consta de una máquina anfitrión. En general, esto se asigna a una VM de TPU.
    • Porción de varios hosts: Es una porción que consta de varias VMs de TPU interconectadas con una interconexión entre chips (ICI) de alta velocidad.
  • Cubo de TPU: Es una topología de 4x4x4 de chips TPU interconectados. Esto solo se aplica a las topologías 3D.

  • SparseCore: Los SparseCores son procesadores de Dataflow que aceleran los modelos con operaciones dispersas. Un caso de uso principal es la aceleración de los modelos de recomendación, que dependen en gran medida de los embeddings.

  • Versiones de TPU: La arquitectura exacta de un chip TPU depende de la versión de TPU que uses. Cada versión de TPU también admite diferentes tamaños y parámetros de configuración de porción.

Para obtener información sobre cómo funcionan las TPU, consulta el documento Arquitectura de TPU en la documentación de Cloud TPU.

Versiones de TPU recomendadas por tipo de carga de trabajo

Versión de TPU Tipos de cargas de trabajo principales
TPU7x (Ironwood)
  • Modelos densos y de mezcla de expertos (MoE) a gran escala
  • Entrenamiento previo intensivo para modelos de base masivos
  • Muestreo y la inferencia con gran cantidad de decodificación
TPU v6e (Trillium)
  • Entrenamiento y ajuste (Transformers, CNN)
  • Inferencia a gran escala (Gemma 2, Llama, modelos de difusión)
  • Motores de recomendación y personalización (con SparseCore)
TPU v5p
  • Mayor rendimiento para el entrenamiento de modelos de base a gran escala
  • Entrenamiento de IA multimodal a gran escala
  • Cargas de trabajo con gran cantidad de incorporaciones, como los sistemas de recomendación grandes

Opciones de consumo

Para optimizar el uso de recursos y los costos, y, al mismo tiempo, equilibrar el rendimiento de la carga de trabajo, Compute Engine admite las siguientes opciones de consumo de TPU:

  • Según demanda: Para consumir TPU sin organizar la capacidad con anticipación Antes de solicitar recursos, debes tener suficiente cuota según demanda para el tipo y la cantidad específicos de VMs de TPU. La opción según demanda es la más flexible para el consumo. Sin embargo, no hay garantía de que haya suficientes recursos según demanda disponibles para satisfacer tu solicitud.

  • VMs Spot: Para aprovisionar VMs Spot, puedes obtener descuentos significativos, pero las VMs Spot se pueden interrumpir en cualquier momento, con una advertencia de 30 segundos. Para obtener más información, consulta Acerca de las VMs Spot.

  • Inicio flexible: Aprovisiona VMs de inicio flexible por hasta siete días, con Compute Engine asignando automáticamente el hardware según el mejor esfuerzo y la disponibilidad. Para obtener más información, consulta Acerca de las VMs de inicio flexible.

  • Reserva futura: Para solicitar una reserva futura por un año o más Para obtener más información, consulta Cómo solicitar una reserva futura por un año o más en la documentación de Cloud TPU.

  • Reserva futura en modo de calendario: Para aprovisionar recursos de TPU por hasta 90 días, durante un período especificado. Para obtener más información, consulta Acerca de las solicitudes de reserva futuras en el modo de calendario.

El modelo de consumo predeterminado para las TPU es el modelo bajo demanda si no especificas otra opción.

Para obtener información sobre el modelo de aprovisionamiento subyacente que habilita la opción de consumo, consulta Acerca de los modelos de aprovisionamiento de VMs.

Disponibilidad de opciones de consumo por versión de TPU

En la siguiente tabla, se resume la disponibilidad de cada opción de consumo por versión de TPU.

Versión de TPU A pedido Spot Inicio flexible Reservas según demanda Reservas futuras Reservas futuras en modo calendario
1 1 1

1 Las reservas de Spot, inicio flexible y futuras en el modo de calendario para TPU7x están restringidas por una lista de entidades permitidas. Para solicitar acceso, comunícate con tu equipo de cuentas o con el equipo de ventas.

Comparación de versiones de TPU

Comparar las características de las diferentes versiones de TPU Puedes seleccionar propiedades específicas en el campo Elige propiedades para comparar para comparar esas propiedades con todas las versiones de TPU en la siguiente tabla.

Acelerador optimizado Acelerador optimizado Acelerador optimizado
VM VM VM
Emerald Rapids de Intel AMD EPYC Genoa Intel Sapphire Rapids
x86 x86 x86
224 44 a 180 208
Conversación Conversación Conversación
960 GB 176 a 1,440 GB 448 GB
NUMA NUMA NUMA
NVMe NVMe NVMe
gVNIC gVNIC gVNIC
400 Gbps 50 a 400 Gbps 200 Gbps
4 8 4
descuentos descuentos descuentos
descuentos descuentos descuentos

Especificaciones de la arquitectura de TPU

En la siguiente tabla, se enumeran las especificaciones clave de cada versión de TPU.

Especificación TPU7x TPU v6e TPU v5p
Cantidad de chips por Pod 9,216 256 8,960
Procesamiento máximo por chip (BF16) (Tflops) 2,307 918 459
Procesamiento máximo por chip (FP8) (Tflops) 4,614 918 459
Capacidad de HBM por chip (GiB) 192 32 95
Ancho de banda de HBM por chip (GiBps) 7,380 1,638 2575
Cantidad de CPU virtuales (VM de 4 chips) 224 180 208
RAM (GiB) (VM de 4 chips) 960 720 448
Cantidad de TensorCores por chip 2 1 2
Cantidad de SparseCores por chip 4 2 4
Ancho de banda de interconexión entre chips (ICI) bidireccional por chip (GB/s) 1200 800 1200
Ancho de banda de la red del centro de datos (DCN) por chip (Gbps) 100 100 50

Tipos de máquinas de TPU

En las siguientes secciones, se describen los tipos de máquinas disponibles para cada versión de TPU.

TPU7x (Ironwood)

Cada máquina virtual (VM) de TPU7x contiene 4 chips TPU. Todas las porciones de TPU7x usan VMs de host completo con 4 chips.

Cada chip TPU7x contiene dos TensorCores y cuatro SparseCores.

El modelo de programación de Ironwood te permite acceder a dos dispositivos de TPU en lugar de una arquitectura de un solo núcleo lógico que se usaba en generaciones anteriores. Para obtener más información, consulta Arquitectura de doble chiplet en la documentación de Cloud TPU.

Tipo de máquina Cantidad de CPU virtuales Memoria de la instancia (GiB) Cantidad de NICs físicas Ancho de banda de red máximo (Gbps) Cantidad de chips TPU por VM Cantidad de nodos de NUMA Memoria total de TPU (GiB de HBM)
tpu7x-standard-4t 224 960 2 400 4 2 768

Para obtener más información sobre la arquitectura de TPU7x, consulta TPU7x (Ironwood) en la documentación de Cloud TPU.

TPU v6e (Trillium)

Cada VM de TPU v6e puede contener 1, 4 u 8 chips de TPU. Las porciones de 4 chips y más pequeñas tienen el mismo nodo de acceso a la memoria no uniforme (NUMA).

Las porciones de v6e se crean con VMs de medio host, cada una con 4 chips TPU, excepto las siguientes:

  • El ct6e-standard-1t con un solo chip TPU está diseñado principalmente para pruebas.
  • ct6e-standard-8t es una VM de host completo que se optimizó para un caso de uso de inferencia, lo que permite que los 8 chips de TPU conectados a una sola VM se usen en una sola carga de trabajo de entrega.
Tipo de máquina Cantidad de CPU virtuales Memoria de la instancia (GB) Cantidad de NICs físicas Ancho de banda de red máximo (Gbps) Cantidad de chips TPU por VM Cantidad de nodos de NUMA Memoria total de TPU (GiB de HBM)
ct6e-standard-1t 44 176 1/4 50 1 1 32
ct6e-standard-4t 180 720 2 400 4 1 128
ct6e-standard-8t 360 1440 1 200 8 2 256

Para obtener más información sobre la arquitectura de la TPU v6e, consulta TPU v6e en la documentación de Cloud TPU.

TPU v5p

Un pod de TPU v5p se compone de 8,960 chips de TPU interconectados con vínculos de alta velocidad reconfigurables. La red flexible de la TPU v5p te permite conectar los chips de TPU en una porción del mismo tamaño de varias maneras. Se admite el entrenamiento de una sola porción para hasta 6,144 chips de TPU.

Tipo de máquina Cantidad de CPU virtuales Memoria de la instancia (GB) Cantidad de NICs físicas Ancho de banda de red máximo (Gbps) Cantidad de chips TPU por VM Cantidad de nodos de NUMA Memoria total de TPU (GiB de HBM)
ct5p-hightpu-4t 208 448 1 200 4 2 380

Para obtener más información sobre la arquitectura de TPU v5p, consulta TPU v5p en la documentación de Cloud TPU.

Topología de TPU

La topología define la disposición física de las TPU dentro de una porción de TPU. Según la versión de la TPU, la topología es de dos o tres dimensiones. Para identificar la cantidad de chips TPU en una porción, calcula el producto de cada tamaño en la topología. Por ejemplo:

  • El tipo de máquina tpu7x-standard-4t con una topología 2x2x2 es una porción de TPU7x de varios hosts con 8 chips.

En la siguiente tabla, se enumeran las topologías disponibles para cada versión de TPU.

Versión de TPU Tipo de máquina Alcance Especificaciones técnicas
TPU7x (Ironwood) tpu7x-standard-4t Único host
  • Topología: 2x2x1
  • Cantidad de chips TPU para la topología: 4
  • Cantidad de hosts: 1
  • Cantidad de VMs: 1
  • Recuento de cubos: 1/16
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 2x2x2
  • Cantidad de chips TPU para la topología: 8
  • Cantidad de hosts: 2
  • Cantidad de VMs: 2
  • Recuento de cubos: 1/8
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 2 x 2 x 4
  • Cantidad de chips TPU para la topología: 16
  • Cantidad de hosts: 4
  • Cantidad de VMs: 4
  • Recuento de cubos: 1/4
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 2x4x4
  • Cantidad de chips TPU para la topología: 32
  • Cantidad de hosts: 8
  • Cantidad de VMs: 8
  • Recuento de cubos: 1/2
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 4x4x4
  • Cantidad de chips TPU para la topología: 64
  • Cantidad de hosts: 16
  • Cantidad de VMs: 16
  • Cantidad de cubos: 1
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 4x4x8
  • Cantidad de chips TPU para la topología: 128
  • Cantidad de hosts: 32
  • Cantidad de VMs: 32
  • Cantidad de cubos: 2
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 4x8x8
  • Cantidad de chips TPU para la topología: 256
  • Cantidad de hosts: 64
  • Cantidad de VMs: 64
  • Cantidad de cubos: 4
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 8x8x8
  • Cantidad de chips TPU para la topología: 512
  • Cantidad de hosts: 128
  • Cantidad de VMs: 128
  • Cantidad de cubos: 8
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 8x8x16
  • Cantidad de chips TPU para la topología: 1,024
  • Cantidad de hosts: 256
  • Cantidad de VMs: 256
  • Cantidad de cubos: 16
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: {A} x {B} x {C} (donde A, B y C son múltiplos de dos)
  • Cantidad de chips TPU para la topología: A*B*C
  • Cantidad de hosts: (A*B*C)/4
  • Cantidad de VMs: (A*B*C/4)
  • Recuento de cubos: (A*B*C/64)
TPU v6e (Trillium) ct6e-standard-1t Único host
  • Topología: 1 x 1
  • Cantidad de chips TPU para la topología: 1
  • Cantidad de VMs: 1
TPU v6e (Trillium) ct6e-standard-8t Único host
  • Topología: 2 x 4
  • Cantidad de chips TPU para la topología: 8
  • Cantidad de VMs: 1
TPU v6e (Trillium) ct6e-standard-4t Único host
  • Topología: 2x2
  • Cantidad de chips TPU para la topología: 4
  • Cantidad de VMs: 1
TPU v6e (Trillium) ct6e-standard-4t Varios hosts
  • Topología: 2 x 4
  • Cantidad de chips TPU para la topología: 8
  • Cantidad de VMs: 2
TPU v6e (Trillium) ct6e-standard-4t Varios hosts
  • Topología: 4x4
  • Cantidad de chips TPU para la topología: 16
  • Cantidad de VMs: 4
TPU v6e (Trillium) ct6e-standard-4t Varios hosts
  • Topología: 4 x 8
  • Cantidad de chips TPU para la topología: 32
  • Cantidad de VMs: 8
TPU v6e (Trillium) ct6e-standard-4t Varios hosts
  • Topología: 8 x 8
  • Cantidad de chips TPU para la topología: 64
  • Cantidad de VMs: 16
TPU v6e (Trillium) ct6e-standard-4t Varios hosts
  • Topología: 8 x 16
  • Cantidad de chips TPU para la topología: 128
  • Cantidad de VMs: 32
TPU v6e (Trillium) ct6e-standard-4t Varios hosts
  • Topología: 16x16
  • Cantidad de chips TPU para la topología: 256
  • Cantidad de VMs: 64
TPU v5p ct5p-hightpu-4t Único host
  • Topología: 2x2x1
  • Cantidad de chips TPU para la topología: 4
  • Cantidad de VMs: 1
TPU v5p ct5p-hightpu-4t Varios hosts
  • Topología: 2x2x2
  • Cantidad de chips TPU para la topología: 8
  • Cantidad de VMs: 2
TPU v5p ct5p-hightpu-4t Varios hosts
  • Topología: 2 x 2 x 4
  • Cantidad de chips TPU para la topología: 16
  • Cantidad de VMs: 4
TPU v5p ct5p-hightpu-4t Varios hosts
  • Topología: 2x4x4
  • Cantidad de chips TPU para la topología: 32
  • Cantidad de VMs: 8
TPU v5p ct5p-hightpu-4t Varios hosts
  • Topología: {A} x {B} x {C} (donde A, B y C son múltiplos de dos)
  • Cantidad de chips TPU para la topología: A*B*C
  • Cantidad de VMs: (A*B*C/4)1
  1. Calculado por el producto de topología dividido por cuatro.

¿Qué sigue?