Ajuste fino de modelos GPT-OSS de OpenAI con recetas de SageMaker HyperPod
TL;DR
- Ajusta finamente modelos GPT-OSS de OpenAI usando recetas de SageMaker HyperPod o trabajos de entrenamiento de SageMaker.
- Las recetas HyperPod proporcionan configuraciones preconstruidas y validadas para modelos fundacionales como Llama de Meta, Mistral y DeepSeek, facilitando experimentación rápida a escala.
- El proceso admite razonamiento multilingüe con el conjunto de datos Multilingual-Thinking de HuggingFace y una longitud de secuencia de 4,000 tokens para el GPT-OSS 120B.
- Los datos se almacenan en FSx for Lustre para HyperPod o en S3 para trabajos de entrenamiento; los artefactos finales se almacenan en S3 y se despliegan en endpoints de SageMaker usando contenedores vLLM.
- Los prerequisites cubren la disponibilidad del clúster y la configuración del entorno; el lanzador HyperPod automatiza la orquestación en arquitecturas como EKS o Slurm, mientras que los trabajos de entrenamiento gestionan el aprovisionamiento de recursos.
Contexto y antecedentes
Este artículo es la segunda parte de la serie GPT-OSS centrada en la personalización de modelos con SageMaker AI de Amazon. En la Parte 1, mostramos el ajuste fino de modelos GPT-OSS utilizando bibliotecas Hugging Face de código abierto con trabajos de entrenamiento en SageMaker, que admiten configuraciones distribuidas multi-GPU y multi-nodo para crear clústeres de alto rendimiento bajo demanda. En este post, mostramos cómo afinar modelos GPT-OSS utilizando recetas en SageMaker HyperPod y Training Jobs. Las recetas HyperPod facilitan empezar con el entrenamiento y ajuste fino de modelos de fundación populares y disponibles públicamente, como Llama de Meta, Mistral y DeepSeek, en minutos, ya sea usando HyperPod o trabajos de entrenamiento. Las recetas proporcionan configuraciones preconstruidas y validadas que reducen la complejidad de configurar entornos de entrenamiento distribuidos, manteniendo rendimiento y escalabilidad de nivel empresarial. Describimos pasos para ajustar finamente el modelo GPT-OSS en un conjunto de datos de razonamiento multilingüe, HuggingFaceH4/Multilingual-Thinking, para que GPT-OSS maneje razonamiento estructurado a través de múltiples idiomas. Esta solución utiliza recetas SageMaker HyperPod para ejecutar un trabajo de ajuste fino en HyperPod mediante orquestación de Amazon Elastic Kubernetes Service (EKS) o Training Jobs. Las recetas se procesan a través del launcher de recetas SageMaker HyperPod, que funciona como la capa de orquestación responsable de lanzar un trabajo en la arquitectura correspondiente, como SageMaker HyperPod (Slurm o Amazon EKS) o Training Jobs. Para más detalles sobre las recetas HyperPod, consulte SageMaker HyperPod recipes. Para detalles sobre el ajuste fino de GPT-OSS, consulte Fine-tune OpenAI GPT-OSS models on Amazon SageMaker AI using Hugging Face libraries. En las secciones siguientes, discutimos los prerequisitos para ambas opciones y luego pasamos a la preparación de datos. Los datos preparados se guardan en Amazon FSx for Lustre, que se usa como sistema de archivos persistente para SageMaker HyperPod, o en Amazon Simple Storage Service (Amazon S3) para entrenamiento. Luego usamos recetas para enviar el trabajo de ajuste fino y, finalmente, implementamos el modelo entrenado a un endpoint de SageMaker para pruebas y evaluación.
Qué hay de nuevo
Las recetas HyperPod amplían el flujo de ajuste fino de GPT-OSS hacia un clúster persistente preconfigurado y validado para rendimiento empresarial. Puedes ejecutar el ajuste fino en SageMaker HyperPod con orquestación EKS o usar Training Jobs de SageMaker para capacidad de cómputo a demanda. El conjunto de datos multilingüe Multilingual-Thinking ofrece ejemplos CoT traducidos a idiomas como francés, español y alemán, permitiendo razonamiento multilingüe en GPT-OSS. La receta soporta una longitud de secuencia de 4 000 tokens para el modelo GPT-OSS 120B. El launcher de recetas HyperPod maneja la orquestación en la arquitectura elegida. Consulta las guías de AWS para más orientación.
Contexto y antecedentes (continuación)
La preparación de datos sigue un camino directo: tokenizar el conjunto Multilingual-Thinking en formato Hugging Face (arrow) y guardar el conjunto procesado en disco para el ajuste. El enfoque se alinea con las dos rutas de ejecución — HyperPod y Training Jobs — enfatizando rendimiento, resiliencia y escalabilidad de nivel empresarial. La guía indica que el almacenamiento varía según la ruta: FSx for Lustre se usa con HyperPod, mientras Training Jobs utiliza S3. El modelo objetivo es GPT-OSS 120B, con una longitud de secuencia de 4 000 tokens.
Por qué es importante (impacto para desarrolladores/empresas)
Para desarrolladores y empresas, este flujo permite experimentar rápidamente con grandes modelos abiertos manteniendo control sobre los recursos de entrenamiento distribuido. Las recetas HyperPod reducen la complejidad de configurar entornos distribuidos y ofrecen clústeres persistentes para desarrollo continuo y experimentación. Los trabajos de entrenamiento ofrecen una opción completamente gestionada para cargas de entrenamiento únicas o periódicas. La combinación de HyperPod y Training Jobs da flexibilidad sobre cuándo y cómo entrenar, mientras que el conjunto de datos multilingüe amplía capacidades en múltiples idiomas. Los artefactos finales fusionan el modelo base con adaptadores PEFT personalizados y se almacenan en S3 para desplegarse en endpoints de SageMaker. Para el despliegue, se requieren contenedores vLLM compatibles y prácticas consistentes con SageMaker Hosting.
Detalles técnicos o Implementación
A continuación se describen las etapas prácticas y los componentes involucrados.
Prerrequisitos
- Asegurarse de que se aprueben los límites y cuotas de servicio (pueden tardar hasta 24 horas).
- También es posible reservar planes de entrenamiento para ventanas temporales específicas, siguiendo las directrices de AWS.
- Preparar un entorno de desarrollo con Python 3.9 o superior. Tener acceso a SageMaker HyperPod, al launcher de recetas HyperPod y a los archivos de configuración.
Preparación de datos
- Utilizar el conjunto HuggingFaceH4/Multilingual-Thinking, un conjunto de datos multilingüe con ejemplos CoT traducidos a idiomas como francés, español y alemán.
- Tokenizar el conjunto para el modelo GPT-OSS 120B; la receta acepta datos en formato Hugging Face (arrow) y puede guardar el conjunto procesado en disco para el ajuste fino.
Ajuste fino con SageMaker HyperPod
- Configurar el entorno virtual y las dependencias para ejecutar el entrenamiento en el clúster EKS. Confirmar que el clúster está InService y que Python 3.9+ está activo.
- Descargar y configurar el repositorio de recetas SageMaker HyperPod. Usar el launcher de recetas para enviar el trabajo de entrenamiento.
- En recipes_collection/cluster/k8s.yaml, actualizar la sección persistent_volume_claims para montar FSx en /fsx en cada pod de cómputo.
- El launcher proporciona un script de lanzamiento para cada receta en launcher_scripts. Para ajustar el GPT-OSS-120B, modificar el script launcher_scripts/gpt_oss/run_hf_gpt_oss_120b_seq4k_gpu_lora.sh y establecer cluster_type en k8s (si se usa EKS).
- Una vez preparado el script, enviar el ajuste fino. Usar kubectl para verificar que los pods están en ejecución y consultar los logs (por ejemplo, kubectl logs -f hf-gpt-oss-120b-lora-h2cwd-worker-0).
- Durante el entrenamiento, se guardan puntos de control en /fsx/experiment/checkpoints. El modelo final fusionado se encuentra en /fsx/experiment/checkpoints/peft_full/steps_50/final-model dentro del directorio del experimento.
Ajuste fino con SageMaker Training Jobs
- Alternativamente, puede utilizar trabajos de entrenamiento SageMaker con el estimador PyTorch y el parámetro training_recipe para especificar la receta de ajuste fino.
- Definir input, output y results en /opt/ml según lo requerido por los trabajos de entrenamiento SageMaker.
- Después de enviar el trabajo, supervisar su estado en la consola de SageMaker bajo Training y revisar los logs para confirmar la finalización. Las salidas se guardan en un S3 y la ubicación del artefacto se muestra en los detalles del trabajo.
Despliegue y hosting
- Tras el ajuste fino, el artefacto resultante es un modelo personalizado que fusiona el modelo base con adaptadores PEFT. Este artefacto se almacena en S3 y puede desplegarse directamente desde S3 a endpoints de SageMaker.
- Para servir modelos GPT-OSS, asegúrese de usar los contenedores vLLM más recientes compatibles con OpenAI (versión 0.10.1 o posterior). Una lista completa de imágenes Docker vllm-openai está disponible en Docker Hub.
- El flujo de despliegue implica construir un contenedor de hosting SageMaker que extienda la imagen base de vLLM con un script de entrypoint compatible con SageMaker. La imagen se empuja a ECR y los endpoints la consumen en tiempo real para la inferencia.
- El ejemplo de despliegue incluye un script de construcción similar a build.sh, que genera un contenedor vllm-openai optimizado para SageMaker y lo empuja a ECR, creando el endpoint de inferencia. El endpoint puede invocarse a través del SDK de SageMaker con entradas en formato OpenAI para interacción tipo chat.
- El contenedor vLLM modificado es totalmente compatible con el formato de mensajes estilo OpenAI, lo que facilita las solicitudes de chat.
Puntos clave
- La integración mantiene prácticas de hosting de SageMaker mientras incorpora el runtime vLLM para inferencia de baja latencia.
- La arquitectura admite clústeres HyperPod persistentes y trabajos de entrenamiento SageMaker bajo demanda, ofreciendo flexibilidad para desarrollo y producción.
- Los datos multilingües y la longitud de secuencia de 4K amplían las capacidades de GPT-OSS para razonamiento multilingüe en escenarios prácticos.
Preguntas frecuentes
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.
Scaleway se une a los Proveedores de Inferencia de Hugging Face para Inferencia Serverless y de Baja Latencia
Scaleway es ahora un Proveedor de Inferencia soportado en Hugging Face Hub, lo que permite inferencia serverless directamente en las páginas de modelos con los SDK de JS y Python. Accede a modelos open-weight populares y disfruta de flujos de IA escalables y de baja latencia.
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