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 contenitori di SageMaker formazione tramite AWS Systems Manager (SSM). Ciò offre un accesso a livello di shell per eseguire il debug dei job di addestramento in esecuzione all’interno del container. Puoi anche registrare comandi e risposte trasmessi in streaming ad Amazon CloudWatch. Se usi il tuo Amazon Virtual Private Cloud (VPC) per addestrare un modello, puoi usarlo per configurare un endpoint VPC AWS PrivateLink per SSM e connetterti ai container privatamente tramite SSM.
Puoi connetterti a SageMaker AI Framework Containers
Impostare autorizzazioni IAM
Per abilitare SSM nel tuo contenitore di SageMaker formazione, devi impostare un ruolo IAM per il contenitore. Per consentire a te o agli utenti del tuo AWS account di accedere ai contenitori di formazione tramite SSM, devi configurare gli utenti IAM con le autorizzazioni per utilizzare SSM.
Ruolo IAM
Affinché un contenitore di SageMaker formazione inizi con l'agente SSM, fornisci un ruolo IAM con autorizzazioni SSM.
Per abilitare il debug remoto per il tuo lavoro di formazione, l' SageMaker intelligenza artificiale deve avviare l'agente SSM nel contenitore di formazione all'inizio del processo di formazione. Per consentire all’agente SSM di comunicare con il servizio SSM, aggiungi la seguente policy al ruolo IAM che utilizzi per eseguire il job di addestramento.
Utente IAM
Aggiungi la seguente policy per fornire a un utente IAM le autorizzazioni di sessione SSM per connettersi a una destinazione SSM. In questo caso, l'obiettivo SSM è un contenitore di formazione. SageMaker
È possibile limitare gli utenti IAM a connettersi solo ai container per specifici job di addestramento aggiungendo la chiave Condition, come mostrato nel seguente esempio di policy.
È anche possibile utilizzare in modo esplicito la chiave di condizione sagemaker:EnableRemoteDebug per limitare il debug remoto. Di seguito è riportato un esempio di policy che limita il debug remoto per gli utenti IAM.
Per ulteriori informazioni, consulta Condition keys for Amazon SageMaker AI nel AWSService 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
Accedere a un container di addestramento
È possibile accedere a un container di addestramento quando l’attributo SecondaryStatus del job di addestramento è Training. I seguenti esempi di codice mostrano come controllare lo stato del processo di formazione utilizzando l'DescribeTrainingJobAPI, come controllare gli accessi del processo di formazione e come accedere al CloudWatch contenitore di formazione.
Per controllare lo stato di un job di addestramento
Per trovare il nome host di un container di addestramento
Per connetterti al container di addestramento tramite SSM, utilizza questo formato per l’ID di destinazione: sagemaker-training-job:<training-job-name>_algo-<n>, dove algo-<n> è il nome dell’host del container. Se il job è in esecuzione su una singola istanza, l’host è sempre algo-1. Se esegui un processo di formazione distribuito su più istanze, l' SageMaker IA crea un numero uguale di host e flussi di log. Ad esempio, se utilizzi 4 istanze, l' SageMaker IA crea, algo-1algo-2, algo-3 e. algo-4 È necessario determinare il flusso di log di cui eseguire il debug e il relativo numero di host. Per accedere ai flussi di log associati a un job di addestramento, procedi come segue.
Apri la console Amazon SageMaker AI all'indirizzo https://console.aws.amazon.com/sagemaker/
. -
Nel riquadro di navigazione, scegli Addestramento, quindi Processi di addestramento.
-
Nell’elenco Processi di addestramento seleziona il job di addestramento di cui eseguire il debug. Viene visualizzata la pagina dei dettagli del job di addestramento.
-
Nella sezione Monitoraggio scegli Vedi registri. L'elenco dei relativi registri dei lavori di formazione si apre nella CloudWatch console.
-
I nomi dei flussi di log vengono visualizzati in formato
<training-job-name>/algo-<n>-<time-stamp>, dovealgo-<n>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 container di addestramento
Utilizza il seguente comando nel terminale per avviare la sessione SSM (aws ssm start-session) e connetterti al container di addestramento.
aws ssm start-session --target sagemaker-training-job:<training-job-name>_algo-<n>
Ad esempio, se il nome del job di addestramento è training-job-test-remote-debug e il nome host è algo-1, l’ID di destinazione diventa sagemaker-training-job:training-job-test-remote-debug_algo-1. Se l’output di questo comando è simile a Starting session with SessionId:xxxxx, la connessione ha esito positivo.
Accesso SSM 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 utilizzarli AWS PrivateLink per abilitare SSM. AWS PrivateLinklimita tutto il traffico di rete tra le istanze degli endpoint, SSM e Amazon EC2 alla rete Amazon. Per ulteriori informazioni su come configurare l'accesso SSM conAWS PrivateLink, consulta Configurare un endpoint Amazon VPC per Session Manager.
Registra log di comandi e risultati di una sessione SSM
Dopo aver seguito le istruzioni riportate in Creare un documento di preferenze di Session Manager (riga di comando), è possibile creare documenti SSM che definiscono le preferenze per le sessioni SSM. È possibile utilizzare i documenti SSM per configurare le opzioni della sessione, tra cui la crittografia dei dati, la durata della sessione e la registrazione di log. 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'agente SSM nei tuoi CloudWatch log nel gruppo di log. /aws/sagemaker/TrainingJobs I flussi di log dell’agente SSM sono denominati in questo formato: <job-name>/algo-<n>-<timestamp>/ssm. Ad esempio, se crei un processo di formazione a due nodi denominatotraining-job-test-remote-debug, il registro del processo di formazione training-job-test-remote-debug/algo-<n>-<timestamp> e i log degli errori di più agenti SSM vengono caricati nei tuoi log. training-job-test-remote-debug/algo-<n>-<timestamp>/ssm CloudWatch In questo esempio è possibile esaminare i flussi di log */ssm per risolvere i problemi con 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 usi SageMaker il debug remoto 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 sessione SSM per container con isolamento di rete abilitato, perché l’isolamento impedisce le chiamate di rete in uscita.