Entrena y despliega modelos en SageMaker HyperPod con el nuevo CLI y SDK HyperPod
Sources: https://aws.amazon.com/blogs/machine-learning/train-and-deploy-models-on-amazon-sagemaker-hyperpod-using-the-new-hyperpod-cli-and-sdk, https://aws.amazon.com/blogs/machine-learning/train-and-deploy-models-on-amazon-sagemaker-hyperpod-using-the-new-hyperpod-cli-and-sdk/, AWS ML Blog
TL;DR
- HyperPod CLI y SDK de SageMaker simplifican el entrenamiento y despliegue de grandes modelos de IA en HyperPod.
- El CLI ofrece una experiencia de línea de comandos para iniciar entrenamientos, fine-tuning y endpoints de inferencia; el SDK brinda acceso programático para flujos de trabajo avanzados.
- El artículo demuestra entrenamiento distribuido con Fully Sharded Data Parallel (FSDP) y despliegue de modelos para inferencia, incluyendo modelos JumpStart.
- Los prerequisitos incluyen instalar el CLI/SDK de HyperPod (versión 3.1.0) y operadores de Kubernetes; las interacciones se basan en el cliente de Kubernetes de Python.
Contexto y antecedentes
La gestión del entrenamiento distribuido y la inferencia a gran escala ha sido históricamente compleja, requiriendo ingeniería y operaciones avanzadas. Las herramientas CLI y SDK de HyperPod para SageMaker buscan reducir esa fricción al ocultar la complejidad de los sistemas distribuidos detrás de interfaces familiares. El CLI se apoya en el SDK de HyperPod para ofrecer comandos simples para tareas comunes como enviar trabajos de entrenamiento, seguir el rendimiento y desplegar endpoints de inferencia. El SDK ofrece la flexibilidad necesaria para pipelines de producción personalizados. El artículo ilustra estas herramientas aplicadas al entrenamiento y despliegue de modelos de lenguaje grandes (LLMs) en SageMaker HyperPod, destacando entrenamiento distribuido con FSDP y despliegue de modelos para inferencia. AWS ML Blog Las herramientas HyperPod interactúan con el clúster a través de la API de Kubernetes, por lo que se debe configurar el cliente de Kubernetes en Python para realizar llamadas a la API. En la práctica, los usuarios listan clústeres disponibles y definen el contexto activo antes de enviar trabajos. El CLI está diseñado para flujos de trabajo habituales, y el SDK ofrece personalización adicional cuando se necesita. El artículo demuestra rutas tanto para entrenamiento como para despliegue de modelos en HyperPod. Para un flujo real, se configura un HyperPodPyTorchJob Custom Resource, implementado por el operador de entrenamiento HyperPod, que coordina los trabajadores y los ciclos de vida mediante el agente elástico dentro del contenedor de entrenamiento. El ejemplo se centra en una configuración Meta Llama 3.1 8B usando FSDP. AWS ML Blog La sección de prerequisitos enfatiza la instalación de las herramientas HyperPod y de los operadores de Kubernetes en el clúster, así como la construcción y empuje de una imagen Docker y la ejecución de un job de entrenamiento mediante el CLI o el SDK. La observabilidad y depuración se cubren mediante comandos para revisar el estado del job, ver los logs de los pods y examinar artefactos de entrenamiento. El artículo muestra también cómo desplegar endpoints de inferencia mediante JumpStart o modelos personalizados, con artefactos en S3 o FSx for Lustre, y con la opción de un ALB y TLS para acceso seguro. AWS ML Blog
Novedades
El artículo presenta una nueva historia de uso para SageMaker HyperPod centrada en el lanzamiento del CLI y el SDK (versión 3.1.0). Los puntos clave incluyen:
- CLI de HyperPod que simplifica flujos de trabajo comunes y permite enviar trabajos PyTorch a un clúster HyperPod mediante la resource Kubernetes HyperPodPyTorchJob, implementada por el operador de entrenamiento HyperPod.
- SDK de Python que ofrece acceso programático para configurar parámetros de entrenamiento y despliegue mediante objetos Python simples.
- Soporte para entrenamiento distribuido con FSDP y para desplegar modelos para inferencia en HyperPod, incluyendo JumpStart y modelos personalizados con artefactos en S3 o FSx para Lustre.
- Capacidad para desplegar endpoints de inferencia con ALB y TLS para acceso seguro.
- Capacidades de observabilidad y depuración para entrenamiento e inferencia, incluidos logs y estados de los pods.
- Ejemplos muestran cómo construir imágenes Docker, hacer push a ECR y enviar un job de entrenamiento que escribe puntos de control en /fsx/checkpoints en el FSx for Lustre PVC. El CLI expone comandos para crear un PyTorchJob (hyp create hyp-pytorch-job), supervisar (hyp list hyp-pytorch-job) y ver logs de pods. También se muestran flujos de despliegue para JumpStart (hyp-jumpstart-endpoint) y endpoints personalizados (hyp-custom-endpoint). Para ilustrar la amplitud de la funcionalidad, el artículo detalla un entrenamiento de Meta Llama 3.1 8B con FSDP y muestra cómo adaptar la configuración ajustando los argumentos en los manifests. El camino de despliegue muestra cómo generar un endpoint de inferencia y, si se desea, añadir un ALB con TLS para acceso seguro. También se describe el despliegue de un TinyLlama 1.1B desde S3 usando una imagen DJL Large Model Inference para demostrar el uso de artefactos remotos con una imagen de inferencia compatible. AWS ML Blog En resumen, el CLI y el SDK de HyperPod ofrecen un camino práctico y escalable para entrenar e implantar grandes modelos en SageMaker HyperPod, con opciones JumpStart y despliegues personalizados, todo ello respaldado por una orquestación basada en Kubernetes. AWS ML Blog
Por qué importa (impacto para desarrolladores/empresas)
El CLI y el SDK de HyperPod proporcionan un camino unificado y escalable para entrenar e implementar grandes modelos con menor carga operativa. Para desarrolladores, esto implica una iteración más rápida y más eficiente, ya que tareas comunes como el entrenamiento distribuido, ajustar FSDP y desplegar endpoints de inferencia se simplifican. Para las empresas, esto se traduce en flujos de trabajo más predecibles, mayor visibilidad del rendimiento del clúster y la capacidad de aprovechar modelos JumpStart o artefactos personalizados en producción, con capacidades de monitoreo y seguridad. La combinación de facilidad de uso del CLI y flexibilidad del SDK apoya tanto pilotos rápidos como pipelines de MLOps robustos en SageMaker HyperPod, con una orquestación basada en Kubernetes. AWS ML Blog
Detalles técnicos o Implementación
El flujo se apoya en componentes y pasos explícitos.
- Prerrequisitos
- Instalar el CLI y el SDK de HyperPod, versión 3.1.0 o superior, para acceder a las funciones relevantes.
- En el clúster Kubernetes, instalar los operadores de entrenamiento e inferencia HyperPod según lo recomendado. El CLI HyperPod interactúa con la API de Kubernetes mediante el cliente Python de Kubernetes. Configure el contexto del clúster para permitir llamadas API.
- Desde el entorno local, verifica la instalación del CLI ejecutando hyp y revisando la salida. El CLI ofrece ayuda sobre las comandos y parámetros disponibles.
- Flujo de entrenamiento con el CLI
- El CLI permite enviar un job de entrenamiento PyTorch a un clúster HyperPod mediante el recurso Kubernetes HyperPodPyTorchJob, implementado por el operador de entrenamiento HyperPod.
- El ejemplo implica construir una imagen Docker desde el repositorio awsome-distributed-training, iniciar sesión en Amazon ECR y empujar la imagen al registro. El agente elástico de HyperPod dentro de la imagen coordina a los trabajadores y se comunica con el operador de entrenamiento.
- Puedes adaptar la configuración cambiando los argumentos en los manifests para distintos LLMs o configuraciones de FSDP. Los puntos de control se escriben en /fsx/checkpoints en el FSx for Lustre PVC.
- El CLI ofrece un conjunto de argumentos para crear un trabajo PyTorch; se pueden descubrir ejecutando hyp create hyp-pytorch-job y explorando la ayuda. Tras el envío, el estado se puede rastrear con hyp list hyp-pytorch-job y los logs de los pods pueden recuperarse para diagnóstico.
- Flujo de despliegue de inferencia
- El HyperPod CLI puede desplegar modelos para inferencia en un clúster HyperPod, incluyendo JumpStart y modelos personalizados con artefactos en S3 o FSx for Lustre. El despliegue utiliza el operador de inferencia HyperPod en el clúster y puede crear un endpoint de inferencia SageMaker y un ALB con TLS para acceso seguro.
- Para modelos JumpStart, un comando de despliegue devuelve DeploymentInProgress y avanza a DeploymentComplete cuando el endpoint está listo. Se pueden observar los logs del pod de despliegue para depurar y activar el endpoint mediante el CLI.
- Para modelos personalizados, se suministra la ubicación S3 de los artefactos y una imagen de contenedor de inferencia compatible con los endpoints de SageMaker. Luego se despliega el modelo con comandos equivalentes, se supervisa el estado del endpoint y se invoca cuando está listo. El SDK de Python ofrece una ruta programática equivalente para despliegues JumpStart y personalizados. AWS ML Blog
- Observabilidad y depuración
- El artículo cubre múltiples enfoques de depuración: ver logs de pods de entrenamiento, inspeccionar el estado de los pods y revisar los recursos de Kubernetes que soportan HyperPod. El CLI facilita obtener logs, listar recursos y monitorear el progreso de entrenamiento e inferencia.
- Notas prácticas
- El ejemplo de entrenamiento aborda un modelo Meta Llama 3.1 8B con FSDP, configurado mediante HyperPodPyTorchJob. Se puede adaptar la configuración ajustando argumentos y parámetros del modelo. El flujo de despliegue ilustra cómo generar endpoints de inferencia y, si se desea, añadir un ALB con TLS para acceso seguro. También se describe el despliegue de un TinyLlama 1.1B desde S3 usando una imagen DJL Large Model Inference, para demostrar el uso de artefactos remotos con una imagen de inferencia compatible. En resumen, el CLI y el SDK de HyperPod ofrecen un camino práctico y escalable para entrenar e implementar grandes modelos en SageMaker HyperPod, con opciones JumpStart y despliegues personalizados, todo ello respaldado por una orquestación basada en Kubernetes. AWS ML Blog
Puntos clave
- El CLI HyperPod facilita flujos de trabajo comunes: entrenamiento, fine-tuning y despliegue de inferencia.
- El SDK HyperPod ofrece control programático para configurar parámetros de entrenamiento y despliegue.
- Soporte para entrenamiento distribuido con FSDP y despliegue de inferencia, incluyendo JumpStart y modelos personalizados.
- Los endpoints de inferencia pueden usar ALB con TLS para un acceso seguro.
- La observabilidad y depuración ayudan a mantener la fiabilidad en producción.
FAQ
-
¿Qué problema resuelven el CLI y el SDK de HyperPod?
Simplifican el entrenamiento distribuido y la inferencia en HyperPod al ocultar la complejidad detrás de una CLI amigable y una API Python para casos avanzados.
-
¿Qué tipos de modelos y cargas de trabajo se pueden entrenar o desplegar?
El enfoque se centra en LLMs con FSDP y en desplegar modelos JumpStart y personalizados con artefactos en S3 o FSx para Lustre.
-
¿Cómo despliego un endpoint de inferencia de forma segura?
La CLI puede crear un endpoint de SageMaker y un ALB con TLS para acceso HTTPS seguro.
-
¿Qué prerrequisitos necesito?
Instalar el CLI/SDK 3.1.0, los operadores de Kubernetes HyperPod y configurar el contexto de Kubernetes.
-
¿Cómo puedo monitorizar el progreso de entrenamiento y despliegue?
Usa comandos como hyp list (por ejemplo, hyp list hyp-pytorch-job y hyp list hyp-jumpstart-endpoint) y consulta los logs de los pods para diagnóstico.
Referencias
More news
Llevar agentes de IA de concepto a producción con Amazon Bedrock AgentCore
Análisis detallado de cómo Amazon Bedrock AgentCore facilita la transición de aplicaciones de IA basadas en agentes desde un concepto de prueba hasta sistemas de producción empresariales, conservando memoria, seguridad, observabilidad y gestión escalable de herramientas.
Monitorear la inferencia por lotes de Bedrock de AWS con métricas de CloudWatch
Descubra cómo monitorear y optimizar trabajos de inferencia por lotes de Bedrock con métricas, alarmas y paneles de CloudWatch para mejorar rendimiento, costos y operación.
Solicitando precisión con Stability AI Image Services en Amazon Bedrock
Bedrock incorpora Stability AI Image Services con nueve herramientas para crear y editar imágenes con mayor precisión. Descubre técnicas de prompting para uso empresarial.
Escala la producción visual con Stability AI Image Services en Amazon Bedrock
Stability AI Image Services ya está disponible en Amazon Bedrock, ofreciendo capacidades de edición de imágenes listas para usar a través de la API de Bedrock y ampliando los modelos Stable Diffusion 3.5 y Stable Image Core/Ultra ya presentes.
Usar AWS Deep Learning Containers con Amazon SageMaker AI MLflow gestionado
Vea cómo los AWS Deep Learning Containers (DLCs) se integran con SageMaker AI gestionado por MLflow para equilibrar el control de la infraestructura y una gobernanza de ML sólida. Un flujo de TensorFlow para predicción de edad de abalones ilustra el seguimiento de extremo a extremo y la trazabilidad
Construir Flujos de Trabajo Agenticos con GPT OSS de OpenAI en SageMaker AI y Bedrock AgentCore
Visión general de extremo a extremo para implementar modelos GPT OSS de OpenAI en SageMaker AI y Bedrock AgentCore, impulsando un analizador de acciones multiagente con LangGraph, con cuantización MXFP4 de 4 bits y orquestación serverless.