Guide 8 minuti

LoRA: adattare un modello AI senza riaddestrarlo da zero

LoRA permette di specializzare un modello addestrando piccoli adapter. Guida pratica a QLoRA, dataset, parametri, valutazione e uso con Ollama.

Piccolo adapter LoRA innestato in un grande modello AI con la frase Non riaddestrare tutto

LoRA permette di specializzare un modello linguistico addestrando una piccola quantità di parametri aggiuntivi, mentre il modello di base rimane congelato. È una delle tecniche più utili per rendere il fine-tuning accessibile anche a team e aziende che non dispongono dell’infrastruttura necessaria per riaddestrare miliardi di parametri.

Il vantaggio, però, non è automatico. LoRA non sostituisce un buon dataset, non aggiorna la conoscenza del modello come farebbe un sistema RAG e non corregge ogni problema con pochi esempi. Questa guida spiega quando usarla, come preparare una prova e quali controlli applicare prima della produzione.

In breve: LoRA mantiene fermi i pesi del modello di base e addestra piccole matrici aggiuntive, chiamate adapter. Il risultato è molto più leggero da conservare e distribuire rispetto a una copia completa del modello modificato.

Indice

  • Che cos’è LoRA
  • Perché consuma meno del fine-tuning completo
  • LoRA, QLoRA, RAG e prompt: quale scegliere
  • Quando LoRA è utile in una PMI
  • Dataset: la parte che determina il risultato
  • Parametri principali
  • Procedura pratica in otto passi
  • Distribuzione con Ollama
  • Sicurezza, licenze e governance
  • Errori da evitare
  • FAQ

Che cos’è LoRA

LoRA significa Low-Rank Adaptation. La tecnica nasce per adattare modelli molto grandi senza aggiornare tutti i loro parametri.

Durante un fine-tuning completo, l’addestramento modifica le grandi matrici che compongono il modello. LoRA lascia invece invariata la matrice originale e apprende la sua variazione attraverso due matrici molto più piccole. Durante l’uso, il modello combina il comportamento di base con l’aggiornamento appreso dall’adapter.

Il paper originale mostra che questo approccio può ridurre drasticamente il numero di parametri addestrabili e la memoria necessaria. Non significa che ogni adapter eguagli sempre un fine-tuning completo: qualità del modello di partenza, dati, parametri e metodo di valutazione restano decisivi.

LoRA appartiene alla famiglia PEFT, Parameter-Efficient Fine-Tuning. La definizione generale di fine-tuning aiuta a collocarla nel processo più ampio di adattamento dei modelli.

Perché LoRA consuma meno

Immagina un modello composto da miliardi di valori. Nel fine-tuning completo bisogna calcolare e conservare aggiornamenti per una parte molto grande di questi valori, insieme agli stati necessari all’ottimizzatore. LoRA interviene soltanto su un insieme ridotto di parametri aggiuntivi.

Questo comporta vantaggi concreti:

  • minore memoria durante l’addestramento;
  • checkpoint e adapter molto più piccoli;
  • possibilità di mantenere più specializzazioni sullo stesso modello di base;
  • trasferimento e versionamento più semplici;
  • possibilità di attivare, sostituire o rimuovere un adapter;
  • fusione dell’adapter nel modello quando serve una distribuzione autonoma.

Il risparmio non riguarda necessariamente l’inferenza del modello di base: per generare una risposta bisogna comunque caricare quel modello. LoRA rende più leggero soprattutto l’adattamento e la gestione delle varianti.

LoRA, QLoRA, RAG o prompt engineering?

Prima di addestrare qualcosa, identifica quale problema stai cercando di risolvere.

Esigenza Approccio iniziale consigliato Perché
Dare istruzioni, tono e formato Prompt engineering È rapido, reversibile e non richiede addestramento
Rispondere usando documenti aggiornati RAG Mantiene le fonti separabili, aggiornabili e citabili
Rendere stabile uno stile o un comportamento LoRA Insegna regolarità attraverso esempi
Adattare con poca VRAM QLoRA Carica il modello di base quantizzato e addestra adapter LoRA
Modificare profondamente tutte le capacità Fine-tuning completo Offre più libertà, ma richiede più dati e risorse

Una regola utile: usa LoRA per insegnare un comportamento, non come archivio di informazioni aziendali. Se prezzi, procedure o cataloghi cambiano, è preferibile recuperarli al momento della domanda tramite RAG o strumenti collegati.

Che differenza c’è tra LoRA e QLoRA?

LoRA congela il modello di base e addestra matrici a basso rango. QLoRA aggiunge un passaggio: carica il modello congelato in forma quantizzata, tipicamente a 4 bit, e propaga l’addestramento verso gli adapter. In questo modo riduce ulteriormente la memoria richiesta.

La quantizzazione permette quindi di lavorare con modelli più grandi sull’hardware disponibile. Introduce però dipendenze e scelte tecniche aggiuntive: formato, tipo numerico, compatibilità della GPU, precisione di calcolo e modalità di esportazione.

Quando LoRA è utile per professionisti e PMI

Classificazione coerente delle richieste

Un’azienda riceve ticket molto diversi, ma vuole che il modello restituisca sempre categoria, priorità, reparto e motivazione in JSON. Un buon prompt può bastare; LoRA diventa interessante se la tassonomia è particolare e il comportamento deve rimanere stabile su molti esempi.

Stile e struttura dei documenti

Un adapter può insegnare come trasformare appunti tecnici in una relazione con sezioni, terminologia e livello di dettaglio coerenti. Non dovrebbe però memorizzare dati personali o documenti dei clienti.

Estrazione da testi specialistici

LoRA può adattare un modello a riconoscere campi, abbreviazioni e formulazioni ricorrenti in preventivi, rapportini o richieste di assistenza, purché il dataset rappresenti bene anche eccezioni e casi incompleti.

Tool calling specializzato

Può aiutare un modello a scegliere con maggiore regolarità uno strumento e compilare gli argomenti nel formato previsto. Le autorizzazioni reali devono comunque essere applicate dall’applicazione: l’adapter non è un controllo di sicurezza.

Quando non conviene

LoRA non è la prima scelta quando:

  • mancano esempi corretti e rappresentativi;
  • il problema si risolve con istruzioni più chiare;
  • le informazioni cambiano spesso;
  • servono citazioni verificabili dai documenti;
  • non esiste un set di test separato;
  • l’obiettivo è “rendere il modello genericamente più intelligente”;
  • l’organizzazione non può mantenere versioni, licenze e infrastruttura.

Prima di iniziare, confronta anche licenza e requisiti del modello open weights scelto. Poter scaricare i pesi non garantisce automaticamente il diritto di produrre o distribuire una variante.

Il dataset determina il risultato

L’adapter apprende i pattern presenti negli esempi, inclusi errori, incoerenze e scorciatoie. Centinaia di esempi puliti possono essere più utili di migliaia di righe raccolte senza controllo.

Per un progetto supervisionato, ogni esempio può contenere una conversazione:

{
  "messages": [
    {"role": "user", "content": "Il centralino della sede non riceve chiamate."},
    {"role": "assistant", "content": "{\"categoria\":\"telefonia\",\"priorita\":\"alta\",\"reparto\":\"UC\"}"}
  ]
}

La documentazione di Hugging Face TRL supporta dataset testuali, conversazionali e prompt-completion. Se l’obiettivo è apprendere la risposta dell’assistente, è importante configurare il training affinché la loss non premi inutilmente la riproduzione delle istruzioni dell’utente.

Regole pratiche per i dati

  • rimuovi o anonimizza dati personali non necessari;
  • definisci una sola risposta corretta per la stessa situazione;
  • includi casi normali, casi limite e richieste da rifiutare;
  • separa training, validazione e test prima di addestrare;
  • evita duplicati quasi identici tra training e test;
  • conserva origine, licenza e versione del dataset;
  • fai revisionare un campione a chi conosce il processo reale.

Il set di test deve rimanere fuori dall’addestramento. Se lo usi ripetutamente per correggere il dataset, rischia di diventare indirettamente parte del training; prepara allora un’ulteriore verifica finale.

I parametri principali senza perdersi nella matematica

Rank (r)

Definisce la capacità delle matrici aggiuntive. Un rank più alto introduce più parametri addestrabili e maggiore flessibilità, ma aumenta memoria e dimensione dell’adapter. Non partire automaticamente dal valore massimo: confronta alcune configurazioni sul set di validazione.

Alpha

Controlla la scala con cui l’aggiornamento LoRA influenza il modello. Va considerato insieme al rank e all’implementazione utilizzata.

Target modules

Indica a quali livelli applicare LoRA. I nomi cambiano tra architetture. La libreria PEFT permette anche di selezionare tutti i livelli lineari, approccio usato frequentemente nelle configurazioni QLoRA.

Dropout

Può ridurre l’overfitting quando i dati sono limitati, ma non compensa un dataset incoerente.

Learning rate, epoche e lunghezza

Un learning rate eccessivo o troppe epoche possono far apprendere rigidamente gli esempi. La lunghezza delle sequenze influisce in modo rilevante sulla memoria. Registra ogni configurazione invece di affidarti a tentativi non riproducibili.

Procedura pratica in otto passi

1. Definisci una metrica

Per l’estrazione JSON puoi misurare validità sintattica, correttezza dei campi e gravità degli errori. Per lo stile, prepara una griglia di valutazione e revisori umani.

2. Crea una baseline

Prova prima il modello originale con un prompt ben costruito. Il miglioramento dell’adapter deve essere misurato rispetto a questa baseline, non rispetto a una sensazione.

3. Scegli il modello di base

Valuta lingua italiana, licenza, dimensione, contesto e compatibilità con il framework. Per l’uso locale consulta la checklist hardware e architetturale.

4. Prepara e valida i dati

Correggi formati, duplicati e informazioni sensibili. Congela il test set e assegna una versione al dataset.

5. Avvia una prova piccola

Usa una configurazione conservativa e pochi cicli. Controlla andamento della loss, esempi generati e consumo di memoria.

6. Confronta base e adapter

Esegui gli stessi prompt, con le stesse impostazioni di generazione. Valuta anche se sono peggiorate capacità che vuoi preservare.

7. Salva artefatti e documentazione

Conserva adapter, configurazione, modello base esatto, commit, tokenizer, template di chat, dataset, metriche e licenze.

8. Distribuisci con rollback

Rilascia inizialmente a un piccolo gruppo. Mantieni modello base e adapter precedente pronti, registra le segnalazioni e definisci quando disattivare la nuova versione.

Usare un adapter LoRA con Ollama

Ollama permette di creare un modello a partire da un modello base e da un adapter compatibile. Un Modelfile essenziale può essere:

FROM modello-base-usato-nel-training
ADAPTER /percorso/adapter

Poi:

ollama create assistente-specializzato -f Modelfile
ollama run assistente-specializzato

Il modello in FROM deve corrispondere a quello usato per produrre l’adapter. La documentazione ufficiale di Ollama avverte che una base diversa può generare risultati erratici. Anche formato e metodo di quantizzazione devono essere compatibili.

Se non hai ancora l’ambiente, parti dalla guida per installare Ollama e usa Open WebUI con Ollama per una prima prova controllata. Non confondere però l’importazione di un adapter con il suo addestramento: LoRA deve essere prodotto in precedenza con un framework compatibile.

Sicurezza, licenze e governance

Un adapter è un artefatto software e può modificare il comportamento del modello in modi non immediatamente visibili.

Prima della produzione:

  • scaricalo soltanto da origini affidabili o addestralo internamente;
  • preferisci formati che non eseguano codice arbitrario;
  • verifica hash, provenienza, modello base e licenza;
  • prova jailbreak, input ostili e richieste fuori dominio;
  • non affidare all’adapter permessi o autorizzazioni;
  • conserva log e versione per poter ricostruire una risposta;
  • testa nuovamente dopo ogni merge o quantizzazione;
  • documenta chi approva dataset, training e rilascio.

Se il modello genera decisioni o azioni con conseguenze significative, mantieni controlli applicativi, approvazione umana e procedure di arresto. LoRA modifica probabilità e comportamento; non garantisce verità, conformità o rispetto delle policy.

Errori da evitare

  • Addestrare dati che dovrebbero stare nel RAG. Le informazioni aggiornabili devono restare separabili dal modello.
  • Valutare sugli stessi esempi del training. Il risultato apparirà migliore di quanto sia.
  • Dimenticare il modello base. Un adapter senza identità e versione della base non è riproducibile.
  • Usare troppi esempi sintetici non revisionati. Il modello può amplificare errori e formule artificiali.
  • Cambiare più parametri contemporaneamente. Diventa difficile capire quale scelta abbia migliorato o peggiorato il risultato.
  • Distribuire senza test regressivi. La specializzazione può danneggiare risposte generali utili.
  • Confondere QLoRA con una garanzia di qualità. Riduce la memoria, ma non corregge dati o obiettivi sbagliati.

FAQ

LoRA rende il modello più aggiornato?

Non nel modo più controllabile. Per conoscenze che cambiano, usa RAG, ricerca o strumenti collegati. LoRA è più adatta a comportamento, stile e compiti ricorrenti.

Quanti esempi servono?

Non esiste un numero universale. Dipende dalla varietà del compito, dalla qualità della base e dalla precisione richiesta. Inizia con un dataset piccolo ma revisionato e misura gli errori per capire quali esempi mancano.

Posso addestrare LoRA su una GPU consumer?

Spesso sì con modelli contenuti e soprattutto con QLoRA, ma VRAM, lunghezza delle sequenze, batch e architettura cambiano molto il requisito. Esegui una prova prima di acquistare hardware.

Un adapter contiene i dati di training?

Non è un archivio leggibile dei record originali, ma può memorizzare o riprodurre informazioni presenti nei dati. Non inserire segreti o dati personali senza una valutazione specifica.

Conviene fondere l’adapter nel modello?

Il merge semplifica alcune distribuzioni e può evitare l’overhead dell’adapter separato. Riduce però la facilità con cui puoi sostituirlo o disattivarlo. Conserva sempre adapter e base originali.

LoRA sostituisce un buon prompt?

No. Istruzioni, template e contesto restano importanti. La baseline con prompt è anche il riferimento necessario per dimostrare che il training abbia prodotto un beneficio reale.

Conclusioni

LoRA rende possibile adattare un modello senza replicare e riaddestrare tutti i suoi parametri. Per una PMI il vantaggio più interessante non è soltanto il risparmio di memoria, ma la possibilità di gestire piccoli adapter specializzati e versionati sopra una base comune.

La sequenza corretta è: prima prompt e baseline, poi dati revisionati, quindi prova LoRA o QLoRA, valutazione separata e rilascio con rollback. Se non puoi misurare il miglioramento, non sei ancora pronto ad addestrare.

Fonti ufficiali e primarie


Vuoi ricevere guide pratiche su AI locale, modelli e governance? Iscriviti gratuitamente alla newsletter di Basi di AI.

Una pillola di AI

Capire prima. Usare meglio.

Ricevi guide pratiche e notizie selezionate, senza rumore e senza sensazionalismi.

Iscriviti gratuitamente
Giuseppe D'Agata
Scritto da

Giuseppe D'Agata

Solution Engineer in Zenita Group e autore di Basi di AI. Oltre 24 anni di esperienza in infrastrutture ICT, networking, Unified Communication, software, automazione e intelligenza artificiale.