Addestramento distribuito tollerante ai guasti su Amazon EKS con NVRx
aws ·
Questo articolo illustra come integrare NVIDIA Resiliency Extension (NVRx) con Amazon EKS per creare un addestramento distribuito tollerante ai guasti per modelli PyTorch su larga scala. L'articolo affronta due principali colli di bottiglia: il checkpointing sincrono, che può bloccare fino al 40% del tempo di addestramento, e la lenta ripresa da errori hardware o software. La soluzione utilizza il checkpointing asincrono tramite TorchAsyncCheckpoint per sovrapporre le operazioni di I/O al calcolo, raggiungendo un'efficienza di addestramento superiore al 99% rispetto alla linea di base. Per il recupero dagli errori, NVRx offre il riavvio in-process per i soft fault e ft_launcher per i crash gravi, riducendo i tempi di recupero da minuti a secondi. I benchmark eseguiti su LLaMA-3.1-8B su 2-8 nodi dimostrano che questi metodi superano significativamente i normali riavvii di Kubernetes, che soffrono di cascate di timeout NCCL. L'architettura sfrutta Amazon FSx for Lustre per l'archiviazione condivisa e Elastic Fabric Adapters per la rete ad alta larghezza di banda. Questo approccio consente ai team di effettuare checkpoint più frequentemente senza sacrificare l'utilizzo delle GPU, massimizzando l'efficienza complessiva del cluster.
aws