Skip to content
Aprimore modelos OpenAI GPT-OSS usando receitas do SageMaker HyperPod
Source: aws.amazon.com

Aprimore modelos OpenAI GPT-OSS usando receitas do SageMaker HyperPod

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

TL;DR

  • Aprimore modelos OpenAI GPT-OSS usando receitas SageMaker HyperPod ou trabalhos de treinamento SageMaker.
  • Receitas HyperPod oferecem configurações pré-construídas e validadas para modelos de base como Llama, Mistral e DeepSeek, facilitando experimentação rápida em escala.
  • O processo suporta raciocínio multilíngue com o conjunto de dados Multilingual-Thinking da HuggingFace e um comprimento de sequência de 4.000 tokens para o GPT-OSS 120B.
  • Dados são armazenados no FSx for Lustre para HyperPod ou no S3 para trabalhos de treinamento; os artefatos finais ficam no S3 e são implantados em pontos finais SageMaker usando contêineres vLLM.
  • Pré-requisitos abrangem prontidão do cluster e configuração do ambiente; o lançador HyperPod automatiza a orquestração em arquiteturas como EKS ou Slurm, enquanto trabalhos de treinamento gerenciam a provisionamento de recursos.

Contexto e antecedentes

Este post é a segunda parte da série GPT-OSS, que foca na personalização de modelos com o SageMaker AI da Amazon. Na Parte 1, demonstramos o ajuste fino de modelos GPT-OSS usando bibliotecas Hugging Face de código aberto com trabalhos de treinamento SageMaker, que suportam configurações distribuídas multi-GPU e multi-nó, permitindo criar clusters de alto desempenho sob demanda. Nesta postagem, mostramos como ajustar finamente modelos GPT-OSS usando receitas no SageMaker HyperPod e nos Treinamentos. Receitas HyperPod ajudam você a começar com o treinamento e ajuste fino de modelos de base amplamente disponíveis, como Llama da Meta, Mistral e DeepSeek, em minutos, seja usando HyperPod ou trabalhos de treinamento. As receitas fornecem configurações pré-construídas e validadas que reduzem a complexidade de configurar ambientes de treinamento distribuídos, mantendo desempenho e escalabilidade de nível empresarial. Descrevemos etapas para ajustar o GPT-OSS em um conjunto de dados de raciocínio multilíngue, HuggingFaceH4/Multilingual-Thinking, para que o GPT-OSS lide com raciocínio estruturado entre várias línguas. Esta solução usa receitas SageMaker HyperPod para executar um trabalho de ajuste fino no HyperPod por meio de orquestração do Amazon Elastic Kubernetes Service ou de trabalhos de treinamento. As receitas são processadas pelo launcher de receitas SageMaker HyperPod, que atua como a camada de orquestração responsável por iniciar um trabalho na arquitetura correspondente, como HyperPod (Slurm ou Amazon EKS) ou trabalhos de treinamento. Para detalhes sobre receitas HyperPod, consulte SageMaker HyperPod recipes. Para detalhes sobre o ajuste fino do modelo GPT-OSS, consulte Fine-tune OpenAI GPT-OSS models on Amazon SageMaker AI usando bibliotecas Hugging Face. Nas seções seguintes, discutimos os pré-requisitos para as duas opções e, em seguida, passamos à preparação dos dados. Os dados preparados são salvos no Amazon FSx for Lustre, que é usado como sistema de arquivos persistente para o SageMaker HyperPod, ou no Amazon Simple Storage Service (Amazon S3) para trabalhos de treinamento. Em seguida, usamos as receitas para submeter o trabalho de ajuste fino e, por fim, implantamos o modelo treinado em um endpoint do SageMaker para testes e avaliação.

O que há de novo

Receitas HyperPod ampliam o fluxo de ajuste fino do GPT-OSS para um cluster persistente, com configurações pré-construídas validadas para treino empresarial. Você pode executar o ajuste fino no SageMaker HyperPod com orquestração via EKS ou usar trabalhos de treinamento do SageMaker para computação sob demanda. O conjunto de dados multilíngue Multilingual-Thinking oferece exemplos de CoT traduzidos para idiomas como francês, espanhol e alemão, permitindo raciocínio multilíngue no GPT-OSS. A receita suporta um comprimento de sequência de 4.000 tokens para o modelo GPT-OSS 120B. O launcher de receitas HyperPod cuida da orquestração no arquiteto escolhido. Consulte a referência no post da AWS para orientação adicional.

Contexto e antecedentes (continuação)

A preparação dos dados segue um caminho direto: tokenizar o conjunto Multilingual-Thinking em formato Hugging Face (arrow) e salvar o conjunto processado em disco para o ajuste. A abordagem está alinhada com as duas vias de execução — HyperPod e trabalhos de treinamento — enfatizando desempenho, resiliência e escalabilidade de nível empresarial. O guia destaca que as opções de armazenamento variam conforme o caminho: FSx for Lustre é usado com HyperPod, enquanto trabalhos de treinamento utilizam S3. O modelo GPT-OSS 120B é o alvo descrito, com suporte a 4.000 tokens de comprimento.

Por que isso importa (impacto para desenvolvedores/empresas)

Para desenvolvedores e empresas, esse fluxo permite experimentar modelos grandes abertos com maior controle sobre recursos de treinamento distribuído, mantendo a praticidade de ambientes gerenciados. Receitas HyperPod reduzem a complexidade de configurar ambientes distribuídos e oferecem clusters persistentes que suportam desenvolvimento contínuo e experimentação. Os trabalhos de treinamento oferecem uma opção totalmente gerenciada para cargas de treino únicas ou periódicas. A combinação de HyperPod e trabalhos de treinamento dá flexibilidade sobre quando e como treinar, enquanto o conjunto de dados multilíngue expande capacidades entre idiomas. Os artefatos finais combinam o modelo base com adaptadores PEFT personalizados e ficam armazenados no S3, prontos para implantação como endpoints do SageMaker. Para a entrega, é preciso usar contêineres vLLM compatíveis e seguir práticas de hosting do SageMaker.

Detalhes técnicos ou Implementação

A seção a seguir descreve as etapas práticas e os componentes envolvidos no processo.

Pré-requisitos

  • Verifique e obtenha aprovação para limites e quotas de serviço (pode levar até 24 horas).
  • Também é possível reservar planos de treinamento para janelas específicas de tempo, conforme as orientações da AWS.
  • Prepare um ambiente de desenvolvimento com Python 3.9 ou superior. Tenha acesso ao SageMaker HyperPod, ao launcher de receitas HyperPod e aos respectivos arquivos de configuração.

Preparação de dados

  • Utilize o conjunto HuggingFaceH4/Multilingual-Thinking, um conjunto de dados multilíngue com exemplos CoT traduzidos para francês, espanhol e alemão.
  • Faça a tokenização para o modelo GPT-OSS 120B; a receita aceita dados no formato Hugging Face (arrow) e pode salvar o conjunto processado no disco para o ajuste fino.

Ajuste fino com SageMaker HyperPod

  • Configure o ambiente virtual e as dependências para executar o treinamento no cluster EKS. Confirme que o cluster está InService e que o Python 3.9+ está ativo.
  • Baixe e configure o repositório de receitas do SageMaker HyperPod. Use o launcher de receitas para submeter seu trabalho de treinamento.
  • Em recipes_collection/cluster/k8s.yaml, atualize a seção persistent_volume_claims para montar a claim FSx em /fsx em cada pod de computação.
  • O launcher de receitas disponibiliza um script de lançamento para cada receita em launcher_scripts. Para ajustar o GPT-OSS-120B, modifique o script em launcher_scripts/gpt_oss/run_hf_gpt_oss_120b_seq4k_gpu_lora.sh e defina cluster_type como k8s (quando usar EKS).
  • Após preparar o script, submeta o ajuste fino. Use kubectl para verificar se os pods estão em execução e para inspecionar os logs (por exemplo, kubectl logs -f hf-gpt-oss-120b-lora-h2cwd-worker-0).
  • Durante o treinamento, os checkpoints são gravados em /fsx/experiment/checkpoints. O modelo final mesclado fica em /fsx/experiment/checkpoints/peft_full/steps_50/final-model dentro do diretório do experimento.

Ajuste fino com trabalhos de treinamento SageMaker

  • Como alternativa, use trabalhos de treinamento SageMaker com o PyTorch Estimator e o parâmetro training_recipe para especificar a receita de ajuste fino.
  • Defina os diretórios de input, output e results em /opt/ml conforme necessário pelos trabalhos de treinamento SageMaker.
  • Após submeter o trabalho, monitore na console do SageMaker em Training e revise os logs para confirmar a conclusão. Saídas são salvas em um bucket S3; a localização do artefato de saída é exibida nos detalhes do trabalho.

Implantação e serviço

  • Após o ajuste fino, o artefato final é um modelo personalizado que mescla o modelo base com adaptadores PEFT. Este artefato fica armazenado no S3 e pode ser implantado diretamente do S3 para endpoints do SageMaker.
  • Para servir modelos GPT-OSS, utilize contêineres vLLM compatíveis com OpenAI mais recentes (versão 0.10.1 ou posterior). Uma lista completa de imagens Docker vllm-openai está disponível no Docker Hub.
  • O fluxo de implantação envolve construir um contêiner de hospedagem SageMaker que estenda a imagem base do vLLM com um entrypoint de serve compatível. O contêiner é enviado para o Amazon ECR e os endpoints do SageMaker o consomem em tempo de execução.
  • O código de implantação típico envolve o uso de um script de build semelhante ao build.sh, que gera um contêiner vllm-openai otimizado para hospedagem no SageMaker, empurra para o ECR e cria o endpoint de inferência. O endpoint pode ser invocado via SDK do SageMaker, com entradas no formato de mensagens estilo OpenAI para chat.
  • O contêiner vLLM modificado é plenamente compatível com o formato de mensagens OpenAI, tornando simples enviar solicitações de chat.

Observações

  • A integração mantém a prática familiar de hosting do SageMaker enquanto incorpora o runtime vLLM para inferência de baixa latência.
  • A arquitetura suporta tanto clusters persistentes HyperPod quanto trabalhos de treinamento SageMaker sob demanda, oferecendo flexibilidade para ambientes de desenvolvimento e produção.
  • Dados multilíngues e o comprimento de sequência de 4K estendem as capacidades do GPT-OSS para raciocínio multilíngue em cenários práticos.

Perguntas frequentes

  • Quais modelos são suportados pelas receitas HyperPod para ajuste fino do GPT-OSS?

    As receitas cobrem modelos de base amplamente disponíveis como Llama da Meta, Mistral e DeepSeek. Consulte a documentação para o fluxo de ajuste fino do GPT-OSS.

  • Qual formato de dados e qual conjunto de dados é utilizado para raciocínio multilíngue?

    O conjunto Multilingual-Thinking da HuggingFace, com exemplos CoT traduzidos para idiomas como francês, espanhol e alemão. O conjunto é tokenizado para o comprimento de 4.000 tokens do GPT-OSS 120B.

  • Onde ficam os dados e artefatos de modelo durante o treinamento?

    Com HyperPod, os dados ficam no FSx for Lustre; em trabalhos de treinamento, vão para o S3. Artefatos finais ficam no S3 e podem ser implantados a partir dele para endpoints.

  • Como faço a implantação do modelo ajustado?

    Construa um contêiner de hospedagem SageMaker baseado na imagem vLLM OpenAI, suba para o ECR e implante um endpoint. O endpoint usa o runtime vLLM para solicitações no formato OpenAI.

  • Onde encontrar orientações oficiais e código de referência?

    A orientação está no post da AWS ML Blog sobre ajuste fino de GPT-OSS com receitas HyperPod, que também faz referência ao launcher de receitas HyperPod e tooling relacionado. Consulte o link em Referências.

Referências

More news

aws.amazon.com

Use AWS Deep Learning Containers com o SageMaker AI gerenciado MLflow

Explore como os AWS Deep Learning Containers (DLCs) se integram ao SageMaker AI gerenciado pelo MLflow para equilibrar controle de infraestrutura e governança robusta de ML. Um fluxo de trabalho de predição de idade de ostra com TensorFlow demonstra rastreamento de ponta a ponta, governança de model