Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accedi a un contenitore di formazione tramite AWS Systems Manager il debug remoto
Puoi connetterti in modo sicuro ai container di SageMaker formazione tramite AWS Systems Manager (). SSM Ciò offre un accesso a livello di shell ai processi di debug di formazione in esecuzione all'interno del contenitore. Puoi anche registrare comandi e risposte che vengono trasmessi in streaming ad Amazon CloudWatch. Se usi il tuo Amazon Virtual Private Cloud (VPC) per addestrare un modello, puoi AWS PrivateLink utilizzarlo per configurare un VPC endpoint SSM e connetterti ai container privatamente tramite. SSM
Puoi connetterti a SageMaker AI Framework Containers
Configura le IAM autorizzazioni
Per abilitarlo SSM nel contenitore di SageMaker formazione, devi impostare un IAM ruolo per il contenitore. Per consentire a te o agli utenti del tuo AWS account di accedere ai contenitori di formazioneSSM, devi configurare IAM gli utenti con le autorizzazioni di utilizzoSSM.
IAMRuolo
Affinché un contenitore di SageMaker formazione inizi con l'SSMagente, fornisci un IAM ruolo con SSM autorizzazioni.
Per abilitare il debug remoto per il lavoro di formazione, l' SageMaker intelligenza artificiale deve avviare l'SSMagente nel contenitore di formazione all'inizio del processo di formazione. Per consentire all'SSMagente di comunicare con il SSM servizio, aggiungi la seguente politica al IAM ruolo che utilizzi per eseguire il tuo processo di formazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }
IAMUtente
Aggiungi la seguente politica per fornire a un IAM utente le autorizzazioni di SSM sessione per connettersi a una SSM destinazione. In questo caso, l'SSMobiettivo è un contenitore di SageMaker formazione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
È possibile limitare la connessione IAM degli utenti ai container solo per specifici lavori di formazione aggiungendo la Condition
chiave, come illustrato nel seguente esempio di policy.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": [ "*" ], "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:target-id": [ "sagemaker-training-job:*" ] } } } ] }
È inoltre possibile utilizzare in modo esplicito la chiave sagemaker:EnableRemoteDebug
condition per limitare il debug remoto. Di seguito è riportato un esempio di politica che consente IAM agli utenti di limitare il debug remoto.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyRemoteDebugInTrainingJob", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:UpdateTrainingJob" ], "Resource": "*", "Condition": { "BoolIfExists": { "sagemaker:EnableRemoteDebug": false } } } ] }
Per ulteriori informazioni, consulta Condition keys for Amazon SageMaker AI nel AWS Service Authorization Reference.
Come abilitare il debug remoto per un lavoro di formazione SageMaker
In questa sezione, scopri come abilitare il debug remoto all'avvio o all'aggiornamento di un processo di formazione in Amazon AI. SageMaker
Accedi al tuo contenitore di formazione
È possibile accedere a un contenitore di formazione quando si tratta SecondaryStatus
del lavoro di formazione corrispondenteTraining
. I seguenti esempi di codice mostrano come verificare lo stato del processo di formazione utilizzando i log in DescribeTrainingJob
API CloudWatch, come controllare il processo di formazione e come accedere al contenitore di formazione.
Per verificare lo stato di un lavoro di formazione
Per trovare il nome host di un contenitore di formazione
Per connetterti al contenitore di formazione tramiteSSM, usa questo formato per l'ID di destinazione:sagemaker-training-job:<training-job-name>_algo-<n>
, dove algo-<n>
è il nome dell'host del contenitore. Se il processo è in esecuzione su una singola istanza, l'host lo è semprealgo-1
. Se esegui un processo di formazione distribuito su più istanze, l' SageMaker intelligenza artificiale crea un numero uguale di host e flussi di log. Ad esempio, se utilizzi 4 istanze, l' SageMaker IA crea, algo-1
algo-2
, algo-3
e. algo-4
È necessario determinare il flusso di log di cui si desidera eseguire il debug e il relativo numero di host. Per accedere ai flussi di log associati a un processo di formazione, effettuate le seguenti operazioni.
Apri la console Amazon SageMaker AI all'indirizzo https://console.aws.amazon.com/sagemaker/
. -
Nel riquadro di navigazione a sinistra, scegli Formazione, quindi scegli Training jobs.
-
Dall'elenco dei lavori di formazione, scegli il lavoro di formazione di cui desideri eseguire il debug. Viene visualizzata la pagina dei dettagli del lavoro di formazione.
-
Nella sezione Monitor, scegli Visualizza registri. L'elenco dei relativi registri dei lavori di formazione viene visualizzato nella CloudWatch console.
-
I nomi dei flussi di log vengono visualizzati in un
<training-job-name>/algo-<n>-<time-stamp>
formatoalgo-<n>
che rappresenta il nome host.
Per ulteriori informazioni su come l' SageMaker IA gestisce le informazioni di configurazione per la formazione distribuita a più istanze, consulta Distributed Training Configuration.
Per accedere al contenitore di formazione
Utilizzate il seguente comando nel terminale per avviare la SSM sessione (aws ssm start-session
) e connettervi al contenitore di formazione.
aws ssm start-session --target sagemaker-training-job:
<training-job-name>
_algo-<n>
Ad esempio, se il nome del processo di formazione è training-job-test-remote-debug
e il nome host èalgo-1
, l'ID di destinazione diventasagemaker-training-job:training-job-test-remote-debug_algo-1
. Se l'output di questo comando è simile aStarting session with SessionId:xxxxx
, la connessione ha esito positivo.
SSMaccesso con AWS PrivateLink
Se i tuoi contenitori di formazione vengono eseguiti all'interno di un Amazon Virtual Private Cloud che non è connesso a Internet pubblico, puoi utilizzare AWS PrivateLink per abilitareSSM. AWS PrivateLink limita tutto il traffico di rete tra le istanze degli endpoint SSM e Amazon verso EC2 la rete Amazon. Per ulteriori informazioni su come configurare SSM l'accesso con AWS PrivateLink, consulta Configurare un VPC endpoint Amazon per Session Manager.
Registra i comandi e i risultati SSM della sessione
Dopo aver seguito le istruzioni riportate in Creare un documento delle preferenze di Session Manager (riga di comando), è possibile creare SSM documenti che definiscono le preferenze per le SSM sessioni. È possibile utilizzare SSM i documenti per configurare le opzioni di sessione, tra cui la crittografia dei dati, la durata della sessione e la registrazione. Ad esempio, puoi specificare se archiviare i dati dei log di sessione in un bucket Amazon Simple Storage Service (Amazon S3) o in un gruppo Amazon Logs. CloudWatch Puoi creare documenti che definiscono le preferenze generali per tutte le sessioni per un AWS account o documenti che definiscono le preferenze per le singole sessioni. Regione AWS
Risoluzione dei problemi controllando i log degli errori da SSM
Amazon SageMaker AI carica gli errori dall'SSMagente nei tuoi CloudWatch log nel gruppo di /aws/sagemaker/TrainingJobs
log. SSMi flussi di log degli agenti sono denominati in questo formato:. <job-name>/algo-<n>-<timestamp>/ssm
Ad esempio, se si crea un processo di formazione a due nodi denominatotraining-job-test-remote-debug
, il registro dei lavori di formazione training-job-test-remote-debug/algo-<n>-<timestamp>
e i registri degli errori di più SSM agenti training-job-test-remote-debug/algo-<n>-<timestamp>/ssm
vengono caricati nei registri. CloudWatch In questo esempio, è possibile esaminare i flussi di */ssm
log per risolvere i problemi. 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
Considerazioni
Considera quanto segue quando utilizzi il debug remoto SageMaker AI.
-
Il debug remoto non è supportato per i contenitori di algoritmi AI o per i contenitori di SageMaker AI in poi. SageMaker Marketplace AWS
-
Non è possibile avviare una SSM sessione per contenitori con isolamento di rete abilitato perché l'isolamento impedisce le chiamate di rete in uscita.