Profilazione e ottimizzazione delle prestazioni di calcolo - Amazon SageMaker AI

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

Profilazione e ottimizzazione delle prestazioni di calcolo

Quando si addestrano modelli di deep learning all'avanguardia che crescono rapidamente di dimensioni, scalare il processo di addestramento di tali modelli su un cluster di GPU di grandi dimensioni e identificare i problemi di prestazioni di calcolo di miliardi e trilioni di operazioni e comunicazioni in ogni iterazione del processo di discesa del gradiente diventa una sfida.

SageMaker AI fornisce strumenti di profilazione per visualizzare e diagnosticare problemi di calcolo così complessi derivanti dall’esecuzione di job di addestramento su risorse di cloud computing AWS. SageMaker AI offre due opzioni di profilazione: Amazon SageMaker Profiler e il monitoraggio di utilizzo delle risorse in Amazon SageMaker Studio Classic. Guarda le seguenti introduzioni delle due funzionalità per approfondimenti rapidi e scoprire quale usare in base alle tue esigenze.

Profilatore Amazon SageMaker

Amazon SageMaker Profiler è una funzionalità di profilazione di SageMaker AI con cui è possibile approfondire le risorse di calcolo allocate durante l’addestramento dei modelli di deep learning e ottenere visibilità sui dettagli a livello operativo. SageMaker Profiler fornisce moduli Python per aggiungere annotazioni negli script di addestramento PyTorch o TensorFlow e attivare Profilatore SageMaker. È possibile accedere ai moduli tramite SageMaker Python SDK e AWS Deep Learning Containers.

Con Profilatore SageMaker, è possibile tenere traccia di tutte le attività su CPU e GPU, come l'utilizzo di CPU e GPU, l'esecuzione del kernel su GPU, l'avvio del kernel su CPU, le operazioni di sincronizzazione, le operazioni di memoria tra CPU e GPU, le latenze tra i lanci del kernel e le esecuzioni corrispondenti e il trasferimento di dati tra CPU e GPU.

Profilatore SageMaker offre anche un'interfaccia utente (UI) che visualizza il profilo, un riepilogo statistico degli eventi profilati e la sequenza temporale di un processo di addestramento per monitorare e comprendere la relazione temporale degli eventi tra GPU e CPU.

Per maggiori informazioni su Profilatore SageMaker, consulta Amazon SageMaker Profiler.

Monitoraggio delle risorse di calcolo AWS in Amazon SageMaker Studio Classic

SageMaker AI fornisce anche un’interfaccia utente in Studio Classic per monitorare l’utilizzo delle risorse di alto livello, ma con maggiore granularità rispetto alle metriche di utilizzo predefinite raccolte da SageMaker AI a CloudWatch.

Per qualsiasi job di addestramento eseguito in SageMaker AI utilizzando SageMaker Python SDK, SageMaker AI inizia a profilare le metriche di utilizzo delle risorse di base, come l’utilizzo della CPU, l’utilizzo della GPU, l’utilizzo della memoria GPU, la rete e il tempo di attesa I/O. Raccoglie questi parametri di utilizzo delle risorse ogni 500 millisecondi.

Rispetto alle metriche di Amazon CloudWatch, che raccolgono le metriche a intervalli di 1 secondo, la funzionalità di monitoraggio di SageMaker AI offre una granularità più precisa nelle metriche di utilizzo delle risorse fino a intervalli di 100 millisecondi (0,1 secondi), in modo da poter approfondire le metriche a livello di un’operazione o di una fase.

Per accedere alla dashboard per il monitoraggio delle metriche di utilizzo delle risorse di un job di addestramento, consulta SageMaker AI Debugger UI in SageMaker Studio Experiments.