Scopri come eseguire Alpaca-LoRA sul tuo dispositivo con questa guida completa. Scopri come questo modello open-source sfrutta la tecnologia LoRA per offrire una soluzione di chatbot IA potente ma efficiente.
Man mano che l’IA generativa continua a prendere piede, gli sviluppatori in tutto il mondo colgono l’occasione per creare applicazioni entusiasmanti usando il linguaggio naturale. Uno strumento in particolare ha attirato molta attenzione di recente: ChatGPT.
ChatGPT è un modello linguistico sviluppato da OpenAI. Il suo scopo è quello di fungere da chatbot alimentato dall’IA, capace di sostenere dialoghi simili a quelli umani. Anche se è uno strumento molto utile, non è privo di problemi. ChatGPT non è open-source, il che significa che il codice sorgente non è accessibile e non può essere modificato. È anche estremamente avido di risorse, il che rende poco praticabile creare una tua implementazione.
Questi problemi hanno dato vita a una serie di alternative a ChatGPT, come Alpaca-LoRA, capaci di funzionare in modo simile a ChatGPT ma con licenza open-source e minori requisiti di risorse.
In questo tutorial ci concentreremo specificamente su Alpaca-LoRA. Vedremo cos’è, i prerequisiti per eseguirlo sul tuo dispositivo e i passaggi per metterlo in funzione.
Che cos’è Alpaca LoRA?
All’inizio di marzo 2023, Eric J. Wang ha rilasciato il progetto Alpaca-LoRA. È un progetto che contiene il codice per riprodurre i risultati di Standford Alpaca utilizzando la Parameter-Efficient Fine-Tuning (PEFT); si tratta di una libreria che consente agli sviluppatori di effettuare il fine-tuning di modelli basati su transformer utilizzando LoRA.
Capire LoRA
Low-Rank Adaptation dei Large Language Model (LoRA) è un metodo utilizzato per accelerare il processo di training di modelli di grandi dimensioni consumando meno memoria.
Ecco come funziona:
Congelare i pesi esistenti. Immagina il modello come una rete complessa di nodi interconnessi (questi sono i "pesi"). Normalmente li regoleresti tutti durante l’addestramento per migliorare il modello. LoRA dice: "Non tocchiamoli; lasciamoli così come sono".
Aggiungere nuovi pesi. LoRA aggiunge poi alcune nuove connessioni, più semplici (nuovi pesi), a questa rete.
Addestrare solo i nuovi pesi. Invece di regolare l’intera rete complessa, ti concentri solo sul migliorare queste nuove connessioni più semplici.
In questo modo risparmi tempo e memoria del computer, migliorando comunque le capacità del modello nei suoi compiti.
Vantaggi di LoRA
I vantaggi di LoRA includono:
Portabilità - Le matrici di pesi con decomposizione a rango hanno molti meno parametri addestrabili rispetto al modello originale; di conseguenza, i pesi LoRA addestrati sono facilmente portabili e possono essere eseguiti su Rasberry Pi.
Accessibilità – Rispetto al fine-tuning convenzionale, LoRA ha dimostrato di ridurre significativamente l’uso della memoria GPU; questo rende possibile effettuare il fine-tuning su GPU consumer come Tesla T4, RTX 3080 o anche RTX 2080 Ti.
Alpaca: il modello open-source
Alpaca, invece, è un modello linguistico open-source, istruito tramite instruction tuning, basato su Large Language Model Meta AI (LLaMA). È stato sviluppato da un team di ricercatori della Stanford University con l’obiettivo di rendere i large language model (LLM) più accessibili.
Ed eccoci ad Alpaca-LoRA.
Il modello Alpaca-LoRA è una versione meno esosa di risorse del modello Stanford Alpaca che sfrutta LoRA per velocizzare il processo di training consumando meno memoria.
Prerequisiti per Alpaca-LoRA
Per eseguire localmente il modello Alpaca-LoRA, devi disporre di una GPU. Può essere una GPU di fascia bassa come NVIDIA T4 o una GPU consumer come la 4090. Secondo Eric J. Wang, il creatore del progetto, il modello "gira in poche ore su una singola RTX 4090".
Nota: le istruzioni in questo articolo seguono quelle fornite nel repository Alpaca-LoRA di Eric J. Wang.
Come eseguire Alpaca-LoRA in 4 passaggi
Passaggio 1: crea l’ambiente virtuale (opzionale)
Gli ambienti virtuali sono contenitori isolati utilizzati per archiviare le dipendenze legate a Python necessarie a un progetto specifico. Questo aiuta a mantenere separate le dipendenze richieste da progetti diversi, rendendo più semplice condividere i progetti e ridurre i conflitti tra dipendenze.
Non è obbligatorio usarne uno per eseguire il modello Alpaca-LoRA, ma è consigliato.
Per creare un ambiente virtuale usando il prompt dei comandi su Windows, esegui quanto segue:
La repository alpaca-lora contiene un file chiamato finetune.py. finetune.py include, tra le altre cose, una semplice applicazione della Parameter-Efficient Fine-Tuning (PEFT) applicata al modello LLaMA.
È il file che devi eseguire se vuoi modificare gli iperparametri del modello, ma non è obbligatorio. Secondo l’autore della repository, “Senza tuning degli iperparametri, il modello LoRA produce output paragonabili al modello Stanford Alpaca. Un ulteriore tuning potrebbe consentire prestazioni migliori [...].”
Nella repository alpaca-lora c’è anche un file chiamato generate.py. L’esecuzione di generate.py farà quanto segue:
Leggere il modello di base dall’hub dei modelli di Hugging Face
Leggere i pesi del modello da tloen/alpaca-lora-7b
Avviare un’interfaccia Gradio in cui viene eseguita l’inferenza su un input specificato.
Al momento della stesura, l’adapter Alpaca-LoRA più recente utilizzato per addestrare il modello è alpaca-lora-7b. Questo è stato eseguito il 26 marzo 2023 con il seguente comando:
Alpaca-LoRA è una versione meno esosa di risorse del modello Stanford Alpaca. Raggiunge questo obiettivo sfruttando la low-rank adaptation dei large language model (LoRA), che velocizza il processo di training consumando molta meno memoria rispetto al modello Alpaca originale.
Approfondisci i large language model (LLM) e l’IA generativa con i seguenti tutorial:
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Scopri come usare l'IA generativa in modo responsabile. Scopri come si sviluppano i modelli di IA generativa e quale impatto avranno sulla società in futuro.
Scopri le basi dell'intelligenza artificiale, impara a usarla al meglio per il lavoro e immergiti in modelli come ChatGPT per orientarti nel mondo dinamico dell'IA.
Impara i concetti di base dell'Intelligenza Artificiale, come l'apprendimento automatico, l'apprendimento profondo, l'NLP, l'IA generativa e altro ancora.
Man mano che l’IA generativa continua a prendere piede, gli sviluppatori in tutto il mondo colgono l’occasione per creare applicazioni entusiasmanti usando il linguaggio naturale. Uno strumento in particolare ha attirato molta attenzione di recente: ChatGPT.
ChatGPT è un modello linguistico sviluppato da OpenAI. Il suo scopo è quello di fungere da chatbot alimentato dall’IA, capace di sostenere dialoghi simili a quelli umani. Anche se è uno strumento molto utile, non è privo di problemi. ChatGPT non è open-source, il che significa che il codice sorgente non è accessibile e non può essere modificato. È anche estremamente avido di risorse, il che rende poco praticabile creare una tua implementazione.
Questi problemi hanno dato vita a una serie di alternative a ChatGPT, come Alpaca-LoRA, capaci di funzionare in modo simile a ChatGPT ma con licenza open-source e minori requisiti di risorse.
In questo tutorial ci concentreremo specificamente su Alpaca-LoRA. Vedremo cos’è, i prerequisiti per eseguirlo sul tuo dispositivo e i passaggi per metterlo in funzione.
Che cos’è Alpaca LoRA?
All’inizio di marzo 2023, Eric J. Wang ha rilasciato il progetto Alpaca-LoRA. È un progetto che contiene il codice per riprodurre i risultati di Standford Alpaca utilizzando la Parameter-Efficient Fine-Tuning (PEFT); si tratta di una libreria che consente agli sviluppatori di effettuare il fine-tuning di modelli basati su transformer utilizzando LoRA.
Capire LoRA
Low-Rank Adaptation dei Large Language Model (LoRA) è un metodo utilizzato per accelerare il processo di training di modelli di grandi dimensioni consumando meno memoria.
Ecco come funziona:
In questo modo risparmi tempo e memoria del computer, migliorando comunque le capacità del modello nei suoi compiti.
Vantaggi di LoRA
I vantaggi di LoRA includono:
Alpaca: il modello open-source
Alpaca, invece, è un modello linguistico open-source, istruito tramite instruction tuning, basato su Large Language Model Meta AI (LLaMA). È stato sviluppato da un team di ricercatori della Stanford University con l’obiettivo di rendere i large language model (LLM) più accessibili.
Ed eccoci ad Alpaca-LoRA.
Il modello Alpaca-LoRA è una versione meno esosa di risorse del modello Stanford Alpaca che sfrutta LoRA per velocizzare il processo di training consumando meno memoria.
Prerequisiti per Alpaca-LoRA
Per eseguire localmente il modello Alpaca-LoRA, devi disporre di una GPU. Può essere una GPU di fascia bassa come NVIDIA T4 o una GPU consumer come la 4090. Secondo Eric J. Wang, il creatore del progetto, il modello "gira in poche ore su una singola RTX 4090".
Nota: le istruzioni in questo articolo seguono quelle fornite nel repository Alpaca-LoRA di Eric J. Wang.
Come eseguire Alpaca-LoRA in 4 passaggi
Passaggio 1: crea l’ambiente virtuale (opzionale)
Gli ambienti virtuali sono contenitori isolati utilizzati per archiviare le dipendenze legate a Python necessarie a un progetto specifico. Questo aiuta a mantenere separate le dipendenze richieste da progetti diversi, rendendo più semplice condividere i progetti e ridurre i conflitti tra dipendenze.
Non è obbligatorio usarne uno per eseguire il modello Alpaca-LoRA, ma è consigliato.
Per creare un ambiente virtuale usando il prompt dei comandi su Windows, esegui quanto segue:
Questo creerà un ambiente virtuale chiamato venv nella tua directory di lavoro corrente.
Nota: puoi usare qualsiasi nome preferisci per il tuo ambiente virtuale sostituendo il secondo venv con il nome desiderato.
Prima di installare qualsiasi dipendenza, devi attivare l’ambiente virtuale. Esegui il seguente comando per attivarlo:
Quando non utilizzi più l’ambiente virtuale, esegui il seguente comando per disattivarlo:
Ora sei pronto per metterti al lavoro con Alpaca-LoRA.
Passaggio 2: configurazione
Il primo passo per eseguire il modello Alpaca-LoRA è clonare il repository da GitHub e installare le dipendenze necessarie all’esecuzione.
Usa il seguente comando per installare il repository GitHub:
Quindi spostati nella repository
alpaca-lorache hai appena installato usando:E esegui il seguente comando per installare le dipendenze:
Passaggio 3: fine-tuning del modello (opzionale)
La repository
alpaca-loracontiene un file chiamatofinetune.py.finetune.pyinclude, tra le altre cose, una semplice applicazione della Parameter-Efficient Fine-Tuning (PEFT) applicata al modello LLaMA.È il file che devi eseguire se vuoi modificare gli iperparametri del modello, ma non è obbligatorio. Secondo l’autore della repository, “Senza tuning degli iperparametri, il modello LoRA produce output paragonabili al modello Stanford Alpaca. Un ulteriore tuning potrebbe consentire prestazioni migliori [...].”
Ecco un esempio di utilizzo del file
finetune.py:Passaggio 4: esecuzione del modello / inferenza
Nella repository
alpaca-lorac’è anche un file chiamatogenerate.py. L’esecuzione digenerate.pyfarà quanto segue:tloen/alpaca-lora-7bAl momento della stesura, l’adapter Alpaca-LoRA più recente utilizzato per addestrare il modello è
alpaca-lora-7b. Questo è stato eseguito il 26 marzo 2023 con il seguente comando:Se vuoi usare un adapter diverso, puoi farlo eseguendo il file
generate.pycon un collegamento alla destinazione del tuo adapter preferito.Conclusioni
Alpaca-LoRA è una versione meno esosa di risorse del modello Stanford Alpaca. Raggiunge questo obiettivo sfruttando la low-rank adaptation dei large language model (LoRA), che velocizza il processo di training consumando molta meno memoria rispetto al modello Alpaca originale.
Approfondisci i large language model (LLM) e l’IA generativa con i seguenti tutorial: