Los clústeres de entrenamiento de Vertex AI son un servicio de Google Cloud diseñado para simplificar y acelerar las cargas de trabajo de IA/AA más grandes y complejas. Está diseñado específicamente para abordar los desafíos del entrenamiento a gran escala, como la configuración compleja de clústeres, la optimización de frameworks, el manejo de fallas de hardware y la integración de conjuntos de herramientas dispares.
Propuesta de valor y funciones clave
El Servicio de desarrollo de modelos ofrece varios beneficios principales:
UX de Slurm de código abierto y transparencia del clúster: Los clústeres de entrenamiento de Vertex AI proporcionan herramientas conocidas y flexibles para iniciar y administrar trabajos a través de una experiencia del usuario de Slurm de código abierto. Slurm es un estándar de la industria conocido por su programación optimizada de GPU, su tolerancia a fallas automatizada y su lanzamiento simplificado de trabajos paralelos.
Configuración y ajuste automáticos del clúster: Los clústeres de entrenamiento de Vertex AI automatizan la configuración y el ajuste de los clústeres, con el objetivo de pasar de la reserva al entrenamiento de producción en horas. Los usuarios pueden crear clústeres con la consola de Google Cloud (con arquitecturas de referencia o configuración paso a paso) o a través de llamadas a la API con archivos JSON.
Recetas y flujos de trabajo de ciencia de datos preconfigurados: Los clústeres de entrenamiento de Vertex AI incluyen herramientas creadas específicamente y recetas de entrenamiento optimizadas para iniciar el entrenamiento de casos de uso populares, como los modelos Llama y Gemma, que abarcan el entrenamiento previo, el SFT (ajuste supervisado) y el aprendizaje por refuerzo (RL). Estas recetas están preconfiguradas para ofrecer un rendimiento de vanguardia (SOTA) en la infraestructura de Google Cloud, lo que demuestra importantes aumentos de rendimiento.
Resistencia del hardware y tiempo de actividad alto: Los clústeres de entrenamiento de Vertex AI están diseñados con resistencia del hardware para aumentar el tiempo de actividad del clúster. Resuelve automáticamente los problemas de hardware, detecta y prioriza varios modos de falla (por ejemplo, verificaciones de corrección, verificaciones de velocidad, errores de código de corrección de errores [ECC], verificaciones del administrador de GPU del centro de datos de NVIDIA [DCGM], capacidad de espacio en disco), y activa acciones de corrección, como el reinicio, la reimplementación o el reemplazo de nodos defectuosos, y la reanudación desde puntos de control. Esto ayuda a mitigar el aumento significativo de los costos y las demoras causadas por las interrupciones de los trabajos y las fallas de hardware en el entrenamiento a gran escala.
Arquitectura y componentes: Los clústeres de entrenamiento de Vertex AI se ejecutan en la infraestructura de Compute Engine que admite GPU y CPU. Aprovecha un orquestador Slurm administrado para implementar y administrar nodos de procesamiento, incluidos los nodos de acceso y los nodos trabajadores. El servicio se integra con otros servicios Google Cloud como redes y almacenamiento.
MLOps y observabilidad: Se integra con las herramientas de MLOps de Vertex, como Vertex AI Model Registry, para el registro, el seguimiento y el control de versiones automáticos de los flujos de trabajo entrenados, y Vertex AI Inference para la implementación con ajuste de escala automático y métricas automatizadas. Los clústeres de entrenamiento también incluyen la integración automática de la observabilidad con Vertex AI TensorBoard para visualizar los procesos de entrenamiento, hacer un seguimiento de las métricas y detectar problemas de forma anticipada.
Los clústeres de entrenamiento se pueden crear, recuperar, enumerar, actualizar y borrar con la API de clústeres de entrenamiento de Vertex AI. Después de crear el clúster, los usuarios pueden validar su funcionalidad accediendo a los nodos, ejecutando comandos básicos de Slurm (por ejemplo, sinfo, sbatch) y ejecutando cargas de trabajo relacionadas con la GPU (por ejemplo, nvidia-smi). La herramienta Cluster Health Scanner (CHS) está preinstalada para ejecutar diagnósticos, como pruebas de DCGM y NCCL, para verificar la preparación del clúster.
Los clústeres de entrenamiento de Vertex AI proporcionan una API para iniciar trabajos de LLM prediseñados con recetas optimizadas para modelos como Llama y Gemma, y admiten el entrenamiento previo y el entrenamiento previo continuo a partir de puntos de control. Para supervisar los trabajos, puedes acceder al nodo de acceso y examinar los archivos de salida y los comandos de Slurm, como squeue.
Terminología
En esta sección, se proporcionan definiciones de términos y conceptos clave que son esenciales para comprender y utilizar de manera eficaz los clústeres de entrenamiento de Vertex AI. Estos términos abarcan los componentes principales del servicio, las consideraciones arquitectónicas, las tecnologías de almacenamiento integradas y los conceptos fundamentales de aprendizaje automático (AA) y MLOps que sustentan tu entorno de entrenamiento.
Conceptos básicos de los servicios
nodo
- Es una sola máquina virtual (instancia de Compute Engine) dentro de un clúster. En el contexto del entrenamiento administrado en clústeres reservados, un nodo hace referencia a una máquina virtual (VM) individual que funciona como una sola unidad de procesamiento dentro de tu clúster. Piensa en ella como una de las máquinas de trabajo dedicadas que ejecuta una parte de tu trabajo de entrenamiento general. Cada nodo está equipado con recursos específicos, como CPU, memoria y aceleradores (por ejemplo, GPUs A3 o A4), y todos trabajan en conjunto de forma coordinada para controlar tareas de entrenamiento distribuidas a gran escala.
nodo de acceso
- Un nodo de acceso es el punto de entrada principal para que un usuario acceda al clúster, envíe trabajos y administre archivos. Para obtener más información, consulta ¿Qué es la computación de alto rendimiento?
partición
- En Slurm, es una agrupación lógica de nodos que se suele usar para separar nodos con diferentes configuraciones de hardware.
receta
- En el contexto del entrenamiento administrado, una receta es un paquete integral y reutilizable que contiene todo lo necesario para ejecutar una carga de trabajo de entrenamiento específica a gran escala.
Clúster de Slurm
- Es una colección de instancias de Compute Engine, administrada por Slurm, que incluye un nodo de acceso y varios nodos trabajadores configurados para ejecutar trabajos de entrenamiento. Para obtener más información, consulta Administrador de cargas de trabajo de Slurm.
nodo trabajador
- Un nodo trabajador se refiere a una máquina o instancia de procesamiento individual dentro de un clúster que es responsable de ejecutar tareas o realizar trabajo. En sistemas como los clústeres de Kubernetes o Ray, los nodos son las unidades fundamentales de procesamiento. Para obtener más información, consulta ¿Qué es la computación de alto rendimiento (HPC)?
Arquitectura y redes
red de VPC del consumidor
- Una red de VPC del consumidor es una nube privada virtual (VPC) de Google Cloud que accede de forma privada a un servicio alojado en otra VPC (conocida como la VPC del productor). Para obtener más información, consulta Private Service Connect.
Unidad de transmisión máxima (MTU)
- Es el tamaño más grande de un paquete de datos que puede transmitir un dispositivo conectado a la red. Los tamaños de MTU más grandes (tramas jumbo) pueden mejorar el rendimiento de la red para ciertas cargas de trabajo. Para obtener más información, consulta Unidad de transmisión máxima.
acceso privado a servicios
- El acceso privado a servicios es una conexión privada entre tu red de nube privada virtual (VPC) y las redes que pertenecen a Google o a proveedores de servicios externos. Permite que las instancias de máquina virtual (VM) en tu red de VPC se comuniquen con estos servicios a través de direcciones IP internas, lo que evita la exposición a la Internet pública. Para obtener más información, consulta Acceso privado a servicios.
Intercambio de tráfico entre redes de VPC
- Es una conexión de red que permite que dos redes de VPC se comuniquen de forma privada. En el contexto del entrenamiento administrado en clústeres reservados, el intercambio de tráfico entre redes de VPC es un componente fundamental para integrar servicios esenciales. Por ejemplo, es el método requerido para conectar la VPC de tu clúster a una instancia de Filestore, que proporciona el directorio compartido `/home` necesario para todos los nodos de tu clúster.
zona
- Es un área de implementación específica dentro de una región de Google Cloud. En el contexto del entrenamiento administrado en clústeres reservados, para obtener el mejor rendimiento, todos los componentes del servicio (el clúster, Filestore y las instancias de Lustre administrado) deben crearse en la misma zona.
Tecnologías de almacenamiento integradas
Cloud Storage FUSE
- Un adaptador FUSE de código abierto que te permite activar los buckets de Cloud Storage como un sistema de archivos en sistemas Linux o macOS. Para obtener más información, consulta Cloud Storage Fuse.
Filestore
- Servicio de almacenamiento de archivos de alto rendimiento y completamente administrado de Google Cloud que se suele usar para aplicaciones que requieren un sistema de archivos compartido. Para obtener más información, consulta la Descripción general de Filestore.
Managed Lustre
- Es un sistema de archivos paralelo y distribuido diseñado para la computación de alto rendimiento. Managed Lustre de Google Cloud proporciona un sistema de archivos de alta capacidad de procesamiento para cargas de trabajo exigentes. Para obtener más información, consulta la descripción general de Managed Lustre.
nivel de rendimiento
- Es un parámetro de configuración para una instancia de Managed Lustre que define su velocidad de procesamiento (en MBps por TiB) y afecta su capacidad mínima y máxima.
Conceptos clave de AA y MLOps
checkpoint
- Son los datos que capturan el estado de los parámetros de un modelo durante el entrenamiento o después de que este se completa. Por ejemplo, durante el entrenamiento, puedes hacer lo siguiente: 1. Detener el entrenamiento, ya sea de forma intencional o como resultado de ciertos errores 2. Captura el punto de control. 3. Más adelante, vuelve a cargar el punto de control, posiblemente en hardware diferente. 4. Reinicia el entrenamiento. En Gemini, un punto de control hace referencia a una versión específica de un modelo de Gemini entrenado en un conjunto de datos específico.
Ajuste supervisado (SFT)
- Técnica de aprendizaje automático en la que un modelo entrenado previamente se entrena aún más con un conjunto de datos etiquetados más pequeño para adaptarlo a una tarea específica.
Vertex AI Inference
- Es un servicio de Vertex AI que te permite usar un modelo de aprendizaje automático (AA) entrenado para realizar inferencias a partir de datos nuevos y no vistos. Vertex AI proporciona servicios para implementar modelos para la inferencia. Para obtener más información, consulta Cómo obtener inferencias a partir de un modelo entrenado personalizado.
Vertex AI Model Registry
- Vertex AI Model Registry es un repositorio central en el que puedes administrar el ciclo de vida de tus modelos de AA. En Vertex AI Model Registry, tienes una descripción general de tus modelos para que puedas organizar mejor, hacer un seguimiento y entrenar versiones nuevas. Cuando tengas una versión del modelo que desees implementar, puedes asignarla a un extremo directamente desde el registro o, si usas alias, implementar modelos en un extremo. Para obtener más información, consulta Introducción a Vertex AI Model Registry.
Vertex AI TensorBoard
- Vertex AI TensorBoard es un servicio administrado y escalable en Google Cloud que permite a los científicos de datos y a los ingenieros de AA visualizar sus experimentos de aprendizaje automático, depurar el entrenamiento de modelos y hacer un seguimiento de las métricas de rendimiento con la interfaz familiar de TensorBoard de código abierto. Se integra perfectamente con Vertex AI Training y otros servicios, proporciona almacenamiento persistente para los datos de experimentos y permite el análisis colaborativo del desarrollo de modelos. Para obtener más información, consulta Introducción a Vertex AI TensorBoard.