Salta al contenuto

Come posso controllare l'utilizzo delle risorse della mia istanza del notebook SageMaker AI?

4 minuti di lettura
0

Ho avviato un'istanza del notebook Amazon SageMaker AI per addestrare modelli o caricare set di dati di grandi dimensioni e l'istanza del notebook sembra essere bloccata. Non riesco a visualizzare l'utilizzo delle risorse della mia istanza SageMaker AI.

Risoluzione

Quando le istanze del browser o del notebook SageMaker non rispondono, esegui un comando Amazon Linux o rivedi le metriche di Amazon CloudWatch per visualizzare l'allocazione delle risorse.

Esegui un comando Linux per visualizzare l'utilizzo delle risorse di SageMaker AI

Completa i seguenti passaggi:

  1. Apri la console SageMaker AI.
  2. Nel pannello di navigazione, seleziona Istanze notebook.
  3. Accanto all'istanza del notebook SageMaker AI, apri Jupyter o JupyterLab.
  4. Apri il terminale.
  5. Esegui questi comandi per visualizzare l'allocazione delle risorse.
    Memoria di sistema disponibile e carico del processore:
    top
    Attività in esecuzione e carico del processore:
    ps -ax
    Utilizzo dello spazio su disco e disponibilità:
    df -h
    Utilizzo della RAM e disponibilità:
    free -m

Utilizza le metriche di CloudWatch per visualizzare l'utilizzo delle risorse di SageMaker AI

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Utilizza uno script del ciclo di vita. Ad esempio, lo script publish-instance-metrics pubblica le metriche a livello di sistema dall'istanza del notebook su CloudWatch. Per ulteriori informazioni, consulta publish-instance-metrics sul sito web di GitHub.

Nota: per inviare le metriche delle istanze a CloudWatch, le istanze devono assumere un ruolo di esecuzione di AWS Identity and Access Management (AWS IAM). Aggiungi l'autorizzazione cloudwatch:PutMetricData alla policy IAM collegata al ruolo di esecuzione.

Esempio di policy:

{   
   "Version": "2012-10-17",   
   "Statement": [   
     {   
            "Effect":   
            "Allow",   
            "Action": [   
                "cloudwatch:PutMetricData"   
            ],   
            "Resource": "*"   
            }   
     ]   
}

Quando attivi CloudWatch Logs per la configurazione del ciclo di vita, utilizza un ruolo SageMaker con le seguenti autorizzazioni:

{   
   "Version": "2012-10-17",   
   "Statement": [   
     {   
            "Effect":   
            "Allow",   
            "Action": [   
                "logs:CreateLogDelivery",   
                "logs:CreateLogGroup",    
                "logs:CreateLogStream",   
                "logs:DeleteLogDelivery",   
                "logs:Describe*",   
                "logs:GetLogDelivery",   
                "logs:GetLogEvents",   
                "logs:ListLogDeliveries",   
                "logs:PutLogEvents",   
                "logs:PutResourcePolicy",   
                "logs:UpdateLogDelivery"   
            ],   
            "Resource": "*"   
            }  
    ]   
}

Assicurati che l'istanza del notebook sia connessa a Internet per ottenere il file di configurazione amazon-cloudwatch-agent.json in modo che lo script non abbia esito negativo. Se il notebook non ha accesso a Internet, scarica manualmente il file .json da GitHub sul computer locale. Carica il file in un bucket Amazon Simple Storage Service (Amazon S3), quindi modifica il codice bash per copiare il file di configurazione dal bucket S3. Nello script LLC on-start.sh, esegui il comando wget per rimuovere la riga che utilizza il comando wget. Quindi aggiungi il comando AWS CLI s3 cp per copiare il file .json dal bucket S3 in una directory. È consigliabile inserire il file dell'agente CloudWatch in una directory, quindi eseguire questo comando per avviare l'agente:

``/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a \
append-config -m ec2 -c file://$(pwd)/amazon-cloudwatch-agent.json

Assicurati di creare gli endpoint del cloud privato virtuale (VPC) di interfaccia in modo da poter accedere ad altri servizi AWS, come Amazon S3 e CloudWatch.

Configura il notebook SageMaker AI per visualizzare le metriche di CloudWatch

Completa i seguenti passaggi:

  1. Apri la console SageMaker AI.

  2. Nel pannello di navigazione, seleziona Istanze notebook.

  3. Accanto al notebook SageMaker, apri Jupyter o Jupyterlab.

  4. Apri il terminale.

  5. Esegui questo comando per aprire amazon-cloudwatch-agent-config-wizard:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  6. Segui i passaggi della procedura guidata e, quando richiesto, completa questi passaggi:
    Scegli On-premises host (Host on-premises).
    Per StatsD Daemon (Daemon StatsD), scegli no.
    Per CollectD, scegli no.

  7. Esegui questo comando per avviare l'agente CloudWatch sul server e includi il file config.json creato dalla procedura guidata:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:///opt/aws/amazon-cloudwatch-agent/bin/config.json -s
  8. Apri la console CloudWatch.

  9. Scegli Metriche, quindi scegli CWAgent per visualizzare le metriche di SageMaker AI.

Per visualizzare altri esempi di script di configurazione del ciclo di vita di AWS per notebook SageMaker AI, consulta amazon-sagemaker-notebook-instance-lifecycle-config-samples sul sito web di GitHub.

Informazioni correlate

Metriche per il monitoraggio di Amazon SageMaker AI con Amazon CloudWatch

Metriche raccolte dall'agente CloudWatch

Strumenti per il monitoraggio delle risorse AWS allocate durante l'utilizzo di Amazon SageMaker AI

Terminals (Terminali) sul sito web di JupyterLab