Casa ImpresaAI Meta LLaMa e alpaca liberi nel laboratorio! Esecuzione di modelli linguistici di grandi dimensioni a livello locale

Meta LLaMa e alpaca liberi nel laboratorio! Esecuzione di modelli linguistici di grandi dimensioni a livello locale

by Jordan Ranous

Negli ultimi mesi, modelli linguistici di grandi dimensioni sono stati oggetto di approfondite attività di ricerca e sviluppo, con modelli all’avanguardia come GPT-4, Meta LLaMa e Alpaca che ampliano i confini dell’elaborazione del linguaggio naturale e dell’hardware necessario per eseguirli. . Eseguire l'inferenza su questi modelli può essere impegnativo dal punto di vista computazionale e richiede hardware potente per fornire risultati in tempo reale.

Negli ultimi mesi, modelli linguistici di grandi dimensioni sono stati oggetto di approfondite attività di ricerca e sviluppo, con modelli all’avanguardia come GPT-4, Meta LLaMa e Alpaca che ampliano i confini dell’elaborazione del linguaggio naturale e dell’hardware necessario per eseguirli. . Eseguire l'inferenza su questi modelli può essere impegnativo dal punto di vista computazionale e richiede hardware potente per fornire risultati in tempo reale.

Nel laboratorio Storage Review, abbiamo messo due GPU NVIDIA RTX 8000 al lavoro per eseguire il modello LLaMa di Meta per vedere come si comportavano durante l'esecuzione di inferenza su modelli linguistici di grandi dimensioni. Abbiamo usato il Lenovo P920 come host per le carte, riducendo al minimo i colli di bottiglia. L'RTX 8000 è una scheda grafica di fascia alta in grado di essere utilizzata in applicazioni di intelligenza artificiale e deep learning, e le abbiamo scelte appositamente dalla pila grazie ai 48 GB di memoria GDDR6 e 4608 core CUDA su ciascuna scheda, e anche Kevin sta accumulando tutto l'A6000'S.

meta lama GPU NVIDIA RTX 8000

Meta LLaMA è un modello linguistico su larga scala addestrato su un insieme diversificato di testi Internet. È disponibile al pubblico e fornisce risultati all'avanguardia in varie attività di elaborazione del linguaggio naturale. In questo articolo forniremo una guida passo passo su come abbiamo configurato ed eseguito l'inferenza LLaMA sulle GPU NVIDIA; non è garantito che funzioni per tutti.

Requisiti Meta LLaMa

Prima di iniziare, dobbiamo assicurarci di avere installati i seguenti requisiti:

  • GPU NVIDIA con un minimo di 16 GB di VRAM
  • Driver NVIDIA installati (almeno la versione 440.33)
  • CUDA Toolkit installato (almeno versione 10.1)
  • Anaconda installata
  • PyTorch installato (almeno la versione 1.7.1)
  • Spazio sul disco; l'intero set di checkpoint LLaMa sta superando i 200 TB.

Nota: si consiglia di avere un ambiente Anaconda dedicato per LLaMA, ne abbiamo alcuni sul banco di prova in modo da poter pasticciare con pacchetti e parametri e non intasare l'installazione di base.

Configura uno o due ambienti dedicati in Anaconda

Passaggi per eseguire l'inferenza Meta LLaMA sulle GPU NVIDIA

  1. Scarica il repository LLaMA: Il primo passaggio è clonare il repository LLaMA da GitHub.
git clone https://github.com/EleutherAI/LLaMA.git
  1. Ottieni il checkpoint e il tokenizzatore LLaMA: Visita la pagina GitHub e compila il modulo Google collegato per accedere al download. Sono disponibili altri LLM, come Alpaca. A questo scopo, assumeremo che sia disponibile l'accesso ai file LLaMa.
  1. Elenca e installa i programmi richiesti per LLaMa eseguendo il comando seguente dalla directory del repository clonato:
pip install -r requirements.txt
pip install -e .
  1. Imposta lo script di inferenza: Le example.py Lo script fornito nel repository LLaMA può essere utilizzato per eseguire l'inferenza LLaMA. Lo script può essere eseguito su un nodo a GPU singola o multipla con torchrun e genererà i completamenti per due prompt predefiniti.

Apri example.py e imposta i seguenti parametri in base alle tue preferenze. Le descrizioni di ciascun parametro e la relativa funzione sono elencate di seguito.

  • --max_seq_len: lunghezza massima della sequenza (il valore predefinito è 2048)
  • --max_batch_size: dimensione massima del batch (il valore predefinito è 8)
  • --gen_length: lunghezza della generazione (il valore predefinito è 512)
  • --temperature: temperatura di generazione (il valore predefinito è 1.0)
  • --top_p: campionamento in alto (il valore predefinito è 0.9)

Ad esempio, per eseguire l'inferenza LLaMA su una singola GPU con file checkpoint e tokenizer nella directory /path/to/files, usa il seguente comando:

torchrun --nproc_per_node 1 example.py --ckpt_dir /path/to/files --tokenizer_path /path/to/files/tokenizer.model

Nota: Il nproc_per_node dipende dalla dimensione del modello e dal numero di GPU richieste per i checkpoint LLaMa predefiniti. Fare riferimento alla seguente tabella per impostare il valore appropriato per il sistema e il modello in esecuzione:

Modello GPU richieste
7B 1
13B 2
33B 4
65B 8

Nell'esempio seguente, abbiamo utilizzato i prompt standard nel file di esempio ma abbiamo giocato con il file temperature che a top_p variabili, ottenendo risultati interessanti. Abbiamo anche aumentato la lunghezza della risposta.

Fai attenzione a giocare con il termostato!

Analisi del file example.py e delle variabili che devi conoscere

La maggior parte di questi sono preimpostati nel modello e non necessitano di essere regolati; tuttavia, se stai iniziando a utilizzare LLM e inferenza, ecco alcune informazioni utili che analizzano le funzioni dei flag e degli switch.

  1. local_rank: il rango della GPU (processo) corrente nel gruppo di GPU utilizzate per il parallelismo del modello. Questo viene impostato automaticamente.
  2. world_size: il numero totale di GPU utilizzate per il parallelismo del modello. Questo viene impostato automaticamente.
  3. ckpt_dir: la directory contenente i checkpoint del modello. Questo viene impostato in fase di esecuzione.
  4. tokenizer_path: il percorso del tokenizzatore utilizzato per preelaborare il testo. Questo viene impostato in fase di esecuzione.
  5. temperature: un parametro che controlla la casualità del testo generato (valori più alti rendono l'output più casuale e valori più bassi lo rendono più mirato).
  6. top_p: Un parametro che controlla la strategia di campionamento del nucleo, che è un metodo per generare testo che seleziona solo i token più probabili con una probabilità cumulativa pari al massimo top_p.
  7. max_seq_len: la lunghezza massima della sequenza per l'input e l'output del modello. Puoi regolarlo per ridurre la necessità di VRAM.
  8. max_batch_size: il numero massimo di sequenze di input che il modello può elaborare in parallelo. Puoi regolarlo per ridurre la necessità di VRAM.
  9. prompts: un elenco di richieste di input su cui il modello può generare testo in base.
  10. results: un elenco di testo generato corrispondente a ciascun prompt di input.

Considerazioni finali

I nostri test hanno dimostrato che le GPU RTX 8000 sono in grado di fornire prestazioni impressionanti, con tempi di inferenza che vanno da pochi secondi a circa un minuto, a seconda dei parametri del modello e della dimensione dell'input. Le GPU potevano gestire batch di grandi dimensioni ed eseguire inferenze su più modelli contemporaneamente senza alcun rallentamento evidente.

Uno dei vantaggi derivanti dall'utilizzo delle GPU per l'inferenza è che possono essere facilmente ampliate aggiungendo più GPU al sistema. Ciò consente di eseguire modelli ancora più grandi in tempo reale, consentendo nuove applicazioni in aree come chatbot, sistemi di risposta alle domande e analisi del sentiment.

Alpaca è un modello linguistico AI compatto creato da un team di scienziati informatici dell'Università di Stanford. È costruito sul modello LLaMA 7B di Meta, che vanta 7 miliardi di parametri ed è stato addestrato utilizzando una grande quantità di testo dal web. Per mettere a punto Alpaca, sono state generate 52,000 dimostrazioni che seguono le istruzioni con il modello text-davinci-003 di OpenAI, un modello versatile in grado di eseguire vari compiti basati su istruzioni in linguaggio naturale. Alpaca è più bravo a seguire le istruzioni e a produrre testo per una serie di scopi, tra cui scrivere riassunti, storie e barzellette. Con un costo di formazione inferiore a 600 dollari, Alpaca è progettato per essere conveniente e facilmente replicabile. In modo davvero impressionante, vale la pena ricordare che Alpaca può essere eseguito anche solo su un laptop. Stiamo addestrando un modello simile ad Alpaca utilizzando i metodi di Stanford, ma con la nostra svolta.

Questo è solo uno dei modi in cui lavoriamo con gli ultimi progressi tecnologici in laboratorio e, grazie ad alcune potenti GPU NVIDIA, possiamo fare anche di più della semplice inferenza; ci stiamo allenando. Tieni d'occhio il prossimo articolo a breve sulla messa a punto di modelli come Meta LLaMa.

Interagisci con StorageReview 

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS feed