Llama 2 Cloud Server GPU

Fine-Tuning di LLama-2, il Chat GPT opensource di Meta, con Cloud Server GPU

Come potenziare Llama2, il LLM di Meta, con Cloud Server GPU. Le nostre GPU possono rendere Llama2 più congeniale alle nostre esigenze, con la possibilità di eseguirlo sul nostro server personale.
Indice dei contenuti

Negli ultimi tempi si sente sempre più parlare dei modelli linguistici (LLM) come GPT, Bard, BingAI e molti altri. Tuttavia, non sempre questi modelli si adattano perfettamente alle nostre specifiche esigenze.

Vediamo come l’uso del Cloud Server GPU può aiutarci a potenziare uno dei modelli linguistici più avanzati, rendendolo più congeniale alle nostre esigenze, con la possibilità di eseguirlo sul nostro server personale.

Il Large Language Model di Meta

Il 18 Luglio 2023, Meta ha collaborato con Microsoft nel rilasciare il Large Language Model LLama 2, un’alternativa open source al noto modello GPT di OpenAI. Sebbene GPT rimanga ancora la pietra miliare delle Intelligenze Artificiali generative testuali, questa nuova incarnazione di LLama 2 dimostra performance notevoli. 

Sono state sviluppate diverse iterazioni del modello, con dimensioni variabili da 7 a 70 miliardi di parametri, inclusi anche tagli specificamente modificati per agevolare la creazione di chatbot.

Un evidente punto debole del modello è l’uso predominante di dataset in lingua inglese per l’addestramento: solo lo 0,11% dei dati utilizzati per l’allenamento riguarda la lingua italiana. Di conseguenza, spesso le domande formulate in italiano non vengono comprese appieno.

Tuttavia, la vera forza di LLama 2 risiede nella sua natura open source. Infatti, è possibile scaricare direttamente dal sito di GitHub o da HuggingFace il modello nelle sue diverse versioni, studiarlo, testarlo e, soprattutto, addestrarlo con i nostri dati.

Ma attenzione, questa operazione richiede una struttura adeguata. E qui sta il fulcro del nostro articolo: l’addestramento di LLama 2 sfruttando la potenza del Cloud Server GPU

In questo articolo, analizzeremo in dettaglio questo processo e le sue implicazioni.

Prerequisiti: Cloud Server GPU, account su HuggingFace, accesso alle repository LLama 2

Affronteremo il fine-tuning della versione 7b-chat-hf di LLama 2, progettata per funzionare con la libreria Transformers ed ottimizzata per la creazione di chatbot. 

Prima di poter accedere ai file del modello, dovremo abilitare il nostro account su HuggingFace a richiedere l’accesso alle repository LLama. Questo si può ottenere accedendo ad una qualsiasi di esse mentre si è loggati al proprio account (meta-llama/Llama-2-7b-chat-hf · Hugging Face) e inoltrando la richiesta. 

Di solito, l’accesso viene concesso in poche ore. Non dimentichiamo di generare due hf_access_tokens (uno per la lettura e uno per la scrittura) dalle impostazioni del nostro account su HuggingFace, in quanto saranno necessari in seguito.

Seguendo la procedura indicata, affineremo il modello, “insegnandogli” la lingua italiana. Successivamente, il modello verrà automaticamente caricato sul nostro account HuggingFace.

La macchina che utilizzeremo per l’addestramento è un’istanza del Cloud Server GPU con una scheda grafica RTX A6000 e sistema operativo Ubuntu.

git clone https://github.com/itsrocchi/finetuning-llama2-ita.git

In seguito, sarà necessario scaricare ed installare tutti i driver e le dipendenze richieste. 

Per i driver, è possibile procedere con un’installazione manuale oppure utilizzare il comando `nvidia-installer` per avviare il tool automatico di installazione dei driver messo a disposizione da Seeweb

Per quanto riguarda le dipendenze software, utilizzeremo alcune specifiche librerie Python. Sarà sufficiente installare questi requisiti in un ambiente virtuale Python mediante il seguente comando:

pip install -r requirements.txt

Ora dobbiamo procurarci i dati necessari per addestrare il modello. 

Nel nostro caso, utilizzeremo un dataset creato da noi di Seeweb, chiamato seeweb/seeweb-it-292-forLLM

Questo dataset è composto da quasi 300 esempi di conversazioni in italiano. Naturalmente, è possibile utilizzare qualsiasi dataset, purché sia formattato correttamente.

Successivamente, dovremo aprire il nostro editor di testo e modificare il file finetuner.py. In particolare, andremo a completare le righe in cui è necessario aggiungere i nostri hf_token, il nome del nostro nuovo modello e il nome del dataset che intendiamo utilizzare (linee di codice 36, 94, 137, 157 e 158).

Ora che tutto è pronto, possiamo semplicemente eseguire il codice Python fornendo i parametri di addestramento:

python finetuner.py \
--model_name meta-llama/Llama-2-7b-chat-hf \
--dataset_name seeweb/Seeweb-it-292-forLLM \
--load_in_4bit \
--use_peft \
--batch_size 4 \
--gradient_accumulation_steps 1 \
--num_train_epochs 10

In questo modo, andremo ad addestrare il nostro modello per 10 epoche (circa 20 minuti).

Durante il training, possiamo monitorare costantemente lo stato della GPU aprendo un altro terminale e eseguendo il comando:

watch -n 1 nvidia-smi

Se tutto funziona correttamente, possiamo notare che la nostra GPU verrà utilizzata al 100%.

Una volta completato l’addestramento e il caricamento del modello, possiamo testarlo come desideriamo. Ad esempio, possiamo modificare ed eseguire lo script inference.py contenuto nella repository. Questo script genera un output da un prompt inserito all’interno del codice, che possiamo modificare a nostro piacimento.

Confrontiamo ora la risposta del nostro modello e del modello ufficiale di Meta ad una semplice richiesta: esprimere un concetto in un numero limitato di parole.

Modello ufficiale di Meta
Il modello di Seeweb

Possiamo notare come il modello ufficiale (quello su sfondo bianco) comprenda la domanda ma non sia in grado di rispondere correttamente in italiano, mentre il nostro modello (sfondo scuro) esegue brillantemente il compito!

In definitiva, il processo di affinamento del modello LLama 2 tramite l’impiego del Cloud Server GPU si rivela un passo cruciale per ottimizzare l’esperienza con l’intelligenza artificiale e il machine learning in italiano. Questa sinergia tra la potenza di calcolo offerta dalla GPU e la capacità di adattare il modello LLama 2 alle specifiche esigenze linguistiche locali apre nuovi orizzonti nell’ambito delle interazioni linguistiche avanzate.

Ecco perché ti invitiamo a scoprire le potenzialità del Cloud Server GPU. Questa soluzione, basata su potenti schede grafiche NVIDIA RTX A6000, A30, L4 e A100, offre una straordinaria potenza di calcolo, ottimizzata per il deep learning, big data processing e computer vision. I nostri server GPU sono pronti all’uso e offrono un ambiente già configurato, banda larga da 1Gbps e un traffico incluso pari a 1TB. La flessibilità del nostro modello di utilizzo consente di adottare il servizio anche per brevi periodi, adattandolo alle tue esigenze specifiche.

Settori come lo sviluppo di giochi online, il settore finanziario, medico, scientifico e artistico possono trarre massimo vantaggio da questa tecnologia. Non perdere l’opportunità di attivare le tue istanze Cloud Server GPU o di richiedere un supporto personalizzato per valutare le tue necessità.

CONDIVIDI SUI SOCIAL

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

25 + = 29