Skip to content
Ajuste fino de modelos GPT-OSS de OpenAI con recetas de SageMaker HyperPod
Source: aws.amazon.com

Ajuste fino de modelos GPT-OSS de OpenAI con recetas de SageMaker HyperPod

Sources: https://aws.amazon.com/blogs/machine-learning/fine-tune-openai-gpt-oss-models-using-amazon-sagemaker-hyperpod-recipes

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