As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acesse um contêiner de treinamento AWS Systems Manager para depuração remota
Você pode se conectar com segurança aos contêineres de SageMaker treinamento por meio do AWS Systems Manager (SSM). Isso dá a você um acesso em nível de shell às tarefas de treinamento de depuração que estão sendo executadas no contêiner. Você também pode registrar comandos e respostas que são transmitidos para a Amazon CloudWatch. Se você usa sua própria Amazon Virtual Private Cloud (VPC) para treinar um modelo, você pode usá-la para configurar um endpoint de VPC AWS PrivateLink para SSM e conectar-se a contêineres de forma privada por meio do SSM.
Você pode se conectar aos contêineres do SageMaker AI Framework
Configurar permissões do IAM
Para habilitar o SSM em seu contêiner de SageMaker treinamento, você precisa configurar uma função do IAM para o contêiner. Para que você ou os usuários da sua AWS conta acessem os contêineres de treinamento por meio do SSM, você precisa configurar os usuários do IAM com permissões para usar o SSM.
Perfil do IAM
Para que um contêiner de SageMaker treinamento comece com o agente SSM, forneça uma função do IAM com permissões de SSM.
Para habilitar a depuração remota para seu trabalho de treinamento, a SageMaker IA precisa iniciar o agente SSM no contêiner de treinamento quando o trabalho de treinamento é iniciado. Para permitir que o agente SSM se comunique com o serviço do SSM, adicione a política a seguir ao perfil do IAM que você usa para executar seu trabalho de treinamento.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }
IAM user (Usuário do IAM)
Adicione a política a seguir para dar a um usuário do IAM permissões de sessão SSM para se conectar a um destino SSM. Nesse caso, o alvo do SSM é um contêiner de SageMaker treinamento.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Você pode restringir os usuários do IAM a se conectarem somente a contêineres para trabalhos de treinamento específicos adicionando a chave Condition
, conforme mostrado no exemplo de política a seguir.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": [ "*" ], "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:target-id": [ "sagemaker-training-job:*" ] } } } ] }
Você também pode usar explicitamente a chave de condição sagemaker:EnableRemoteDebug
para restringir a depuração remota. Veja a seguir um exemplo de política para os usuários do IAM restringirem a depuração remota.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyRemoteDebugInTrainingJob", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:UpdateTrainingJob" ], "Resource": "*", "Condition": { "BoolIfExists": { "sagemaker:EnableRemoteDebug": false } } } ] }
Para obter mais informações, consulte Chaves de condição para Amazon SageMaker AI na Referência AWS de autorização de serviço.
Como habilitar a depuração remota para um trabalho de treinamento SageMaker
Nesta seção, saiba como habilitar a depuração remota ao iniciar ou atualizar um trabalho de treinamento na Amazon AI. SageMaker
Acesse seu contêiner de treinamento
Você pode acessar um contêiner de treinamento quando o SecondaryStatus
do trabalho de treinamento correspondente for Training
. Os exemplos de código a seguir demonstram como verificar o status do seu trabalho de treinamento usando a DescribeTrainingJob
API, como verificar os registros do trabalho de treinamento e como fazer login no contêiner de treinamento. CloudWatch
Conferir o status de um trabalho de treinamento
Encontrar o nome do host de um contêiner de treinamento
Para se conectar ao contêiner de treinamento por meio do SSM, use esse formato para o ID de destino: sagemaker-training-job:<training-job-name>_algo-<n>
, onde algo-<n>
é o nome do host do contêiner. Se seu trabalho estiver sendo executado em uma única instância, o host será semprealgo-1
. Se você executa um trabalho de treinamento distribuído em várias instâncias, a SageMaker IA cria um número igual de hosts e fluxos de log. Por exemplo, se você usar 4 instâncias, a SageMaker IA cria algo-1
algo-2
algo-3
,, algo-4
e. Você deve determinar qual fluxo de log deseja depurar e seu número de host. Para acessar os fluxos de logs associados a uma tarefa de treinamento, faça o seguinte:
Abra o console do Amazon SageMaker AI em https://console.aws.amazon.com/sagemaker/
. -
No painel de navegação à esquerda, selecione Treinamento e Trabalhos de treinamento.
-
Na lista de trabalhos de treinamento, selecione o trabalho de treinamento que você deseja depurar. A página de detalhes do trabalho de treinamento abre.
-
Na seção Monitor, escolha Exibir logs. A lista de streams do registro de tarefas de treinamento relacionado é aberta no CloudWatch console.
-
Os nomes dos fluxos de log aparecem no formato
<training-job-name>/algo-<n>-<time-stamp>
, comalgo-<n>
representando o nome do host.
Para saber mais sobre como a SageMaker IA gerencia as informações de configuração para treinamento distribuído em várias instâncias, consulte Configuração de treinamento distribuído.
Acessar o contêiner de treinamento
Use o comando a seguir no terminal para iniciar a sessão SSM (aws ssm start-session
) e conectar-se ao contêiner de treinamento.
aws ssm start-session --target sagemaker-training-job:
<training-job-name>
_algo-<n>
Por exemplo, se o nome do trabalho de treinamento for training-job-test-remote-debug
e o nome do host for algo-1
, o ID de destino será sagemaker-training-job:training-job-test-remote-debug_algo-1
. Se a saída desse comando for semelhante a Starting session with SessionId:xxxxx
, a conexão será bem-sucedida.
Acesso SSM com AWS PrivateLink
Se seus contêineres de treinamento forem executados em uma Amazon Virtual Private Cloud que não esteja conectada à Internet pública, você poderá usá-los AWS PrivateLink para habilitar o SSM. AWS PrivateLink restringe todo o tráfego de rede entre suas instâncias de endpoint, SSM e Amazon EC2 à rede Amazon. Para obter mais informações sobre como configurar o acesso SSM com AWS PrivateLink, consulte Configurar um endpoint Amazon VPC para o Session Manager.
Registrar em log comandos e resultados de sessão do SSM
Depois de seguir as instruções em Criar um documento de preferências do gerenciador de sessões (linha de comando), você pode criar documentos SSM que definam suas preferências para sessões SSM. É possível usar os documentos SSM para configurar as opções da sessão, inclusive criptografia de dados, duração da sessão e registro em log. Por exemplo, você pode especificar se deseja armazenar dados de log de sessão em um bucket do Amazon Simple Storage Service (Amazon S3) ou em um grupo Amazon CloudWatch Logs. Você pode criar documentos que definam preferências gerais para todas as sessões de uma AWS conta e/ou documentos que definam preferências para sessões individuais. Região da AWS
Solução de problemas verificando os logs de erros do SSM
O Amazon SageMaker AI carrega erros do agente SSM para seus CloudWatch registros no grupo de /aws/sagemaker/TrainingJobs
registros. Os fluxos de log do agente SSM são nomeados neste formato: <job-name>/algo-<n>-<timestamp>/ssm
. Por exemplo, se você criar um trabalho de treinamento de dois nós chamadotraining-job-test-remote-debug
, o registro do trabalho de treinamento training-job-test-remote-debug/algo-<n>-<timestamp>
e vários registros de erros do agente SSM training-job-test-remote-debug/algo-<n>-<timestamp>/ssm
serão enviados para seus CloudWatch registros. Neste exemplo, você pode revisar os fluxos de log */ssm
para solucionar problemas de SSM.
training-job-test-remote-debug/algo-1-1680535238 training-job-test-remote-debug/algo-2-1680535238 training-job-test-remote-debug/algo-1-1680535238/ssm training-job-test-remote-debug/algo-2-1680535238/ssm
Considerações
Considere o seguinte ao usar a depuração remota de SageMaker IA.
-
A depuração remota não é compatível com contêineres de algoritmos de SageMaker IA ou contêineres com IA em diante. SageMaker AWS Marketplace
-
Você não pode iniciar uma sessão de SSM para contêineres que tenham o isolamento de rede ativado porque o isolamento impede chamadas de rede de saída.