Azioni integrate in Debugger per le regole - Amazon SageMaker

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à.

Azioni integrate in Debugger per le regole

Utilizza le azioni integrate di Debugger per rispondere ai problemi rilevati da Regola Debugger. La classe rule_configs di Debugger fornisce strumenti per configurare un elenco di azioni, tra cui l'interruzione automatica dei processi di addestramento e l'invio di notifiche tramite Amazon Simple Notification Service (Amazon SNS) quando le regole di Debugger rilevano problemi di addestramento.

Fase 1: configurare Amazon SNS, creare un DebugRules argomento SM e sottoscrivere l'argomento

Questa sezione spiega come configurare un argomento SMDebugRules di Amazon SNS, iscriversi e confermare l'abbonamento per ricevere notifiche dalle regole di Debugger.

Nota

Per ulteriori informazioni sulla fatturazione per Amazon SNS, consulta i Prezzi di Amazon SNS le Domande frequenti su Amazon SNS.

Per creare un argomento SM DebugRules
  1. Accedi AWS Management Console e apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/home.

  2. Nel pannello di navigazione a sinistra, selezionare Topics (Argomenti).

  3. Nella pagina Topics (Argomenti), seleziona Create new topic (Crea nuovo argomento).

  4. Nella pagina Create topic (Crea argomento), nella sezione Details (Dettagli), eseguire queste operazioni:

    1. Per Tipo, scegli Standard come tipo di argomento.

    2. In Nome, inserisci SMDebugRules.

  5. Salta tutte le altre impostazioni opzionali e scegli Crea argomento. Per ulteriori informazioni sulle impostazioni opzionali, consulta Creazione di un argomento Amazon SNS.

Per iscriverti all'argomento SM DebugRules

  1. Apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/home.

  2. Nel pannello di navigazione sinistro scegli Sottoscrizioni.

  3. Nella pagina Sottoscrizioni scegli Crea sottoscrizione.

  4. Nella pagina Crea sottoscrizione, nella sezione Dettagli, eseguire queste operazioni:

    1. Per Argomento ARN, scegli l'argomento SM DebugRules ARN. L'ARN deve avere il formato di arn:aws:sns:<region-id>:111122223333:SMDebugRules.

    2. Per Protocollo, seleziona -mail) o SMS.

    3. Per Endpoint, inserisci il valore dell'endpoint, ad esempio un indirizzo e-mail o un numero di telefono a cui desideri ricevere notifiche.

      Nota

      Assicurati di digitare l'indirizzo e-mail e il numero di telefono corretti. I numeri di telefono devono includere +, un prefisso internazionale e un numero di telefono, senza caratteri o spazi speciali. Ad esempio, il numero di telefono +1 (222) 333-4444 è formattato come +12223334444.

  5. Salta tutte le altre impostazioni opzionali e scegli Crea abbonamento. Per ulteriori informazioni sulle impostazioni opzionali, consulta Abbonamento a un argomento Amazon SNS.

Dopo esserti iscritto all'DebugRulesargomento SM, riceverai il seguente messaggio di conferma via e-mail o per telefono:


                    Un messaggio e-mail di conferma dell'abbonamento per l'argomento Amazon SNS SM DebugRules.

Per ulteriori informazioni su Amazon SNS, consulta Messaggi di testo mobili (SMS) e Notifiche e-mail nella Guida per gli sviluppatori di Amazon SNS.

Fase 2: Configurare il ruolo IAM per allegare le policy richieste

In questa fase le policy richieste vengono aggiunte al ruolo IAM.

Per aggiungere le policy richieste al tuo ruolo IAM
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione a sinistra, seleziona Policy e Crea policy.

  3. Nella pagina Crea policy, procedi come segue per creare una nuova policy sns-access:

    1. Seleziona la scheda JSON.

    2. Incolla le stringhe JSON in grassetto nel codice seguente nella cartella"Statement", sostituendo l'ID dell'account a 12 cifre con l'ID AWS dell'account. AWS

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "sns:Publish", "sns:CreateTopic", "sns:Subscribe" ], "Resource": "arn:aws:sns:*:111122223333:SMDebugRules" } ] }
    3. Nella parte inferiore della pagina, scegli Rivedi policy.

    4. Nella pagina Review policy (Esamina policy), per Name (Nome), immettere sns-access.

    5. Nella parte inferiore della pagina, scegli Crea policy.

  4. Torna alla console IAM e scegli Ruoli nel riquadro di navigazione a sinistra.

  5. Cerca il ruolo IAM che usi per la formazione dei SageMaker modelli e scegli quel ruolo IAM.

  6. Nella scheda Autorizzazioni della pagina Riepilogo, scegli Collega policy.

  7. cerca la policy sns-access, seleziona la casella di controllo accanto alla policy, quindi scegli Collega policy.

Per altri esempi di configurazione delle policy IAM per Amazon SNS, consulta Esempi di casi per il controllo degli accessi Amazon SNS.

Fase 3: Configurare le regole di Debugger con le azioni integrate

Dopo aver completato con successo le impostazioni richieste nelle fasi precedenti, è possibile configurare le azioni integrate di Debugger per le regole di debug, come mostrato nello script di esempio seguente. È possibile scegliere quali azioni integrate utilizzare durante la creazione dell'oggetto elenco actions. rule_configs è un modulo di supporto che fornisce strumenti di alto livello per configurare le regole e le azioni integrate di Debugger. Le seguenti azioni integrate sono disponibili per Debugger:

  • rule_configs.StopTraining() – Interrompe un processo di addestramento quando la regola Debugger rileva un problema.

  • rule_configs.Email("abc@abc.com") – Invia una notifica via e-mail quando la regola Debugger rileva un problema. Utilizza l'indirizzo e-mail che hai usato quando hai configurato l'abbonamento all'argomento SNS.

  • rule_configs.SMS("+1234567890") – Invia una notifica via messaggio di testo quando la regola Debugger rileva un problema. Utilizza il numero di telefono che hai usato quando hai configurato l'abbonamento all'argomento SNS.

    Nota

    Assicurati di digitare l'indirizzo e-mail e il numero di telefono corretti. I numeri di telefono devono includere +, un prefisso internazionale e un numero di telefono, senza caratteri o spazi speciali. Ad esempio, il numero di telefono +1 (222) 333-4444 è formattato come +12223334444.

È possibile utilizzare tutte le azioni integrate o un sottoinsieme di azioni concludendo utilizzando il metodo rule_configs.ActionList(), che esegue le azioni integrate e configura un elenco di azioni.

Per aggiungere tutte e tre le azioni predefinite a un'unica regola

Se desideri assegnare tutte e tre le azioni integrate a una singola regola, configura un elenco di azioni integrate in Debugger durante la creazione di un estimatore. Usa il seguente modello per creare l’estimatore e Debugger interromperà i procedi addestramento e invierà notifiche tramite e-mail e messaggi di testo per tutte le regole che utilizzi per monitorare l'avanzamento del processo di addestramento.

from sagemaker.debugger import Rule, rule_configs # Configure an action list object for Debugger rules actions = rule_configs.ActionList( rule_configs.StopTraining(), rule_configs.Email("abc@abc.com"), rule_configs.SMS("+1234567890") ) # Configure rules for debugging with the actions parameter rules = [ Rule.sagemaker( base_config=rule_configs.built_in_rule(), # Required rule_parameters={"paramter_key": value }, # Optional actions=actions ) ] estimator = Estimator( ... rules = rules ) estimator.fit(wait=False)

Per creare più oggetti di azione integrati per assegnare azioni diverse a una singola regola

Se desideri assegnare le azioni integrate da attivare a diversi valori di soglia di una singola regola, puoi creare più oggetti di azione integrati come illustrato nello script seguente. Per evitare un errore di conflitto eseguendo la stessa regola, è necessario inviare nomi di processo di regola diversi (specificare stringhe diverse per l'attributo name delle regole), come illustrato nel seguente modello di script di esempio. Questo esempio mostra come impostare StalledTrainingRule per eseguire due azioni diverse: inviare un'e-mail a abc@abc.com quando un processo di addestramento si blocca per 60 secondi e interrompere il processo di addestramento se si blocca per 120 secondi.

from sagemaker.debugger import Rule, rule_configs import time base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time())) # Configure an action object for StopTraining action_stop_training = rule_configs.ActionList( rule_configs.StopTraining() ) # Configure an action object for Email action_email = rule_configs.ActionList( rule_configs.Email("abc@abc.com") ) # Configure a rule with the Email built-in action to trigger if a training job stalls for 60 seconds stalled_training_job_rule_email = Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ "threshold": "60", "training_job_name_prefix": base_job_name_prefix }, actions=action_email ) stalled_training_job_rule_text.name="StalledTrainingJobRuleEmail" # Configure a rule with the StopTraining built-in action to trigger if a training job stalls for 120 seconds stalled_training_job_rule = Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ "threshold": "120", "training_job_name_prefix": base_job_name_prefix }, actions=action_stop_training ) stalled_training_job_rule.name="StalledTrainingJobRuleStopTraining" estimator = Estimator( ... rules = [stalled_training_job_rule_email, stalled_training_job_rule] ) estimator.fit(wait=False)

Mentre il processo di addestramento è in esecuzione, l'azione integrata Debugger invia e-mail e messaggi di testo di notifica ogni volta che la regola rileva problemi con il processo di addestramento. La schermata seguente mostra un esempio di notifica via e-mail per un processo di addestramento che presenta un problema relativo a un processo di addestramento bloccato.


                    Un esempio di notifica e-mail inviata da Debugger quando rileva un problema.  StalledTraining

La schermata seguente mostra un esempio di notifica di testo che Debugger invia quando la regola rileva un problema. StalledTraining


                    Un esempio di notifica di testo inviata da Debugger quando rileva un problema.  StalledTraining

Considerazioni sull'utilizzo delle azioni integrate di Debugger

  • Per utilizzare le azioni integrate di Debugger, è necessaria una connessione Internet. Questa funzionalità non è supportata nella modalità di isolamento della rete fornita da Amazon SageMaker o Amazon VPC.

  • Le azioni integrate non possono essere utilizzate per Regole del profiler.

  • Le azioni integrate non possono essere utilizzate in processi di addestramento con interruzioni spot dell'addestramento.

  • Nelle notifiche via e-mail o SMS, None viene visualizzato alla fine dei messaggi. Questo non ha alcun significato, quindi puoi ignorare il testo None.