Ponto de verificação de nível gerenciado do HyperPod
Esta seção explica como funciona o ponto de verificação de nível gerenciado e os benefícios que ele oferece para o treinamento de modelo em grande escala.
O ponto de verificação de nível gerenciado do Amazon SageMaker HyperPod ajuda você a treinar modelos de IA generativa em grande escala com maior eficiência. Ele usa vários níveis de armazenamento, inclusive a memória da CPU do cluster. Essa abordagem reduz o tempo de recuperação e minimiza a perda no andamento do treinamento. Ela também usa recursos de memória subutilizados na infraestrutura de treinamento.
O ponto de verificação de nível gerenciado permite salvar pontos de verificação com maior frequência na memória. Ele os mantém periodicamente em um armazenamento durável. Isso preserva o desempenho e a confiabilidade durante o processo de treinamento.
Este guia mostra como instalar, configurar e usar pontos de verificação de nível gerenciado com frameworks PyTorch em clusters do Amazon EKS no HyperPod.
Como funciona o ponto de verificação de nível gerenciado
O ponto de verificação de nível gerenciado usa uma abordagem de armazenamento de vários níveis. A memória da CPU serve como uma camada principal para armazenar pontos de verificação do modelo. Os níveis secundários incluem opções de armazenamento persistente, como o Amazon S3.
Quando você salva um ponto de verificação, o sistema o armazena no espaço de memória alocado nos nós do cluster. Ele replica automaticamente os dados em nós de computação adjacentes para aumentar a confiabilidade. Essa estratégia de replicação oferece proteção contra falhas de um ou vários nós, ao mesmo tempo em que fornece acesso rápido às operações de recuperação.
O sistema também salva periodicamente os pontos de verificação no armazenamento persistente de acordo com sua configuração. Isso garante a durabilidade a longo prazo do andamento do treinamento.
Os principais componentes incluem:
-
Sistema de gerenciamento de memória: um daemon de gerenciamento de memória que fornece memória desagregada como um serviço para armazenamento de pontos de verificação.
-
Biblioteca Python do HyperPod: faz interface com as APIs de armazenamento desagregado e fornece utilitários para salvar, carregar e gerenciar pontos de verificação em vários níveis.
-
Replicação de pontos de verificação: replica automaticamente os pontos de verificação em vários nós para tolerância a falhas
O sistema se integra perfeitamente aos ciclos de treinamento do PyTorch por meio de chamadas de API simples. Alterações mínimas são necessárias no código existente.
Benefícios
O ponto de verificação de nível gerenciado oferece várias vantagens para o treinamento de modelo em grande escala:
-
Usabilidade aprimorada: as operações de salvamento, replicação, persistência e recuperação do ponto de verificação são gerenciadas.
-
Operações de ponto de verificação mais rápidas: o armazenamento baseado em memória oferece tempos de salvamento e carregamento mais rápidos em comparação com o ponto de verificação baseado em disco, o que agiliza a recuperação.
-
Tolerância a falhas: a replicação automática de pontos de verificação entre nós oferece proteção contra falhas nos nós de hardware.
-
Alterações mínimas no código: devido à facilidade de integração da API, apenas pequenas modificações são necessárias nos scripts de treinamento existentes.
-
Melhor throughput de treinamento: a redução da sobrecarga do ponto de verificação significa mais tempo dedicado ao treinamento em si.