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 per 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 i comandi e le risposte trasmessi in streaming ad Amazon. CloudWatch Se utilizzi il tuo Amazon Virtual Private Cloud (VPC) per addestrare un modello, puoi utilizzarlo AWS PrivateLink per configurare un endpoint VPC per SSM e connetterti ai contenitori 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. Affinché tu o gli utenti del tuo AWS account possiate accedere ai contenitori di formazione tramite SSM, devi configurare gli utenti IAM con le autorizzazioni per l'uso di 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 processo di formazione, l' SageMaker IA 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 le chiavi di condizione per Amazon SageMaker AI nel AWS Service Authorization Reference.
Come abilitare il debug remoto per un SageMaker lavoro di formazione
In questa sezione, scopri come abilitare il debug remoto all'avvio o all'aggiornamento di un lavoro 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 verificare lo stato del processo di formazione utilizzando l'DescribeTrainingJobAPI, come controllare gli accessi al processo di formazione e come accedere al contenitore di formazione. CloudWatch
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 intelligenza artificiale crea un numero uguale di host e flussi di log. Ad esempio, se utilizzi 4 istanze, SageMaker AI 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. Nella CloudWatch console viene visualizzato il relativo elenco dei log dei job di formazione.
-
I nomi dei flussi di log vengono visualizzati in formato
<training-job-name>/algo-<n>-<time-stamp>, dovealgo-<n>rappresenta il nome host.
Per saperne di più su come l' SageMaker IA gestisce le informazioni di configurazione per la formazione distribuita su più istanze, vedi 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 non connesso a Internet pubblico, puoi utilizzarlo AWS PrivateLink per abilitare SSM. AWS PrivateLink limita tutto il traffico di rete tra le tue istanze endpoint, SSM e Amazon EC2 alla rete Amazon. Per ulteriori informazioni su come configurare l'accesso SSM con AWS 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 del registro delle sessioni in un bucket Amazon Simple Storage Service (Amazon S3) o in un gruppo Amazon Logs. CloudWatch È possibile creare documenti che definiscono le preferenze generali per tutte le sessioni di un AWS account e/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 /aws/sagemaker/TrainingJobs log. I flussi di log dell’agente SSM sono denominati in questo formato: <job-name>/algo-<n>-<timestamp>/ssm. Ad esempio, se crei un job di training a due nodi denominatotraining-job-test-remote-debug, il log del training job training-job-test-remote-debug/algo-<n>-<timestamp> e diversi log degli errori degli agenti SSM training-job-test-remote-debug/algo-<n>-<timestamp>/ssm vengono caricati nei tuoi log. 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
Quando utilizzi il debug remoto SageMaker AI, considera quanto segue.
-
Il debug remoto non è supportato per i contenitori di algoritmi SageMaker AI o per i contenitori dall'IA in poi. SageMaker AWS Marketplace
-
Non è possibile avviare una sessione SSM per container con isolamento di rete abilitato, perché l’isolamento impedisce le chiamate di rete in uscita.