Riferimenti per Amazon SageMaker Debugger - Amazon SageMaker AI

Riferimenti per Amazon SageMaker Debugger

Trova ulteriori informazioni e riferimenti sull’utilizzo di Amazon SageMaker Debugger nei seguenti argomenti.

API Amazon SageMaker Debugger

Debugger Amazon SageMaker dispone di operazioni API in diverse posizioni che vengono utilizzate per implementare il monitoraggio e l'analisi del addestramento sui modelli.

Debugger Amazon SageMaker fornisce anche sagemaker-debugger Python SDK open source utilizzato per configurare regole integrate, definire regole personalizzate e registrare hook per raccogliere dati tensoriali di output dai processi di addestramento.

Amazon SageMaker AI Python SDK è un SDK di alto livello incentrato sulla sperimentazione con il machine learning. L’SDK può essere utilizzato per implementare regole integrate o personalizzate definite con la libreria SMDebug Python per monitorare e analizzare questi tensori utilizzando gli strumenti di stima SageMaker AI.

Debugger ha aggiunto tipi e operazioni all'API Amazon Sagemaker che consentono alla piattaforma di utilizzare Debugger durante l’addestramento di un modello e di gestire la configurazione di input e output.

Le operazioni dell'API di configurazione delle regole utilizzano la funzionalità di elaborazione SageMaker durante l'analisi dell'addestramento di un modello. Per ulteriori informazioni sui processi di elaborazione Sagemaker, consulta Carichi di lavoro di trasformazione dei dati con SageMaker Processing.

Immagini Docker per le regole di Debugger

Amazon SageMaker AI fornisce due set di immagini Docker per le regole: un set di regole di valutazione fornite da SageMaker AI (regole integrate) e un set di regole di valutazione personalizzate fornite nei file di origine di Python.

Se utilizzi Amazon SageMaker Python SDK, puoi semplicemente utilizzare le operazioni API Debugger di alto livello di SageMaker AI con le operazioni API SageMaker AI Estimator, senza dover recuperare manualmente le immagini Docker in Debugger e configurare l’API ConfigureTrainingJob.

Se non utilizzi SageMaker Python SDK, dovrai recuperare un'immagine di base del container predefinito pertinente per le regole di Debugger. Debugger Amazon SageMaker fornisce immagini Docker predefinite per regole integrate e personalizzate e le immagini sono archiviate in Amazon Elastic Container Registry (Amazon ECR). Per estrarre un'immagine da un repository di Amazon ECR (o per inviare un'immagine a uno di essi), utilizza l'URL del registro del nome completo dell'immagine attraverso l'API CreateTrainingJob. SageMaker AI utilizza i seguenti pattern di URL per l’indirizzo del registro immagini del container di regole di Debugger.

<account_id>.dkr.ecr.<Region>.amazonaws.com/<ECR repository name>:<tag>

Per l’ID account in ogni Regione AWS, il nome del repository di Amazon ECR e il valore del tag, consulta gli argomenti indicati di seguito.

URI delle immagini di Amazon SageMaker Debugger per strumenti di valutazione di regole integrate

Utilizza i seguenti valori per i componenti degli URL del registro per le immagini che forniscono regole integrate per Debugger Amazon SageMaker. Per gli ID account, vedi la tabella seguente.

Nome del repository ECR: sagemaker-debugger-rules

Tag: ultimo

Esempio di URL del Registro completo:

904829902805.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rules:latest

ID account per immagini di container di regole integrate per Regione AWS

Regione account_id
af-south-1

314341159256

ap-east-1

199566480951

ap-northeast-1

430734990657

ap-northeast-2

578805364391

ap-south-1

904829902805

ap-southeast-1

972752614525

ap-southeast-2

184798709955

ca-central-1

519511493484

cn-north-1

618459771430

cn-northwest-1

658757709296

eu-central-1

482524230118

eu-north-1

314864569078

eu-south-1

563282790590

eu-west-1

929884845733

eu-west-2

250201462417

eu-west-3

447278800020

me-south-1

986000313247

sa-east-1

818342061345

us-east-1

503895931360

us-east-2

915447279597

us-west-1

685455198987

us-west-2

895741380848

us-gov-west-1

515509971035

URI delle immagini di Amazon SageMaker Debugger per strumenti di valutazione di regole personalizzate

Utilizza i seguenti valori per i componenti dell'URL del registro per le immagini che forniscono strumenti di valutazione di regole personalizzate per Debugger Amazon SageMaker. Per gli ID account, vedi la tabella seguente.

Nome del repository ECR: sagemaker-debugger-rule-evaluator

Tag: ultimo

Esempio di URL del Registro completo:

552407032007.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rule-evaluator:latest

ID account per immagini del container di regole personalizzate per Regione AWS

Regione account_id
af-south-1

515950693465

ap-east-1

645844755771

ap-northeast-1

670969264625

ap-northeast-2

326368420253

ap-south-1

552407032007

ap-southeast-1

631532610101

ap-southeast-2

445670767460

ca-central-1

105842248657

cn-north-1

617202126805

cn-northwest-1

658559488188

eu-central-1

691764027602

eu-north-1

091235270104

eu-south-1

335033873580

eu-west-1

606966180310

eu-west-2

074613877050

eu-west-3

224335253976

me-south-1

050406412588

sa-east-1

466516958431

us-east-1

864354269164

us-east-2

840043622174

us-west-1

952348334681

us-west-2

759209512951

us-gov-west-1

515361955729

Eccezioni di Amazon SageMaker Debugger

Amazon SageMaker Debugger è progettato per informare che i tensori necessari per eseguire una regola potrebbero non essere disponibili in ogni fase. Quindi genera alcune eccezioni che ti permettono di controllare cosa succede quando manca un tensore. Queste eccezioni sono disponibili nel modulo smdebug.exceptions. È possibile importarle come segue:

from smdebug.exceptions import *

Sono disponibili le seguenti eccezioni:

  • TensorUnavailableForStep – il tensore richiesto non è disponibile per la fase. Questo potrebbe significare che questa fase potrebbe non essere salvata dall'hook o che questa fase potrebbe aver salvato alcuni tensori ma il tensore richiesto non è parte di essi. Si noti che in presenza di questa eccezione, il questo tensore non può mai diventare disponibile per questa fase in futuro. Se il tensore ha delle riduzioni salvate per la fase, ti avviserà che possono sottoposte a query.

  • TensorUnavailable – questo tensore non viene salvato o non è stato salvato dall'API smdebug. Ciò significa che questo tensore non viene mai visto per nessuna fase in smdebug.

  • StepUnavailable – la fase non è stata salvata e Debugger non ha ricevuto dati dalla fase.

  • StepNotYetAvailable – la fase non è stata ancora visualizzata da smdebug. Potrebbe essere disponibile in futuro se l’addestramento è ancora in corso. Debugger carica automaticamente i nuovi dati quando disponibili.

  • NoMoreData – generata alla fine dell’addestramento. Quando viene visualizzata questa eccezione, non ci sono più fasi e non ci sono più tensori da salvare.

  • IndexReaderException – il lettore dell'indice non è valido.

  • InvalidWorker – è stato richiamato un worker che non era valido.

  • RuleEvaluationConditionMet – la valutazione della regola durante la fase ha portato al soddisfacimento della condizione.

  • InsufficientInformationForRuleInvocation – sono state fornite informazioni insufficienti per richiamare la regola.

Addestramento distribuito supportato da Amazon SageMaker Debugger

L'elenco seguente mostra l'ambito di validità e le considerazioni per l'utilizzo di Debugger in processi di addestramento con framework di deep learning e varie opzioni di addestramento distribuito.

  • Horovod

    Ambito di validità dell'utilizzo di Debugger per processi di addestramento con Horovod

    Framework Deep Learning Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow 2.x con Keras PyTorch
    Colli di bottiglia di bottiglia del sistema di monitoraggio
    Operazioni del framework di profilazione No No No
    Debug dei tensori di output del modello
  • SageMaker AI Distributed Data Parallel

    Ambito di validità dell’utilizzo di Debugger per i job di addestramento con SageMaker AI Distributed Data Parallel

    Framework Deep Learning TensorFlow 2.x TensorFlow 2.x con Keras PyTorch
    Colli di bottiglia di bottiglia del sistema di monitoraggio
    Operazioni del framework di profilazione No* No**
    Debug dei tensori di output del modello

    * Debugger non supporta la profilazione del framework per TensorFlow 2.x.

    ** SageMaker AI Distributed Data Parallel non supporta l’implementazione TensorFlow 2.x con Keras.

  • SageMaker AI Distributed Data Parallel: Debugger non supporta l’addestramento con parallelizzazione dei modelli distribuito di SageMaker AI.

  • Addestramento distribuito con checkpoint SageMaker AI: Debugger non è disponibile per i job di addestramento quando sia l’opzione di addestramento distribuito che i checkpoint SageMaker sono abilitati. È possibile che venga visualizzato un errore simile al seguente:

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    Per utilizzare Debugger per i job di addestramento con opzioni di addestramento distribuito, è necessario disabilitare il checkpointing SageMaker AI e aggiungere funzioni di checkpointing manuali allo script di addestramento. Per ulteriori informazioni sull'uso di Debugger con opzioni di addestramento e checkpoint distribuiti, consulta Utilizzo di SageMaker AI Distributed Data Parallel con Amazon SageMaker Debugger e checkpoint e Salvataggio dei checkpoint.

  • Server di parametri: Debugger non supporta l'addestramento distribuito basato su server di parametri.

  • La profilazione delle operazioni del framework di addestramento distribuito, come l’operazione AllReduced di SageMaker AI Distributed Data Parallel e le operazioni Horovod, non è disponibile.