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 tensor (TPU). Las TPU son circuitos integrados específicos de aplicaciones (ASIC) personalizados de Google que están 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 y el tipo de máquina de TPU 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 generales de cómputo y flujo de control.

  • 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.

  • Instancia de TPU: Es una instancia de procesamiento de Linux que se ejecuta en un host de TPU y tiene acceso directo al hardware de TPU subyacente, lo que ofrece acceso a bibliotecas de alto rendimiento, conectividad SSH y registros de depuración del tiempo 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 instancias 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 instancia de TPU.
    • Porción de varios hosts: Es una porción que consta de varias instancias 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 flujo de datos 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 tipos de cargas de trabajo

Elegir el modelo de TPU adecuado depende de las características computacionales, los requisitos de memoria y las necesidades de escalabilidad de tu carga de trabajo. Selecciona una de las siguientes pestañas para ver las recomendaciones.

Entrenamiento de IA/AA

  • Preentrenamiento de modelos grandes: Entrenamiento de modelos masivos desde cero Estas cargas de trabajo están vinculadas a la capacidad de procesamiento y la comunicación.

    • Capacidad de TPU requerida: FLOPS máximos altos, compatibilidad con baja precisión y ancho de banda de interconexión alto.
    • Versiones de TPU recomendadas:
      • TPU7x. Esta versión proporciona un alto rendimiento de FP8.
      • TPU v5p Esta versión admite configuraciones de clúster a gran escala.
  • Ajuste y destilación de modelos: Adaptación de modelos existentes con métodos eficientes en cuanto a parámetros o entrenamiento de variantes de modelos más pequeños

    • Capacidad de TPU requerida: capacidad de procesamiento moderada y capacidad de memoria suficiente.
    • Versiones de TPU recomendadas:
      • TPU v6e Esta versión es rentable para las tareas de entrenamiento estándar.
      • TPU7x. Esta versión ofrece un alto rendimiento para el ajuste a gran escala.

Inferencia de IA/AA

  • Entrega de modelos en línea: Implementa modelos para la interacción en tiempo real en la que la baja latencia es fundamental. Estas cargas de trabajo están limitadas por el ancho de banda de la memoria durante la generación secuencial de tokens.

    • Capacidad de TPU requerida: Gran ancho de banda de HBM y SRAM en chip grande para minimizar la latencia de recuperación de datos.
    • Versiones de TPU recomendadas:
      • TPU v6e Esta versión está optimizada para la publicación rentable a gran escala.
      • TPU7x. Esta versión proporciona un alto ancho de banda de HBM y una gran SRAM para acelerar la generación de tokens.
  • Ejecución de inferencia por lotes: Procesamiento sin conexión de grandes conjuntos de datos en los que el objetivo principal es una alta capacidad de procesamiento Estas cargas de trabajo están vinculadas a la capacidad de procesamiento durante la fase de relleno previo de la instrucción.

    • Capacidad de TPU requerida: Alta densidad de procesamiento para maximizar la capacidad de procesamiento por dólar.
    • Versiones de TPU recomendadas:
      • TPU v6e Esta versión es rentable para el procesamiento por lotes de alto rendimiento.
      • TPU7x. Esta versión ofrece una alta densidad de procesamiento para procesar grandes lotes rápidamente.

Sistemas de recomendación

  • Procesamiento de embeddings grandes: Entrenamiento y publicación de modelos de recomendación que usan tablas de embeddings masivas Estas cargas de trabajo están limitadas por la capacidad y la comunicación.
    • Capacidad de TPU requerida: Hardware SparseCore especializado para procesar operaciones dispersas en paralelo, gran capacidad de HBM y compatibilidad con la descarga en la memoria del host.
    • Versiones de TPU recomendadas:
      • TPU7x. Esta versión incluye cuatro SparseCores por chip y ofrece la mayor capacidad de HBM.
      • TPU v6e Esta versión incluye dos SparseCores por chip para una publicación rentable.
      • TPU v5p Esta versión incluye cuatro SparseCores por chip para el entrenamiento a gran escala.

Aprendizaje por refuerzo

  • Ejecución de bucles de aprendizaje por refuerzo: Administración de cargas de trabajo híbridas que requieren bucles ajustados de generación de muestras y actualización de pesos de políticas.

    • Capacidad de TPU requerida: ICI de baja latencia para transferencias rápidas de pesos y activaciones entre chips, y conexiones de host de alto ancho de banda.
    • Versiones de TPU recomendadas:

      Estas versiones de TPU usan una interconexión de toro 3D de alta velocidad.

Opciones de consumo

Para optimizar el uso de recursos y el costo, y 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 a pedido para el tipo y la cantidad específicos de instancias de TPU. La opción a pedido es la más flexible, pero no hay garantía de que haya suficientes recursos a pedido disponibles para satisfacer tu solicitud.

  • 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 {flex_start_vms_name} por hasta siete días, y Compute Engine asignará automáticamente el hardware según la disponibilidad y con el mayor esfuerzo posible. Para obtener más información, consulta Acerca de {flex_start_vms_name}.

  • 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.

La opción según demanda es el modelo de consumo predeterminado para las TPU 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 versiones 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 calendario1
2 2 2

1 No puedes crear solicitudes de reserva futuras en el modo de calendario cuando usas el modo All Capacity.

2 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 el equipo de ventas.

Modo All Capacity

De forma predeterminada, las reservas de TPU incluyen la recuperación automática ante fallas.Google Cloud administra este proceso reemplazando automáticamente las máquinas de TPU defectuosas por máquinas en buen estado de la capacidad reservada para garantizar que los recursos estén disponibles para reiniciar tus porciones de TPU.

Como alternativa, para las TPU v6e y TPU7x, puedes solicitar capacidad de TPU en el modo All Capacity. Este modo otorga acceso a toda tu capacidad reservada y visibilidad completa de la topología. En este modo, también puedes segmentar bloques o subbloques específicos para lograr una ubicación de cargas de trabajo precisa y consciente de la topología. Sin embargo, eres responsable de administrar las fallas de hardware y el mantenimiento.

Para obtener más información sobre estos modos, consulta Modos de capacidad de TPU en la documentación de Cloud TPU.

Comparación de versiones de TPU

Compara 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 (GB/s) 7,380 1,638 2,765
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:

  • ct6e-standard-1t con un solo chip de TPU está diseñada 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 la 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
  • Cantidad 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
  • Cantidad 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
  • Cantidad 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
  • Cantidad 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: 8 x 8 x 8
  • 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)
  • Cantidad de cubos: (A*B*C/64)
TPU v6e (Trillium) ct6e-standard-1t Único host
  • Topología: 1x1
  • 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: 16 x 16
  • 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?