Skip to content
Treine e implante modelos no SageMaker HyperPod com o novo HyperPod CLI e SDK
Source: aws.amazon.com

Treine e implante modelos no SageMaker HyperPod com o novo HyperPod CLI e SDK

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

  • O HyperPod CLI e o HyperPod SDK da SageMaker simplificam o treinamento e a implantação de grandes modelos de IA no HyperPod.
  • O CLI oferece uma experiência de linha de comando para iniciar treinamentos, fine-tuning e pontos de extremidade de inferência, enquanto o SDK oferece acesso programático para fluxos de trabalho avançados.
  • O artigo demonstra treinamento distribuído usando Fully Sharded Data Parallel (FSDP) e a implantação de modelos para inferência, incluindo modelos foundation do JumpStart.
  • Pré-requisitos: instalar o HyperPod CLI/SDK (versão 3.1.0) e operadores do Kubernetes; as interações usam o cliente Kubernetes Python.

Contexto e visão geral

Gerenciar treinamento distribuído e inferência em escala implica em engenharia e operações complexas. O HyperPod CLI e o HyperPod SDK do SageMaker visam reduzir essa barreira, simplificando o acesso às capacidades distribuídas por meio de interfaces familiares. O CLI torna mais simples tarefas comuns como submeter jobs de treinamento e monitorar clusters, enquanto o SDK oferece a flexibilidade para pipelines de produção. O post mostra o uso das ferramentas para treinar e implantar modelos grandes (LLMs) no SageMaker HyperPod, destacando treinamento distribuído com FSDP e a implantação de modelos para inferência. AWS ML Blog O HyperPod CLI e SDK interagem com o cluster via API do Kubernetes, o que exige que o cliente Python do Kubernetes esteja configurado com o contexto do cluster. Em prática, os usuários listam clusters disponíveis e definem o contexto ativo antes de submeter trabalhos. O CLI foi desenhado para fluxos de trabalho usuais, com o SDK oferecendo personalização adicional quando necessária. O post demonstra caminhos tanto para treinamento quanto para implantação de modelos no HyperPod. Para um fluxo real, você configura um HyperPodPyTorchJob custom resource, instalado como parte do operador de treinamento HyperPod, coordenando os workers e os ciclos de vida através do agente elástico no container de treinamento. O exemplo concentra-se em uma configuração Meta Llama 3.1 8B usando FSDP. A seção de pré-requisitos reforça a necessidade de instalar as ferramentas HyperPod e os operadores do Kubernetes no cluster, além de mostrar como construir e enviar uma imagem Docker, fazer login no ECR e submeter um job de treinamento via CLI ou SDK. Observabilidade e depuração são abordadas por meio de comandos para inspecionar status de jobs, logs de pods e artefatos de treinamento. AWS ML Blog

O que há de novo

O artigo apresenta uma nova história de uso para o SageMaker HyperPod, centrada na release do CLI e do SDK (versão 3.1.0). Os pontos-chave incluem:

  • CLI que simplifica fluxos de trabalho comuns, permitindo submeter trabalhos de PyTorch para um cluster HyperPod via o recurso Kubernetes HyperPodPyTorchJob, implementado pelo operador de treinamento HyperPod.
  • SDK Python que oferece acesso programático para configurar parâmetros de treinamento e implantação usando objetos Python simples.
  • Suporte para treinamento distribuído com FSDP e para implantar modelos para inferência no HyperPod, incluindo JumpStart e modelos personalizados com artefatos no S3 ou FSx para Lustre.
  • Capacidade de implantar endpoints de inferência com ALB e TLS para acesso seguro.
  • Recursos de observabilidade e depuração para treinamento e inferência, incluindo logs e estados de pods.
  • Exemplos mostram como construir imagens Docker, enviar ao ECR e submeter um job de treinamento que grava checkpoints em /fsx/checkpoints no PVC FSx for Lustre. O CLI oferece comandos para criação de um trabalho (hyp create hyp-pytorch-job), monitoramento (hyp list hyp-pytorch-job) e logs de pods. Também demonstra fluxos de implantação para endpoints JumpStart (hyp-jumpstart-endpoint) e para endpoints personalizados (hyp-custom-endpoint). Para ilustrar a amplitude da funcionalidade, o artigo descreve um treinamento de Meta Llama 3.1 8B com FSDP e como adaptar a configuração ajustando os argumentos nos manifests. O caminho de implantação mostra a geração de um endpoint de inferência e a opção de adicionar um ALB com TLS para acesso seguro. Também é mostrado o emprego de um modelo TinyLlama 1.1B armazenado no S3 com a imagem de contêiner DJL Large Model Inference, ilustrando como artifatos remotos podem ser usados com uma imagem de inferência compatível. Resumo: o CLI e o SDK do HyperPod oferecem um caminho prático e escalável para treinar e implantar grandes modelos no SageMaker HyperPod, com opções de JumpStart e de implantação personalizada, tudo sobre a orquestração baseada em Kubernetes. AWS ML Blog

Por que isso importa (impacto para desenvolvedores/empresas)

O conjunto de ferramentas HyperPod CLI e SDK oferece um caminho unificado e escalável para treinar e implantar grandes modelos com menor sobrecarga operacional. Para desenvolvedores, isso significa experimentar mais rápido e iterar com mais eficiência, pois tarefas comuns—como iniciar treinamento distribuído, ajustar configurações de FSDP e implantar endpoints de inferência—ficam mais simples. Para empresas, isso se traduz em fluxos de trabalho mais previsíveis, melhor visibilidade do desempenho do cluster e a capacidade de aproveitar modelos JumpStart ou artefatos personalizados em produção, com opções de monitoramento e segurança. A combinação de facilidade de uso do CLI com a flexibilidade do SDK apoia tanto pilotos rápidos quanto pipelines de MLOps mais robustos em SageMaker HyperPod. A integração com Kubernetes reforça uma abordagem baseada em contêineres e compatível com práticas modernas de MLOps. AWS ML Blog

Detalhes técnicos ou Implementação

O fluxo envolve componentes e etapas explícitos.

  • Pré-requisitos
  • Instalar o HyperPod CLI e o HyperPod SDK mais recentes, versão 3.1.0 ou superior, para acessar os recursos relevantes.
  • Em seu cluster Kubernetes, instalar os operadores de treinamento e inferência HyperPod conforme os requisitos. O CLI do HyperPod interage com a API do Kubernetes, usando o cliente Python do Kubernetes. Configure o contexto do cluster para permitir chamadas à API.
  • A partir do ambiente local, verifique a instalação do CLI executando o comando hyp e examinando a saída. O CLI oferece orientação sobre comandos e parâmetros disponíveis.
  • Fluxo de treinamento com o CLI
  • O CLI permite submeter um job de treinamento PyTorch a um cluster SageMaker HyperPod por meio do recurso Kubernetes HyperPodPyTorchJob, implementado pelo operador de treinamento HyperPod.
  • O exemplo envolve construir uma imagem Docker a partir do repositório awsome-distributed-training, autenticar-se no Amazon ECR e enviar a imagem para o registro. O agente elástico do HyperPod dentro do container coordena o ciclo de vida dos workers e se comunica com o operador de treinamento.
  • Você pode adaptar a configuração ajustando os argumentos nos manifests para diferentes LLMs ou configurações de FSDP. Os check points são gravados em /fsx/checkpoints no FSx for Lustre PVC.
  • O CLI oferece um conjunto de argumentos para criar um job PyTorch, que pode ser explorado executando hyp create hyp-pytorch-job e visualizando a ajuda. Após o envio, o status pode ser monitorado com hyp list hyp-pytorch-job e logs dos pods podem ser obtidos para diagnóstico.
  • Fluxo de implantação de inferência
  • O HyperPod CLI pode implantar modelos para inferência em um cluster HyperPod, incluindo JumpStart e modelos personalizados com artefatos no S3 ou FSx for Lustre. A implantação utiliza o operador de inferência HyperPod no cluster e pode criar um endpoint de inferência SageMaker e um ALB com TLS para acesso seguro.
  • Para modelos JumpStart, o comando de implantação retorna DeploymentInProgress e avança para DeploymentComplete quando o endpoint fica pronto. Você pode observar os logs do pod de implantação para depurar e invocar o endpoint pelo CLI.
  • Para modelos personalizados, forneça a localização no S3 dos artefatos e uma imagem de contêiner de inferência compatível com os endpoints do SageMaker. Em seguida, implante o modelo com comandos semelhantes, observe o estado do endpoint e teste a invocação quando estiver pronto. O SDK Python oferece uma rota equivalente programática para ambas as implantações JumpStart e personalizadas. AWS ML Blog
  • Observabilidade e depuração
  • O artigo detalha várias abordagens de depuração: visualizar logs dos pods de treinamento, inspecionar o status dos pods e examinar os recursos do Kubernetes que sustentam os jobs HyperPod. O CLI facilita a obtenção de logs, a listagem de recursos ativos e o monitoramento de progressos tanto em treinamento quanto em inferência.
  • Notas práticas
  • O exemplo de treinamento aborda Meta Llama 3.1 8B com FSDP, configurado via o recurso HyperPodPyTorchJob. Você pode adaptar a configuração ajustando argumentos e parâmetros do modelo. O caminho de implantação mostra como gerar endpoints de inferência e, se desejar, anexar um ALB com TLS para acesso seguro.
  • O artigo também aborda a implantação de TinyLlama 1.1B a partir do S3 usando uma imagem de contêiner DJL Large Model Inference, ilustrando como artefatos remotos podem ser usados com uma imagem de inferência compatível. Em resumo, o CLI e o SDK do HyperPod oferecem um caminho prático e escalável para treinar e implantar grandes modelos no SageMaker HyperPod, com opções de JumpStart e implantações personalizadas, tudo suportado por uma orquestração Kubernetes. AWS ML Blog

Pontos-chave

  • O HyperPod CLI facilita fluxos de trabalho comuns: treinamento, fine-tuning e implantação de inferência.
  • O HyperPod SDK oferece controle programático para configurações de treinamento e implantação.
  • Suporte para treinamento distribuído com FSDP e para implantar modelos para inferência, incluindo JumpStart e modelos personalizados.
  • Endpoints de inferência podem usar ALB com TLS para acesso seguro.
  • Observabilidade e depuração ajudam a manter a confiabilidade de treinamento e inferência em produção.

FAQ

  • Qual é o papel do HyperPod CLI e SDK?

    Eles simplificam o treinamento distribuído e a inferência no SageMaker HyperPod, expondo uma CLI amigável e uma API Python para personalização.

  • ue tipos de modelos e workloads podem ser treinados ou implantados?

    O foco é em LLMs com FSDP e implantação de modelos JumpStart e personalizados com artefatos no S3 ou FSx para Lustre.

  • Como implanto um endpoint de inferência com segurança?

    CLI pode criar automaticamente um endpoint de inferência do SageMaker e um ALB com TLS para acesso via HTTPS.

  • uais são os pré-requisitos?

    Instalar o CLI/SDK 3.1.0, instalar os operadores do Kubernetes no cluster e configurar o contexto do Kubernetes.

  • Como monitoro o progresso de treinamento e implantação?

    Use comandos como hyp list hyp-pytorch-job e hyp list hyp-jumpstart-endpoint e verifique os logs dos pods para diagnóstico.

References

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