Encontre mais informações e referências sobre o uso do Amazon SageMaker Debugger nos tópicos a seguir.
Tópicos
APIs do Amazon SageMaker Debugger
O Amazon SageMaker Debugger tem operações de API em vários locais, usadas para implementar o monitoramento e a análise de treinamento de modelos.
O Amazon SageMaker Debugger também fornece o SDK Python sagemaker-debugger
O Amazon SageMaker Python SDKSMDebug
para monitorar e analisar esses tensores usando estimadores do SageMaker.
O Depurador adicionou operações e tipos à API do Amazon SageMaker que permitem que a plataforma use o Depurador ao treinar um modelo e para gerenciar a configuração de entradas e saídas.
-
CreateTrainingJob
eUpdateTrainingJob
use as seguintes APIs do Depurador para configurar coleções de tensores, regras, imagens de regras e opções de perfis: -
DescribeTrainingJob
fornece uma descrição completa de um trabalho de treinamento, incluindo as seguintes configurações do Depurador e os status de avaliação de regras:
As operações de API da configuração de regras usam a funcionalidade de processamento do SageMaker ao analisar o treinamento de modelos. Para obter mais informações sobre os trabalhos de processamento do SageMaker, consulte Workloads de transformação de dados com o SageMaker Processing.
Imagens do Docker para regras do Depurador
O Amazon SageMaker fornece dois conjuntos de imagens do Docker para regras: um conjunto para avaliar regras fornecidas pelo SageMaker (regras integradas) e um conjunto para avaliar regras personalizadas fornecidas nos arquivos de origem Python.
Se você usa o Amazon SageMaker Python SDKConfigureTrainingJob
.
Se você não estiver usando o SageMaker Python SDK, precisará recuperar uma imagem base de contêiner pré-criada relevante para as regras do Debugger. O Amazon SageMaker Debugger fornece imagens pré-criadas do Docker para regras integradas e personalizadas, e as imagens são armazenadas no Amazon Elastic Container Registry (Amazon ECR). Para extrair uma imagem de um repositório Amazon ECR (ou enviar uma imagem para um), use o URL de registro do nome completo da imagem usando a API CreateTrainingJob
. O SageMaker usa os seguintes padrões de URL para o endereço de registro da imagem do contêiner da regra do Debugger:
<account_id>.dkr.ecr.<Region>.amazonaws.com/<ECR repository name>:<tag>
Para obter o ID da conta em cada região da AWS, o nome de repositório do Amazon ECR e o valor de tag, consulte os tópicos a seguir.
Tópicos
URLs de registro do Amazon SageMaker Debugger para avaliadores de regras integrados
Use os seguintes valores para os componentes de URLs de registro referente às imagens que fornecem regras integradas para o Amazon SageMaker Debugger: Para IDs de conta, consulte a tabela a seguir.
Nome do repositório do ECR: sagemaker-debugger-rules
Tag: mais recente
Exemplo de URL de registro completo:
904829902805.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rules:latest
IDs de conta para imagens de contêiner de regras integradas por região AWS
Região | account_id |
---|---|
af-south-1 |
314341159256 |
ap-east-1 |
199566480951 |
ap-northeast-1 |
430734990657 |
ap-northeast-2 |
578805364391 |
ap-south-1 |
904829902805 |
ap-southeast-1 |
972752614525 |
ap-southeast-2 |
184798709955 |
ca-central-1 |
519511493484 |
cn-north-1 |
618459771430 |
cn-northwest-1 |
658757709296 |
eu-central-1 |
482524230118 |
eu-north-1 |
314864569078 |
eu-south-1 |
563282790590 |
eu-west-1 |
929884845733 |
eu-west-2 |
250201462417 |
eu-west-3 |
447278800020 |
me-south-1 |
986000313247 |
sa-east-1 |
818342061345 |
us-east-1 |
503895931360 |
us-east-2 |
915447279597 |
us-west-1 |
685455198987 |
us-west-2 |
895741380848 |
us-gov-west-1 |
515509971035 |
URLs de registro do Amazon SageMaker Debugger para avaliadores de regras personalizadas.
Use os valores a seguir para os componentes do URL de registro referente às imagens que fornecem avaliadores de regras personalizadas para o Amazon SageMaker Debugger. Para IDs de conta, consulte a tabela a seguir.
Nome do repositório do ECR: sagemaker-debugger-rule-evaluator
Tag: mais recente
Exemplo de URL de registro completo:
552407032007.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rule-evaluator:latest
IDs de conta para imagens de contêiner de regras personalizadas por região AWS
Região | account_id |
---|---|
af-south-1 |
515950693465 |
ap-east-1 |
645844755771 |
ap-northeast-1 |
670969264625 |
ap-northeast-2 |
326368420253 |
ap-south-1 |
552407032007 |
ap-southeast-1 |
631532610101 |
ap-southeast-2 |
445670767460 |
ca-central-1 |
105842248657 |
cn-north-1 |
617202126805 |
cn-northwest-1 |
658559488188 |
eu-central-1 |
691764027602 |
eu-north-1 |
091235270104 |
eu-south-1 |
335033873580 |
eu-west-1 |
606966180310 |
eu-west-2 |
074613877050 |
eu-west-3 |
224335253976 |
me-south-1 |
050406412588 |
sa-east-1 |
466516958431 |
us-east-1 |
864354269164 |
us-east-2 |
840043622174 |
us-west-1 |
952348334681 |
us-west-2 |
759209512951 |
us-gov-west-1 |
515361955729 |
Exceções do Amazon SageMaker Debugger
O Amazon SageMaker Debugger é projetado para estar ciente de que os tensores necessários para executar uma regra podem não estar disponíveis em cada etapa. Como resultado, ele abre algumas exceções que permitem que você controle o que acontece quando um tensor está ausente. Essas exceções estão disponíveis no módulo smdebug.exceptions
from smdebug.exceptions import *
As seguintes exceções estão disponíveis:
-
TensorUnavailableForStep
: O tensor solicitado não está disponível para a etapa. Isso pode significar que essa etapa pode não ser salva pelo hook, ou que essa etapa pode ter salvo alguns tensores, mas o tensor solicitado não faz parte deles. Observe que quando você vê essa exceção, isso significa que esse tensor pode nunca ficar disponível para essa etapa no futuro. Se o tensor tiver reduções salvas para a etapa, ele notificará que elas podem ser consultadas. -
TensorUnavailable
: Este tensor não está sendo salvo ou não foi salvo pela API desmdebug
. Isso significa que esse tensor nunca é visto para nenhuma etapa nasmdebug
. -
StepUnavailable
: A etapa não foi salva e o Depurador não tem os dados da etapa. -
StepNotYetAvailable
: A etapa ainda não foi vista porsmdebug
. Pode estar disponível no futuro se o treinamento ainda estiver em andamento. O Depurador carrega automaticamente novos dados assim que se tornam disponíveis. -
NoMoreData
: Gerado quando o treinamento termina. Ao ver isso, você saberá que não há mais etapas e nem tensores a serem salvos. -
IndexReaderException
: O leitor de índice não é válido. -
InvalidWorker
: Um operador que não era válido foi invocado. -
RuleEvaluationConditionMet
: A avaliação da regra na etapa resultou no cumprimento da condição. -
InsufficientInformationForRuleInvocation
: Informações insuficientes foram fornecidas para invocar a regra.
Treinamento distribuído compatível com o Amazon SageMaker Debugger
A listagem a seguir mostra o escopo de validade e as considerações sobre o uso do Depurador em trabalhos de treinamento com frameworks de aprendizado profundo e várias opções de treinamento distribuído.
-
Horovod
Escopo de validade do uso do Depurador para trabalhos de treinamento com Horovod
Frameworks de aprendizado profundo Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow 2.x com Keras PyTorch Gargalos do sistema de monitoramento Sim Sim Sim Sim Sim Operações de framework perfilador Não Não Não Sim Sim Tensores de saída do modelo de depuração Sim Sim Sim Sim Sim -
Dados em paralelo distribuídos do SageMaker
Escopo de validade do uso do Depurador para trabalhos de treinamento com dados do SageMaker distribuídos em paralelo
Frameworks de aprendizado profundo TensorFlow 2.x TensorFlow 2.x com Keras PyTorch Gargalos do sistema de monitoramento Sim Sim Sim Operações de framework perfilador Não* Não* Sim Tensores de saída do modelo de depuração Sim Sim Sim * O Depurador não oferece apoio à criação de perfis de framework para o TensorFlow 2.x.
** Os dados distribuídos em paralelo do SageMaker não é compatível comm a implantação do TensorFlow 2.x com Keras.
-
Paralelismo do modelo distribuído do SageMaker: O Depurador não é compatível com o treinamento em paralelo do modelo distribuído do SageMaker.
-
Treinamento distribuído com pontos de verificação do SageMaker: O Depurador não está disponível para trabalhos de treinamento quando a opção de treinamento distribuído e os pontos de verificação do SageMaker estão habilitados. Você verá um erro parecido com o seguinte:
SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled
Para usar o Depurador em trabalhos de treinamento com opções de treinamento distribuídas, você deve desabilitar o ponto de verificação do SageMaker e adicionar funções de ponto de verificação manual ao seu script de treinamento. Para obter mais informações sobre como usar o Depurador com opções de treinamento e pontos de verificação distribuídos, consulte Uso de dados distribuídos do SageMaker em paralelo com o Amazon SageMaker Debugger e os pontos de verificação e Salvando pontos de verificação.
-
Servidor de parâmetros: O depurador não oferece apoio ao treinamento distribuído baseado em servidor de parâmetros.
-
As operações de perfis do framework de treinamento, como a operação
AllReduced
do paralelismo de dados distribuídos do Sagemaker e as operações Horovodestão disponíveis.