Questa pagina spiega lo stato di un cluster di addestramento durante il ciclo di vita di un job di addestramento e come 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 come AI Platform Training gestisce le VM worker durante il ciclo di vita di un job di addestramento.
Avvia i worker in parallelo
Quando inizia un job di addestramento, AI Platform Training pianifica il numero di worker
possibile in breve tempo. Di conseguenza, i worker potrebbero 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 viene
la disponibilità del servizio. 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 worker che si avviano in parallelo. Se utilizzi una strategia di distribuzione nel tuo codice di addestramento, potresti doverlo modificare manualmente per gestire i worker parallelo. Scopri di più sulle strategie di distribuzione in TensorFlow e in PyTorch.
Riavviare 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. Questo può verificarsi per i seguenti motivi:
- Manutenzione della VM: quando la VM su cui è in esecuzione un worker è sottoposta 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 immediatamente il worker nella stessa VM.
- Se un worker non funziona correttamente a causa di un errore comune, viene trattato come errore permanente e AI Platform Training arresta l'intero job. Se un container si riavvia prima dell'arresto di AI Platform Training l'intero job, questi container possono produrre log in Cloud Logging.
- Se un worker non riesce a causa di un errore non permanente (qualsiasi errore non elencato tra gli errori comuni), la formazione della piattaforma AI consente al worker riavviato di continuare a funzionare, con un massimo di cinque riavvii per worker. Dopo cinque riavvii, se un worker continua a funzionare, AI Platform Training riprova a eseguire 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 poter eseguire il ripristino dai checkpoint quando si riavvia. Se prevedi che l'addestramento richieda più di quattro ore, ti consigliamo di salvare un checkpoint almeno ogni quattro ore. Scopri come utilizzare i checkpoint di addestramento in TensorFlow e in PyTorch.
Completare correttamente un job
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 chiude tutte le altre worker in esecuzione.
In che modo AI Platform Training gestisce gli errori dei job di addestramento
Questa sezione spiega come AI Platform Training gestisce gli errori comuni dei job di addestramento e gli errori interni.
Circa un minuto dopo il termine di un job, AI Platform Training imposta il codice di errore su dell'oggetto job di addestramento, in base al codice di uscita.
Gestire gli errori comuni
La formazione della piattaforma AI arresta tutti i worker se rileva uno dei seguenti problemi:
Tipo di errore | Messaggio di errore/log | Nota |
Eccezione codice utente | La replica REPLICA_NAME è uscita 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 tenta di riavviare il job fino a tre volte.
I codici di errore potenzialmente temporanei che chiedono ad AI Platform Training di ritentare il job includono:
|
Memoria insufficiente | La replica REPLICA_NAME ha esaurito la memoria ed è stata chiusa con un diverso da zero di EXIT_CODE. |
GKE riserva memoria sui nodi di AI Platform Training. Sui
tipi di macchine più piccoli (ad esempio n1-standard-4 ),
gli agenti di sistema di AI Platform Training possono occupare fino al 40% della memoria totale.
Per le VM più grandi, l'overhead è relativamente ridotto. Confronta
memoria allocabile per n1-standard tipi di macchine.
|
Capacità insufficiente nella tua regione (disponibilità di Compute Engine) | Le risorse non sono sufficienti nella regione: REGION_NAME. Prova un'altra regione o utilizzare un acceleratore diverso. | Un esaurimento scorte si verifica quando Compute Engine ha raggiunto la capacità per la CPU o la GPU selezionata nella tua regione. Non è correlata alla quota di progetti. In questo caso, AI Platform Training tenta di riavviare il job fino a tre volte. |
Gestire gli errori interni
Se AI Platform Training rileva 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
.