In questo blog ci concentreremo sui modi in cui è possibile aumentare l'utilizzo della GPU in PyTorch.
Come aumentare l'utilizzo della GPU in PyTorch?
Esistono diverse tecniche che possono essere impiegate per aumentare l'utilizzo della GPU e garantire che le migliori risorse hardware vengano utilizzate per l'elaborazione di modelli complessi di machine learning. Queste tattiche implicano la modifica del codice e l'utilizzo delle funzionalità PyTorch. Alcuni suggerimenti e trucchi importanti sono elencati di seguito:
- Caricamento di dati e dimensioni batch
- Modelli meno dipendenti dalla memoria
- PyTorch Fulmine
- Modifica le impostazioni di runtime in Google Colab
- Cancella cache per l'ottimizzazione
Caricamento di dati e dimensioni batch
IL ' Caricatore dati ” in PyTorch viene utilizzato per definire le specifiche dei dati da caricare nel processore ad ogni passaggio in avanti del modello di deep learning. Un più grande” dimensione del lotto ' di dati richiederà maggiore potenza di elaborazione e aumenterà l'utilizzo della GPU disponibile.
Di seguito è riportata la sintassi per assegnare un Dataloader con una dimensione batch specifica in PyTorch a una variabile personalizzata:
Aumento_GPU_Utilizzazione = DataLoader ( dimensione del lotto = 32 )
Modelli meno dipendenti dalla memoria
Ogni architettura del modello richiede un volume diverso di “ memoria ” per funzionare al suo livello ottimale. I modelli efficienti nell'utilizzare meno memoria per unità di tempo sono in grado di lavorare con dimensioni batch molto maggiori di quelle di altri.
PyTorch Fulmine
PyTorch ha una versione ridotta che è ' PyTorch Fulmine ”. È ottimizzato per prestazioni velocissime, come si può vedere dal suo nome. Lightning utilizza le GPU per impostazione predefinita e offre un'elaborazione molto più rapida per i modelli di machine learning. Uno dei principali vantaggi di Lightning è la mancanza di requisiti per il codice boilerplate che può ostacolare l'elaborazione.
Importa le librerie necessarie in un progetto PyTorch con la sintassi indicata di seguito:
! pip installa la torcia
! pip installa pytorch - fulmine
importare torcia
importare pytorch_lightning
Modifica le impostazioni di runtime in Google Colab
Google Colaboratory è un IDE cloud che fornisce accesso GPU gratuito ai suoi utenti per lo sviluppo di modelli PyTorch. Per impostazione predefinita, i progetti Colab vengono eseguiti sulla CPU ma le impostazioni possono essere modificate.
Apri il taccuino Colab, vai alla sezione ' Durata ' nella barra dei menu e scorri verso il basso fino a ' Modificare le impostazioni di esecuzione ':
Quindi, seleziona il “GPU T4” opzione e fare clic su ' Salva ' per applicare le modifiche per utilizzare la GPU:
Cancella cache per l'ottimizzazione
PyTorch consente ai suoi utenti di svuotare la cache della memoria per poter liberare spazio per l'esecuzione di nuovi processi. IL ' Cache ' memorizza dati e informazioni sui modelli in esecuzione in modo da poter risparmiare tempo che verrà impiegato nel ricaricare questi modelli. Svuotare la cache offre agli utenti più spazio per eseguire nuovi modelli.
Il comando per svuotare la cache della GPU è riportato di seguito:
torcia. diverso . cache_vuota ( )
Questi suggerimenti vengono utilizzati per ottimizzare l'esecuzione di modelli di machine learning con GPU in PyTorch.
Suggerimento professionale
Google Colab consente ai suoi utenti di accedere ai dettagli sull'utilizzo della GPU tramite ' nvidia ' per ottenere informazioni su dove vengono utilizzate le risorse hardware. Il comando per mostrare i dettagli sull'utilizzo della GPU è riportato di seguito:
! nvidia - smi
Successo! Abbiamo appena dimostrato alcuni modi per aumentare l'utilizzo della GPU in PyTorch.
Conclusione
Aumenta l'utilizzo della GPU in PyTorch eliminando la cache, utilizzando PyTorch Lightning, regolando le impostazioni di runtime, utilizzando modelli efficienti e dimensioni batch ottimali. Queste tecniche contribuiscono notevolmente a garantire che i modelli di deep learning funzionino al meglio e siano in grado di trarre conclusioni e inferenze valide dai dati disponibili. Abbiamo dimostrato le tecniche per aumentare l'utilizzo della GPU.