Informazioni sul servizio AI Platform Training

Questa pagina spiega lo stato di un cluster di addestramento durante il ciclo di vita di un job di addestramento e in che modo AI Platform Training gestisce gli errori di addestramento. Puoi utilizzare queste informazioni per adattare il codice di addestramento di conseguenza.

Ciclo di vita di un job di addestramento

Questa sezione spiega in che modo AI Platform Training gestisce le VM worker durante il ciclo di vita di un job di addestramento.

Avvia worker in parallelo

Quando inizia un job di addestramento, AI Platform Training pianifica il maggior numero possibile di worker in un breve lasso di tempo. Di conseguenza, i worker possono avviarsi in parallelo anziché in sequenza. Per ridurre la latenza di avvio, AI Platform Training inizia a eseguire il codice su ogni worker non appena diventa disponibile. Quando tutti i worker sono disponibili, AI Platform Training imposta lo stato del job su RUNNING.

Nella maggior parte dei casi, il framework di machine learning gestisce automaticamente i worker che iniziano in parallelo. Se utilizzi una strategia di distribuzione nel codice di addestramento, potresti doverla regolare manualmente per gestire i worker che iniziano in parallelo. Scopri di più sulle strategie di distribuzione in TensorFlow e in PyTorch.

Riavvia i worker durante il job di addestramento

Durante un job di addestramento, AI Platform Training può riavviare master, worker o server dei parametri con lo stesso nome host. Ciò può verificarsi per i seguenti motivi:

  • Manutenzione della VM: quando la VM che esegue un worker è soggetta a manutenzione, AI Platform Training riavvia il worker su un'altra VM. Scopri di più sulla migrazione live per la manutenzione delle VM.
  • Uscite diverse da zero: se un worker esce con un codice di uscita diverso da zero, AI Platform Training riavvia quel worker immediatamente nella stessa VM.

    • Se un worker non riesce a causa di un errore comune, viene trattato come un errore permanente e AI Platform Training arresta l'intero job. Se un container si riavvia prima che AI Platform Training arresti l'intero job, questi container possono generare log in Cloud Logging.
    • Se un worker non riesce a causa di un errore non permanente (qualsiasi errore non elencato negli errori comuni), AI Platform Training consente di continuare l'esecuzione del worker riavviato, con un massimo di cinque riavvii per worker. Dopo cinque riavvii, se un worker continua a non funzionare, AI Platform Training riprova l'intero job fino a tre volte prima di non riuscire a completare l'intero job.

Per gestire i riavvii dei worker nel codice di addestramento, salva regolarmente i checkpoint durante l'addestramento, in modo da poterli ripristinare dai checkpoint al riavvio di un worker. Se prevedi che l'addestramento richieda più di quattro ore, ti consigliamo di salvare un checkpoint almeno una volta ogni quattro ore. Scopri come utilizzare i checkpoint di addestramento in TensorFlow e in PyTorch.

Completare un lavoro correttamente

Un job di addestramento viene completato correttamente quando la replica principale viene chiusa con il codice di uscita 0. A quel punto, AI Platform Training arresta tutti gli altri worker in esecuzione.

In che modo AI Platform Training gestisce gli errori dei job di addestramento

Questa sezione spiega in che modo AI Platform Training gestisce gli errori comuni e gli errori interni dei job di addestramento.

Circa un minuto dopo il termine di un job, AI Platform Training imposta il codice di errore sull'oggetto del job di addestramento, in base al codice di uscita.

Gestire gli errori comuni

AI Platform Training arresta tutti i worker se si verifica uno dei seguenti problemi:

Tipo di errore Messaggio/log di errore Nota
Eccezione codice utente La replica REPLICA_NAME è stata chiusa con uno stato diverso da zero di EXIT_CODE. Motivo della risoluzione: REASON. Se il job ha rilevato codici di uscita che potrebbero essere temporanei, AI Platform Training prova a riavviare il job fino a tre volte. I codici di errore potenzialmente temporanei che richiedono ad AI Platform Training di riprovare il job includono quanto segue:
  • SIGABRT
    • ExitCode 6
    • ExitCode 134 (container personalizzati)
  • SIGSEGV
    • ExitCode 11
    • ExitCode 139 (container personalizzati)
Memoria insufficiente La replica REPLICA_NAME ha esaurito la memoria ed è stata chiusa con uno stato diverso da zero, EXIT_CODE. GKE prenota memoria sui nodi di AI Platform Training. Sui tipi di macchine più piccole (come n1-standard-4), gli agenti di sistema di AI Platform Training possono utilizzare fino al 40% della memoria totale. Per le VM più grandi, l'overhead è relativamente ridotto. Confronta la memoria allocabile per n1-standard tipi di macchine.
Capacità insufficiente nella tua regione (inventario di Compute Engine) Le risorse non sono sufficienti nella regione REGION_NAME. Prova con una regione diversa o utilizza un acceleratore diverso. Si verifica uno stockout quando Compute Engine ha raggiunto la capacità per la CPU o la GPU selezionata nella tua regione. Non è correlato alla quota del tuo progetto. In questo caso, AI Platform Training tenta di riavviare il job fino a tre volte.

Gestire gli errori interni

Se AI Platform Training presenta un errore interno, tenta di riavviare un job due volte (tre tentativi in totale). Se anche i tentativi di riavvio non vanno a buon fine, AI Platform Training restituisce un errore interno con il messaggio: Internal error occurred for the current attempt.