Los clústeres de entrenamiento de Vertex AI admiten una variedad de tipos de máquinas para adaptarse a diferentes cargas de trabajo. Puedes elegir entre las siguientes opciones cuando configures los grupos de nodos de tu clúster:
- a4-highgpu-8g
- a4x-highgpu-4g
- a3-ultragpu-8g
- a3-megagpu-8g
- Familia de CPU n2
Tipo de máquina A4X
Los clústeres de entrenamiento de Vertex AI admiten el tipo de máquina optimizado para aceleradores A4X (a4x-highgpu-4g), una plataforma de exaescala basada en la arquitectura a nivel de rack NVIDIA GB200 NVL72.
Comparación de arquitectura
En la siguiente tabla, se describen las diferencias fundamentales de hardware entre la familia A4X y otras familias optimizadas para aceleradores.
| Función | A4X (a4x-highgpu-4g) | A3 / A4H |
|---|---|---|
| Arquitectura de CPU | ARM | X86 |
| Cantidad de GPU | 4 GPUs por nodo | 8 GPUs por nodo |
| Tipo de reserva | Modo All Capacity | Modo administrado |
| Política de Colocación | Estricto (compacto) | Flexible |
Lineamientos específicos de A4X
- La cantidad de VM de tu grupo de nodos A4X debe ser un múltiplo de 18 (por ejemplo, 18, 36, 54). Esto es necesario porque la capacidad de A4X se aprovisiona en bloques fijos y no compartibles de 18 nodos llamados dominios de NVLink. Estos dominios están sujetos a una política de posición compacta estricta, y otros clústeres no pueden usar los bloques asignados parcialmente.
- Debido a la arquitectura basada en ARM de los nodos A4X, debes realizar dos cambios clave en tus cargas de trabajo de entrenamiento:
- Usa imágenes compatibles con ARM: Todos los trabajos de entrenamiento deben usar una imagen de contenedor compilada para la arquitectura ARM.
- Adaptación para 4 GPUs: Tu lógica de entrenamiento distribuido debe actualizarse para reconocer y usar correctamente las 4 GPUs disponibles en cada nodo A4X.
- Proceso de informe de errores del host y tiempo de inactividad
Cuando informes que un host está defectuoso, ten en cuenta el siguiente proceso de recuperación:
- Sin capacidad de reserva: El sistema no usa un grupo de reserva en espera para un reemplazo instantáneo de nodos.
- Recuperación basada en reparación: El nodo no estará disponible hasta que se repare el host físico subyacente.
- Tiempo de inactividad prolongado: Por lo general, este proceso de reparación demora entre 3 y 14 días.
Aprovisionamiento de capacidad
Elegir el modelo de aprovisionamiento adecuado es fundamental para equilibrar el costo, la velocidad y la disponibilidad de recursos. Consulta las siguientes opciones de aprovisionamiento:
RESERVATION: Asigna nodos desde una reserva específica de Compute Engine que creaste con anticipación. Este modelo garantiza la capacidad y es la opción recomendada para los recursos de alta demanda.FLEX_START: Utiliza el programador dinámico de cargas de trabajo para poner en cola tu trabajo. El trabajo comienza automáticamente en cuanto los recursos de procesamiento solicitados están disponibles, lo que ofrece una hora de inicio flexible sin necesidad de una reserva.SPOT: Aprovisiona el grupo de nodos con VMs Spot. Esta es la opción más rentable, pero solo se debe usar para cargas de trabajo que sean tolerantes a errores y puedan controlar las interrupciones, ya que las VMs se pueden interrumpir en cualquier momento.ON_DEMAND: Esta es la opción predeterminada para los grupos de nodos solo de CPU y es la más adecuada para los tipos de máquinas que no son escasos. Proporciona instancias de VM estándar con precios predecibles de pago por uso.
Usa la siguiente guía para hacer tu selección:
Para los recursos de GPU de alta demanda (como A3 y A4): Se recomienda el modelo
RESERVATION. Garantiza que tengas acceso exclusivo a la capacidad que necesitas para los trabajos de entrenamiento críticos.Para cargas de trabajo flexibles o con ráfagas, considera usar
FLEX_STARToSPOT.FLEX_STARTpone en cola tu trabajo hasta que haya recursos disponibles, mientras queSPOTofrece ahorros de costos significativos para los trabajos tolerantes a errores que pueden controlar la preferencia.Para tipos de máquinas abundantes: El modelo
ON_DEMANDes la opción preferida. Úsalo para los tipos de máquinas que no son escasos y en los que la disponibilidad inmediata no es un problema.
Cómo usar una reserva compartida (opcional)
Si deseas usar una reserva compartida en lugar de una local, debes seguir algunos pasos adicionales antes de crear un clúster.
Antes de usar una reserva compartida con clústeres de entrenamiento de Vertex AI, asegúrate de que la reserva compartida funcione. Para ello, crea manualmente una VM que use la reserva compartida.
Si la creación de esta VM funciona, continúa con el siguiente paso.
En la configuración de creación del clúster, usa el nombre de la reserva en el siguiente formato: projects/RESERVATION_HOST_PROJECT_ID/zones/RESERVATION_ZONE/reservations/RESERVATION_NAME.
¿Qué sigue?
Después de seleccionar las opciones de procesamiento y aprovisionamiento para tu clúster de entrenamiento, puedes crear el clúster y ejecutar una carga de trabajo en él.
- Crea una reserva de Compute Engine: El modelo
RESERVATIONse usa para asignar recursos de alta demanda, como las GPUs. Aprende a crear una nueva reserva en Compute Engine para obtener acceso exclusivo a los recursos que necesitas. - Crea tu clúster de entrenamiento: Aplica las configuraciones que aprendiste siguiendo la guía paso a paso para crear tu primer clúster de entrenamiento persistente con la API de Vertex AI o
gcloud. - Envía un trabajo de entrenamiento a tu clúster: Una vez que tu clúster esté activo, el siguiente paso es ejecutar una carga de trabajo. Envía un
CustomJobque apunte a tu clúster persistente para su ejecución. - Adapta tu código para el entrenamiento distribuido: Para aprovechar al máximo un clúster de varios nodos, adapta tu código de entrenamiento para un entorno distribuido.