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

En este documento, se describen las instancias de Compute Engine de la familia de máquinas optimizada para aceleradores que tienen unidades de procesamiento tensorial (TPU). Las TPU son circuitos integrados específicos de la aplicación (ASIC) personalizados de Google que se optimizan específicamente para las 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.

Aspectos básicos de la arquitectura de TPU

Comprender los aspectos 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 procesamiento general 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 entorno de ejecución.

  • Porción de TPU: Es un grupo lógico de chips TPU interconectados, a los 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 según los tipos de cargas de trabajo

Elegir el modelo de TPU adecuado depende de las características de procesamiento, 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

  • Entrenamiento previo de modelos grandes: Entrena modelos masivos desde cero. Estas cargas de trabajo están vinculadas al procesamiento y la comunicación.

    • Capacidad de TPU requerida: FLOPS de pico alto, 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ústeres a gran escala.
  • Ajuste y síntesis de modelos: Adapta los modelos existentes con métodos eficientes en cuanto a parámetros o entrena variantes de modelos más pequeñas.

    • Capacidad de TPU requerida: procesamiento moderado 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 de modelos 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 vinculadas al ancho de banda de la memoria durante la generación secuencial de tokens.

    • Capacidad de TPU requerida: alto ancho de banda de HBM y SRAM grande en el chip para minimizar la latencia de recuperación de datos.
    • Versiones de TPU recomendadas:
      • TPU v6e. Esta versión está optimizada para una entrega rentable a gran escala.
      • TPU7x. Esta versión proporciona un ancho de banda de HBM alto y una SRAM grande para acelerar la generación de tokens.
  • Ejecutar inferencias por lotes: procesar grandes conjuntos de datos sin conexión en los que el objetivo principal es una alta capacidad de procesamiento. Estas cargas de trabajo están limitadas por el procesamiento durante la fase de precompletado 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 alta capacidad de procesamiento.
      • TPU7x. Esta versión ofrece una alta densidad de procesamiento para procesar grandes lotes con rapidez.

Sistemas de recomendación

  • Procesamiento de incorporaciones grandes: entrenamiento y entrega de modelos de recomendación que usan tablas de incorporación 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 entrega 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: Administra 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 toroide 3D de alta velocidad.

Opciones de consumo

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

  • A pedido: 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; sin embargo, no se garantiza 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: para aprovisionar {flex_start_vms_name} por un máximo de siete días, con Compute Engine asignando automáticamente el hardware de la mejor manera posible según la disponibilidad. Para obtener más información, consulta Acerca de las {flex_start_vms_name}.

  • Reserva futura para bloques de capacidad: Solicita una reserva futura por un año o más. Para obtener más información, consulta Solicita 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 TPU por hasta 90 días, durante un período específico. Para obtener más información, consulta Acerca de las solicitudes de reserva futuras en el modo de calendario.

A pedido 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 las 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 Reservas futuras para bloques de capacidad
2 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 Spot, Flex-start, futuras en modo de calendario y futuras para bloques de capacidad de 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 de fallas. Cloud de Confiance administra este proceso reemplazando automáticamente las máquinas de TPU defectuosas por otras en buen estado de la capacidad reservada para garantizar que los recursos estén disponibles para reiniciar tus porciones de TPU.

Como alternativa, para 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 una ubicación de cargas de trabajo precisa y que tenga en cuenta la topología. Sin embargo, eres responsable de administrar las fallas y el mantenimiento del hardware.

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 De 44 a 180 208
Conversación Conversación Conversación
960 GB De 176 a 1,440 GB 448 GB
NUMA NUMA NUMA
— — —
— — —
— — —
— — —
— —
NVMe NVMe NVMe
—
— — —
— — —
— — —
— — —
— — —
— —
— — —
— — —
gVNIC gVNIC gVNIC
400 Gbps De 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 (GBps) 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 (GBps) 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 chiplet doble 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 de TPU total (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 o incluso 8 chips TPU. Las porciones de 4 chips y más pequeñas tienen el mismo nodo de acceso no uniforme a memoria (NUMA).

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

  • ct6e-standard-1t con un solo chip 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 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 de TPU total (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 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 TPU interconectados con vínculos de alta velocidad reconfigurables. La red flexible de la TPU v5p te permite conectar los chips TPU de una porción del mismo tamaño de varias maneras. Se admite el entrenamiento de una sola porción para hasta 6,144 chips 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 de TPU total (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 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 de 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 Cubes: 1/16
TPU7x (Ironwood) tpu7x-standard-4t Varios hosts
  • Topología: 2x2x2
  • Cantidad de chips TPU para la topología: 8
  • Cantidad de organizadores: 2
  • Cantidad de VMs: 2
  • Cantidad de Cubes: 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: 4 x 4 x 8
  • 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: 4 x 8 x 8
  • 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: 2 x 2
  • 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: 4 x 4
  • 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?