APPRENDIMENTO PROFONDO CON PIÙ GPU
Poiché i modelli di deep learning (in particolare gli LLM) continuano a diventare più grandi, la necessità di più memoria GPU (VRAM) è in costante aumento per svilupparli e utilizzarli localmente. Costruire o procurarsi una macchina multi-GPU è solo la prima parte della sfida. La maggior parte delle librerie e delle applicazioni utilizzano solo una singola GPU per impostazione predefinita. Pertanto, la macchina deve anche disporre di driver appropriati insieme a librerie in grado di sfruttare la configurazione multi-GPU.
Questa storia fornisce una guida su come configurare una macchina Linux multi-GPU (Nvidia) con librerie importanti. Si spera che questo ti farà risparmiare un po' di tempo nella sperimentazione e ti consentirà di iniziare il tuo sviluppo.
Alla fine, vengono forniti collegamenti alle popolari librerie open source che possono sfruttare la configurazione multi-GPU per il Deep Learning.
Bersaglio
Configura un sistema Linux multi-GPU con le librerie necessarie come CUDA Toolkit e PyTorch per iniziare con il deep learning 🤖. Gli stessi passaggi si applicano anche a una macchina con GPU singola.
Installeremo 1) CUDA Toolkit, 2) PyTorch e 3) Miniconda per iniziare con il Deep Learning utilizzando framework come exllamaV2 e torchtune.
©️ Tutte le librerie e le informazioni menzionate in questa storia sono open source e/o disponibili pubblicamente.
Iniziare
Controlla il numero di GPU installate nella macchina utilizzando il file nvidia-smi
comando nel terminale. Dovrebbe stampare un elenco di tutte le GPU installate. Se c'è una discrepanza o se il comando non funziona, installa prima i driver Nvidia per la tua versione di Linux. Assicurati che nvidia-smi
Il comando stampa un elenco di tutte le GPU installate nel tuo computer come mostrato sopra.
Segui questa pagina per installare i driver Nvidia se non lo hai già fatto:
Come installare i driver NVIDIA su Ubuntu 22.04 – Tutorial Linux – Scopri la configurazione di Linux– (Fonte: linuxconfig.org)
Passaggio 1 Installare CUDA-Toolkit
💡 Verificare la presenza di eventuali cartelle CUDA esistenti su usr/local/cuda-xx
. Ciò significa che una versione di CUDA è già installata. Se hai già installato il toolkit CUDA desiderato (verifica con il file nvcc
comando nel terminale), vai al passaggio 2.
Controlla la versione CUDA necessaria per la libreria PyTorch desiderata: Inizia localmente | PyTorch (Stiamo installando Install CUDA 12.1)
Vai a Download di CUDA Toolkit 12.1 | Sviluppatore NVIDIA per ottenere i comandi Linux per installare CUDA 12.1 (scegliere la versione del sistema operativo e il tipo di programma di installazione “deb (locale)” corrispondente).
I comandi del terminale per l'installazione di base appariranno in base alle opzioni scelte. Copia, incolla ed eseguili nel tuo terminale Linux per installare il toolkit CUDA. Ad esempio, per x86_64 Ubuntu 22, esegui i seguenti comandi aprendo il terminale nella cartella dei download:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
⚠️Durante l'installazione del toolkit CUDA, il programma di installazione potrebbe richiedere un aggiornamento del kernel. Se nel terminale viene visualizzato un popup per aggiornare il kernel, premere il pulsante esc
pulsante per annullarlo. Non aggiornare il kernel durante questa fase! Potrebbe danneggiare i driver Nvidia ☠️.
Riavviare la macchina Linux dopo l'installazione. IL nvcc
il comando continuerà a non funzionare. È necessario aggiungere l'installazione CUDA a PATH. Apri il .bashrc
file utilizzando l'editor nano.
nano /home/$USER/.bashrc
Scorri fino alla fine del .bashrc
file e aggiungi queste due righe:
export PATH="/usr/local/cuda-12.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH"
💡 Tieni presente che puoi cambiare cuda-12.1
alla versione CUDA installata, cuda-xx
se necessario in futuro, “xx” è la versione CUDA.
Salva le modifiche e chiudi l'editor nano:
To save changes - On you keyboard, press the following: ctrl + o --> save
enter or return key --> accept changes
ctrl + x --> close editor
Chiudi e riapri il terminale. Ora il nvcc--version
Il comando dovrebbe stampare la versione CUDA installata nel terminale.
Passaggio 2Installa Miniconda
Prima di installare PyTorch, è meglio installare Miniconda e quindi installare PyTorch all'interno di un ambiente Conda. È anche utile creare un nuovo ambiente Conda per ogni progetto.
Apri il terminale nella cartella Download ed esegui i seguenti comandi:
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh# initiate conda
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
Chiudere e riaprire il terminale. Ora il conda
il comando dovrebbe funzionare.
Passaggio 3 Installa PyTorch
(Facoltativo): crea un nuovo ambiente conda per il tuo progetto. Puoi sostituire <environment-name>
con il nome che preferisci. Di solito lo chiamo con il nome del mio progetto. 💡 Puoi usare il conda activate <environment-name>
E conda deactivate <environment-name>
comandi prima e dopo aver lavorato al tuo progetto.
conda create -n <environment-name> python=3.11# activate the environment
conda activate <environment-name>
Installa la libreria PyTorch per la tua versione CUDA. I seguenti comandi sono per cuda-12.1 che abbiamo installato:
pip3 install torch torchvision torchaudio
Il comando precedente è ottenuto dalla guida all'installazione di PyTorch: Inizia localmente | PyTorch .
Dopo l'installazione di PyTorch, controlla il numero di GPU visibili a PyTorch nel terminale.
python>> import torch
>> print(torch.cuda.device_count())
8
Questo dovrebbe stampare il numero di GPU installate nel sistema (8 nel mio caso) e dovrebbe anche corrispondere al numero di GPU elencate nel file nvidia-smi
comando.
Viola! sei pronto per iniziare a lavorare sui tuoi progetti di Deep Learning che sfruttano più GPU 🥳.
1. 🤗 Per iniziare, puoi clonare un modello popolare da Volto che abbraccia:
2. 💬 Per inferenza (utilizzando modelli LLM), clonare e installare exllamav2 in un ambiente separato. Questo utilizza tutte le tue GPU per un'inferenza più rapida: (controlla la mia pagina media per un tutorial dettagliato)
3. 👨🏫 Per la messa a punto o la formazione, puoi clonare e installare melodia. Seguire le istruzioni per entrambi full finetune
O lora finetune
i tuoi modelli, sfruttando tutte le tue GPU: (controlla la mia pagina media per un tutorial dettagliato)
Questa guida ti guida attraverso la configurazione della macchina necessaria per il deep learning multi-GPU. Ora puoi iniziare a lavorare su qualsiasi progetto che sfrutta più GPU, come Torchtune per uno sviluppo più rapido!
Rimani sintonizzato per tutorial più dettagliati su exllamaV2 E melodia.
Fonte: towardsdatascience.com