Amazon SageMaker HyperPod apresenta suporte ao Amazon EKS


Amazon SageMaker HyperPod apresenta suporte ao Amazon EKS

Hoje, temos o prazer de anunciar Suporte ao Amazon Elastic Kubernetes Service (EKS) no Amazon SageMaker HyperPod — infraestrutura construída especificamente, projetada com resiliência em seu núcleo para desenvolvimento de modelo de fundação (FM). Esse novo recurso permite que os clientes orquestrem clusters HyperPod usando EKS, combinando o poder de Kubernetes com Amazon SageMaker HyperPodambiente resiliente projetado para treinar grandes modelos. O Amazon SageMaker HyperPod ajuda a dimensionar com eficiência em mais de mil aceleradores de inteligência synthetic (IA), reduzindo o tempo de treinamento em até 40%.

O Amazon SageMaker HyperPod agora permite que os clientes gerenciem seus clusters usando uma interface baseada em Kubernetes. Essa integração permite a troca perfeita entre o Slurm e o Amazon EKS para otimizar várias cargas de trabalho, incluindo treinamento, ajuste fino, experimentação e inferência. O complemento CloudWatch Observability EKS fornece recursos de monitoramento abrangentes, oferecendo insights sobre CPU, rede, disco e outras métricas de nó de baixo nível em um painel unificado. Essa observabilidade aprimorada se estende à utilização de recursos em todo o cluster, métricas de nível de nó, desempenho de nível de pod e dados de utilização específicos do contêiner, facilitando a solução de problemas e a otimização eficientes.

Lançado no re:Invent 2023, Amazon SageMaker HyperPod tornou-se uma solução ideally suited para startups e empresas de IA que buscam treinar e implantar modelos em larga escala de forma eficiente. É compatível com Bibliotecas de treinamento distribuídas do SageMakerque oferecem Modelo Paralelo e Dados paralelos otimizações de software program que ajudam a reduzir o tempo de treinamento em até 20%. O SageMaker HyperPod detecta e repara ou substitui automaticamente instâncias defeituosas, permitindo que cientistas de dados treinem modelos ininterruptamente por semanas ou meses. Isso permite que cientistas de dados se concentrem no desenvolvimento de modelos, em vez de gerenciar infraestrutura.

A integração do Amazon EKS com o Amazon SageMaker HyperPod usa as vantagens do Kubernetes, que se tornou common para cargas de trabalho de machine studying (ML) devido à sua escalabilidade e ferramentas ricas de código aberto. As organizações geralmente padronizam o Kubernetes para criar aplicativos, incluindo aqueles necessários para casos de uso de IA generativa, pois ele permite a reutilização de recursos em ambientes, ao mesmo tempo em que atende aos padrões de conformidade e governança. O anúncio de hoje permite que os clientes dimensionem e otimizem a utilização de recursos em mais de mil aceleradores de IA. Essa flexibilidade aprimora a experiência do desenvolvedor, o gerenciamento de aplicativos em contêineres e o dimensionamento dinâmico para cargas de trabalho de treinamento e inferência de FM.

O suporte do Amazon EKS no Amazon SageMaker HyperPod fortalece a resiliência por meio de verificações profundas de integridade, recuperação automatizada de nós e recursos de retomada automática de trabalhos, garantindo treinamento ininterrupto para trabalhos de larga escala e/ou de longa duração. O gerenciamento de trabalhos pode ser simplificado com o opcional HyperPod CLIprojetado para ambientes Kubernetes, embora os clientes também possam usar suas próprias ferramentas CLI. Integração com Insights de contêiner do Amazon CloudWatch fornece observabilidade avançada, oferecendo insights mais profundos sobre desempenho, saúde e utilização do cluster. Além disso, cientistas de dados podem usar ferramentas como o Kubeflow para fluxos de trabalho de ML automatizados. A integração também inclui o MLflow gerenciado pelo Amazon SageMaker, fornecendo uma solução robusta para rastreamento de experimentos e gerenciamento de modelos.

Em um alto nível, o cluster Amazon SageMaker HyperPod é criado pelo administrador da nuvem usando o API de cluster HyperPod e é totalmente gerenciado pelo serviço HyperPod, removendo o trabalho pesado indiferenciado envolvido na construção e otimização da infraestrutura de ML. O Amazon EKS é usado para orquestrar esses nós HyperPod, semelhante a como o Slurm orquestra os nós HyperPod, fornecendo aos clientes uma experiência acquainted de administrador baseada em Kubernetes.

Vamos explorar como começar a usar o suporte do Amazon EKS no Amazon SageMaker HyperPod
Começo por preparar o cenário, verificando o pré-requisitose criando um cluster Amazon EKS com um único AWS CloudFormação empilhar seguindo o Oficina Amazon SageMaker HyperPod EKSconfigurado com VPC e recursos de armazenamento.

Para criar e gerenciar clusters do Amazon SageMaker HyperPod, posso usar o Console de gerenciamento da AWS ou Interface de linha de comando da AWS (AWS CLI). Usando o AWS CLI, especifico minha configuração de cluster em um arquivo JSON. Escolho o cluster Amazon EKS criado anteriormente como o orquestrador do SageMaker HyperPod Cluster. Em seguida, crio os nós de trabalho do cluster que chamo de “worker-group-1”, com um Subnet, NodeRecovery definido para Automated para habilitar a recuperação automática de nós e para OnStartDeepHealthChecks Eu adiciono InstanceStress e InstanceConnectivity para permitir verificações profundas de integridade.

cat > eli-cluster-config.json << EOL
{
    "ClusterName": "example-hp-cluster",
    "Orchestrator": {
        "Eks": {
            "ClusterArn": "${EKS_CLUSTER_ARN}"
        }
    },
    "InstanceGroups": (
        {
            "InstanceGroupName": "worker-group-1",
            "InstanceType": "ml.p5.48xlarge",
            "InstanceCount": 32,
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://${BUCKET_NAME}",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "${EXECUTION_ROLE}",
            "ThreadsPerCore": 1,
            "OnStartDeepHealthChecks": (
                "InstanceStress",
                "InstanceConnectivity"
            ),
        },
  ....
    ),
    "VpcConfig": {
        "SecurityGroupIds": (
            "$SECURITY_GROUP"
        ),
        "Subnets": (
            "$SUBNET_ID"
        )
    },
    "ResilienceConfig": {
        "NodeRecovery": "Automated"
    }
}
EOL

Você pode adicionar Configurações de armazenamento de instância para provisionar e montar um adicional Volumes do Amazon EBS em nós HyperPod.

Para criar o cluster usando o APIs do SageMaker HyperPodexecuto o seguinte comando AWS CLI:

aws sagemaker create-cluster  
--cli-input-json file://eli-cluster-config.json

O comando AWS retorna o ARN do novo cluster HyperPod.

{
"ClusterArn": "arn:aws:sagemaker:us-east-2:ACCOUNT-ID:cluster/wccy5z4n4m49"
}

Em seguida, verifico o standing do cluster HyperPod no Console do SageMakeraguardando até que o standing mude para InService.

Como alternativa, você pode verificar o standing do cluster usando o AWS CLI executando o describe-cluster comando:

aws sagemaker describe-cluster --cluster-name my-hyperpod-cluster

Assim que o cluster estiver pronto, posso acessar os nós do cluster SageMaker HyperPod. Para a maioria das operações, posso usar kubectl comandos para gerenciar recursos e trabalhos do meu ambiente de desenvolvimento, usando todo o poder da orquestração do Kubernetes enquanto se beneficia da infraestrutura gerenciada do SageMaker HyperPod. Nesta ocasião, para solução de problemas avançada ou acesso direto ao nó, eu uso Gerente de sistemas da AWS (SSM) para efetuar login em nós individuais, seguindo as instruções no Acesse os nós do cluster SageMaker HyperPod página.

Para executar trabalhos no cluster SageMaker HyperPod orquestrado pelo EKS, sigo as etapas descritas no Executar trabalhos no cluster SageMaker HyperPod por meio da página Amazon EKS. Você pode usar o HyperPod CLI e o nativo kubectl comando para encontrar clusters HyperPod disponíveis e enviar trabalhos de treinamento (Pods). Para gerenciar experimentos de ML e execuções de treinamento, você pode usar Operador de treinamento Kubeflow, Kueue e MLflow gerenciado pelo Amazon SageMaker.

Por fim, no console do SageMaker, posso visualizar o Standing e Versão do Kubernetes de clusters EKS adicionados recentemente, fornecendo uma visão geral abrangente do meu ambiente SageMaker HyperPod.

E posso monitorar o desempenho do cluster e as métricas de integridade usando Insights de contêiner do Amazon CloudWatch.

Coisas a saber
Aqui estão algumas coisas importantes que você deve saber sobre o suporte do Amazon EKS no Amazon SageMaker HyperPod:

Ambiente Resiliente – Esta integração fornece um ambiente de treinamento mais resiliente com verificações profundas de integridade, recuperação automatizada de nós e retomada automática de tarefas. O SageMaker HyperPod detecta, diagnostica e recupera falhas automaticamente, permitindo que você treine continuamente modelos de base por semanas ou meses sem interrupção. Isso pode reduzir o tempo de treinamento em até 40%.

Observabilidade aprimorada da GPU Insights de contêiner do Amazon CloudWatch fornece métricas e logs detalhados para seus aplicativos e microsserviços em contêineres. Isso permite o monitoramento abrangente do desempenho e da saúde do cluster.

Ferramenta amigável para cientistas – Este lançamento inclui um HyperPod CLI personalizado para gerenciamento de tarefas, Kubeflow Coaching Operators para treinamento distribuído, Kueue para agendamento e integração com o SageMaker Managed MLflow para rastreamento de experimentos. Ele também funciona com as bibliotecas de treinamento distribuídas do SageMaker, que fornecem otimizações Mannequin Parallel e Knowledge Parallel para reduzir significativamente o tempo de treinamento. Essas bibliotecas, combinadas com a retomada automática de tarefas, permitem o treinamento eficiente e ininterrupto de grandes modelos.

Utilização Flexível de Recursos – Esta integração aprimora a experiência do desenvolvedor e a escalabilidade para cargas de trabalho de FM. Cientistas de dados podem compartilhar eficientemente a capacidade de computação entre tarefas de treinamento e inferência. Você pode usar seus clusters Amazon EKS existentes ou criar e anexar novos ao HyperPod compute, trazer suas próprias ferramentas para envio de trabalhos, enfileiramento e monitoramento.

Para começar a usar o Amazon SageMaker HyperPod no Amazon EKS, você pode explorar recursos como o Oficina SageMaker HyperPod EKSo projeto aws-do-hyperpode o projeto de treinamento distribuído incrível. Esta versão está disponível geralmente nas regiões da AWS onde o Amazon SageMaker HyperPod está disponível, exceto Europa (Londres). Para obter informações sobre preços, visite o Página de preços do Amazon SageMaker.

Este put up de weblog foi um esforço colaborativo. Gostaria de agradecer a Manoj Ravi, Adhesh Garg, Tomonori Shimomura, Alex Iankoulski, Anoop Saha e toda a equipe por suas contribuições significativas na compilação e no refinamento das informações apresentadas aqui. Sua experience coletiva foi essential na criação deste artigo abrangente.

Eli.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *