Información general sobre los clústeres de entrenamiento de Vertex AI

Si te interesan los clústeres de entrenamiento de Vertex AI, ponte en contacto con tu representante de ventas para obtener acceso.

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 y aprendizaje automático más grandes y complejas. Se ha diseñado específicamente para abordar los retos que plantea el entrenamiento a gran escala, como la configuración de clústeres complejos, la optimización de frameworks, la gestión de fallos de hardware y la integración de conjuntos de herramientas dispares.

Propuesta de valor y funciones principales

El servicio de desarrollo de modelos ofrece varias ventajas principales:

  • Experiencia de usuario de Slurm de código abierto y transparencia de clústeres: los clústeres de entrenamiento de Vertex AI proporcionan herramientas familiares y flexibles para iniciar y gestionar trabajos a través de una experiencia de usuario de Slurm de código abierto. Slurm es un estándar del sector conocido por su programación optimizada de GPUs, su tolerancia a fallos automatizada y su lanzamiento simplificado de tareas paralelas.

  • Configuración y puesta en marcha automatizadas de clústeres: los clústeres de entrenamiento de Vertex AI automatizan la configuración y la puesta en marcha de clústeres, con el objetivo de pasar de la reserva al entrenamiento de producción en cuestión de horas. Los usuarios pueden crear clústeres mediante la Google Cloud consola (con arquitecturas de referencia o una 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 diseñadas específicamente y recetas de entrenamiento optimizadas para acelerar el entrenamiento de casos de uso populares, como los modelos Llama y Gemma, que abarcan el preentrenamiento, el ajuste supervisado (SFT) y el aprendizaje por refuerzo (RL). Estas recetas están preconfiguradas para ofrecer un rendimiento de vanguardia en la infraestructura de Google Cloud, lo que demuestra que se pueden conseguir mejoras significativas en el rendimiento.

  • Resistencia del hardware y alto tiempo de actividad: los clústeres de entrenamiento de Vertex AI se han diseñado con hardware resistente para aumentar el tiempo de actividad de los clústeres. Resuelve automáticamente los problemas de hardware, detecta y clasifica varios modos de fallo (por ejemplo, comprobaciones de corrección, comprobaciones de velocidad, errores de código de corrección de errores [ECC], comprobaciones de NVIDIA Data Center GPU Manager [DCGM] y capacidad de espacio en disco), y activa acciones de corrección, como reiniciar, restaurar o sustituir nodos defectuosos, así como reanudar desde puntos de control. Esto ayuda a mitigar el aumento significativo de los costes y los retrasos causados por las interrupciones de los trabajos y los fallos 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 GPUs y CPUs. Utiliza un orquestador Slurm gestionado para desplegar y gestionar nodos de cálculo, incluidos los nodos de inicio de sesión y de trabajador. El servicio se integra con otros servicios Google Cloud , como redes y almacenamiento.

  • MLOps y observabilidad: se integra con herramientas de Vertex ML Ops, como Vertex AI Model Registry, para registrar, monitorizar y controlar automáticamente las versiones de los flujos de trabajo entrenados, y Vertex AI Inference, para el despliegue con escalado 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, monitorizar las métricas e identificar problemas en las primeras fases.

Los clústeres de entrenamiento se pueden crear, recuperar, enumerar, actualizar y eliminar mediante la API de clústeres de entrenamiento de Vertex AI. Una vez creado el clúster, los usuarios pueden validar su funcionalidad iniciando sesión en los nodos, ejecutando comandos básicos de Slurm (por ejemplo, sinfo y sbatch) y ejecutando cargas de trabajo relacionadas con la GPU (por ejemplo, nvidia-smi). La herramienta Cluster Health Scanner (CHS) se ha preinstalado para ejecutar diagnósticos como las pruebas de DCGM y NCCL con el fin de verificar que el clúster esté listo.

Los clústeres de entrenamiento de Vertex AI proporcionan una API para lanzar trabajos de LLM precompilados con recetas optimizadas para modelos como Llama y Gemma, que admiten el preentrenamiento y el preentrenamiento continuo a partir de puntos de control. Para monitorizar los trabajos, puedes iniciar sesión en el nodo de inicio de sesión y examinar los archivos de salida y los comandos de Slurm, como squeue.

Terminología

En esta sección se definen los términos y conceptos clave esenciales para entender y utilizar de forma eficaz los clústeres de entrenamiento de Vertex AI. Estos términos abarcan los componentes principales del servicio, las consideraciones de arquitectura, 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
  • Una sola máquina virtual (instancia de Compute Engine) dentro de un clúster. En el contexto del entrenamiento gestionado en clústeres reservados, un nodo hace referencia a una máquina virtual individual que actúa como una unidad de cálculo en tu clúster. Piensa en ella como una de las máquinas de trabajo dedicadas que ejecuta una parte de tu tarea 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 de forma coordinada para gestionar tareas de entrenamiento distribuidas a gran escala.
nodo de inicio de sesión
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 de Managed Training, una receta es un paquete completo y reutilizable que contiene todo lo necesario para ejecutar una carga de trabajo de entrenamiento a gran escala específica.
Clúster de Slurm
  • Conjunto de instancias de Compute Engine, gestionado por Slurm, que incluye un nodo de inicio de sesión y varios nodos de trabajador configurados para ejecutar tareas de entrenamiento. Para obtener más información, consulta Gestor de cargas de trabajo de Slurm.
nodo de trabajador
  • Un nodo de trabajo es una máquina o instancia computacional individual de un clúster que se encarga de ejecutar tareas o realizar trabajo. En sistemas como los clústeres de Kubernetes o Ray, los nodos son las unidades fundamentales de computación. Para obtener más información, consulta ¿Qué es la computación de alto rendimiento (HPC)?

Arquitectura y redes

red de VPC de consumidor
  • Una red de VPC de consumidor es una nube privada virtual (VPC) de Google Cloud que accede de forma privada a un servicio alojado en otra VPC (conocida como VPC de productor). Para obtener más información, consulta Private Service Connect.
Unidad máxima de transmisión (MTU)
  • El tamaño máximo de un paquete de datos que puede transmitir un dispositivo conectado a una red. Los tamaños de MTU más grandes (tramas gigantes) pueden mejorar el rendimiento de la red en determinadas cargas de trabajo. Para obtener más información, consulta Unidad máxima de transmisión.
acceso privado a servicios
  • El acceso a servicios privados es una conexión privada entre tu red de nube privada virtual (VPC) y las redes propiedad de Google o de proveedores de servicios externos. Permite que las instancias de máquina virtual (VM) de tu red VPC se comuniquen con estos servicios mediante direcciones IP internas, lo que evita la exposición a Internet público. Para obtener más información, consulta Acceso a servicios privados.
Emparejamiento entre redes VPC
  • Una conexión de red que permite que dos redes de VPC se comuniquen de forma privada. En el contexto de Managed Training en clústeres reservados, el emparejamiento entre redes de VPC es un componente fundamental para integrar servicios esenciales. Por ejemplo, es el método obligatorio 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
  • Un área de implementación específica dentro de una región de Google Cloud. En el contexto de Managed Training en clústeres reservados, para obtener el mejor rendimiento, todos los componentes del servicio (el clúster, Filestore y las instancias de Managed Lustre) deben crearse en la misma zona.

Tecnologías de almacenamiento integradas

Cloud Storage Fuse
  • Un adaptador FUSE de código abierto que te permite montar segmentos 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 totalmente gestionado de Google Cloud que se suele usar en aplicaciones que requieren un sistema de archivos compartido. Para obtener más información, consulta la descripción general de Filestore.
Managed Lustre
  • 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 alto rendimiento para cargas de trabajo exigentes. Para obtener más información, consulta la descripción general de Managed Lustre.
nivel de rendimiento
  • Un ajuste de configuración de una instancia de Managed Lustre que define su velocidad de procesamiento (en MBps por TiB) y afecta a su capacidad mínima y máxima.

Conceptos clave de aprendizaje automático y MLOps

punto de control
  • Datos que registran el estado de los parámetros de un modelo durante el entrenamiento o una vez que este ha finalizado. Por ejemplo, durante el entrenamiento, puedes hacer lo siguiente: 1. Detener el entrenamiento, ya sea de forma intencionada o como resultado de determinados errores. 2. Captura el punto de control. 3. Más adelante, vuelve a cargar el punto de control, posiblemente en otro hardware. 4. Reinicia el entrenamiento. En Gemini, un punto de control es una versión específica de un modelo de Gemini entrenado con un conjunto de datos concreto.
Ajuste fino supervisado (SFT)
  • Técnica de aprendizaje automático en la que se entrena aún más un modelo preentrenado con un conjunto de datos etiquetado más pequeño para adaptarlo a una tarea específica.
Inferencia de Vertex AI
  • Un servicio de Vertex AI que te permite usar un modelo de aprendizaje automático (ML) entrenado para hacer inferencias a partir de datos nuevos que no se han visto antes. Vertex AI ofrece servicios para desplegar modelos de inferencia. Para obtener más información, consulta Obtener inferencias de un modelo con entrenamiento personalizado.
Registro de modelos de Vertex AI
  • El registro de modelos de Vertex AI es un repositorio central en el que puedes gestionar el ciclo de vida de tus modelos de aprendizaje automático. En el registro de modelos de Vertex AI, puedes ver un resumen de tus modelos para organizarlos, monitorizarlos y entrenar nuevas versiones de forma más eficaz. Cuando tengas una versión de un modelo que quieras desplegar, puedes asignarla a un endpoint directamente desde el registro o desplegar modelos en un endpoint mediante alias. Para obtener más información, consulta la introducción al registro de modelos de Vertex AI.
Vertex AI TensorBoard
  • Vertex AI TensorBoard es un servicio gestionado y escalable de Google Cloud que permite a los científicos de datos y a los ingenieros de aprendizaje automático visualizar sus experimentos de aprendizaje automático, depurar el entrenamiento de modelos y monitorizar las métricas de rendimiento mediante la interfaz de código abierto de TensorBoard. Se integra a la perfección con Vertex AI Training y otros servicios, lo que proporciona almacenamiento persistente para los datos de los experimentos y permite analizar de forma colaborativa el desarrollo de modelos. Para obtener más información, consulta la introducción a Vertex AI TensorBoard.