Fine tuning LLM vs RAG: come insegnare l'intelligenza artificiale al tuo business
Dovresti addestrare il tuo modello di intelligenza artificiale? Probabilmente no. La differenza matematica tra "Apprendimento di un'abilità" (Fine-Tuning) e "Lettura di un libro" (RAG).
Il malinteso “Formazione”.
Nel 2025, ogni CTO ha lo stesso mandato: “Abbiamo bisogno della nostra intelligenza artificiale”.
Vengono da noi e dicono: “Vogliamo addestrare un modello sui nostri dati in modo che conosca il nostro catalogo prodotti”.
Quando dicono “Train”, immaginano un apprendimento in stile “Matrix”. Carica i dati e l’IA conosce il kung fu.
Questo è un malinteso fondamentale su come funzionano i Large Language Models (LLM).
Presumono che la pipeline sia:
Documenti -> Ottimizzazione -> Modello intelligente.
In realtà, il Fine-Tuning non è quasi mai lo strumento giusto per l’iniezione di conoscenza.
Per capirne il motivo, dobbiamo distinguere tra Memoria procedurale (abilità) e Memoria semantica (fatti).
Il Fine-Tuning insegna al modello come parlare. RAG insegna al modello di cosa parlare.
Perché Maison Code ne parla
Noi di Maison Code creiamo sistemi di intelligenza artificiale aziendale. Vediamo aziende che bruciano 50.000 dollari per mettere a punto Llama 3 sulla loro documentazione, solo per scoprire che il modello presenta ancora allucinazioni. “Perché dice che il prodotto costa € 50? Abbiamo aggiornato il prezzo a € 60 nel set di dati!” Perché I pesi sono fissi. Una volta che un modello apprende un fatto durante l’addestramento, è difficile disimpararlo. Implementiamo architetture RAG (Retrieval Augmented Generation) perché sono dinamiche, più economiche e basate sulla verità. Salviamo i nostri clienti dalla “Trappola della Formazione”.
L’analogia studentesca
Immagina di inviare uno studente (LLM) a un esame di biologia (The User Query). Lo studente è intelligente ma non conosce il curriculum specifico della tua università (I tuoi dati aziendali).
Approccio 1: Pre-formazione (il bambino)
Questo significa costruire il cervello da zero. Insegni al bambino a leggere, scrivere, fare logica e capire il mondo. Costo: 100 milioni di dollari + 10.000 GPU. Chi lo fa: OpenAI, Google, Meta, Mistral. Non dovresti MAI farlo. A meno che tu non sia una nazione sovrana.
Approccio 2: Messa a punto (The Med School)
Prendi uno studente intelligente e lo mandi alla facoltà di medicina per 4 anni. Si comportano come un medico. Parlano come un dottore usando parole latine. Scrivono le prescrizioni correttamente. Ma conoscono la pressione sanguigna del paziente John Doe in questo momento? No. Perché si sono diplomati ieri. Non hanno accesso alla cartella clinica in tempo reale. La messa a punto modifica il comportamento e lo stile. Insegna la nuova sintassi del modello (ad esempio “MaisonScript”), o come essere scortese/educato o come generare JSON. NON va bene per i fatti, perché i fatti cambiano. Costo: € 1.000 - € 10.000.
Approccio 3: RAG (esame del libro aperto)
Prendi uno studente intelligente. Non li mandi alla facoltà di medicina. Invece, dai loro un enorme libro di testo (Il tuo database) e dici: “Puoi cercare la risposta durante l’esame.” Quando arriva la domanda (“Qual è la pressione sanguigna di John Doe?”), lo studente cerca nel libro, trova la pagina, la legge e genera la risposta. RAG (Retrieval Augmented Generation) gestisce la Conoscenza. Costo: € 0,01 per query.
Approfondimento: Retrieval Augmented Generation (RAG)
RAG è l’architettura scelta per il 95% delle applicazioni AI aziendali. Risolve due enormi problemi:
- Allucinazione: il modello è costretto a utilizzare il contesto fornito. Se il contesto dice “Le vendite sono state di 5 milioni di dollari”, il modello non indovinerà “10 milioni di dollari”.
- Staleness: non è necessario addestrare nuovamente il modello quando l’inventario cambia. Basta aggiornare il database.
Lo stack RAG
- Ingestione:
- Prendi i tuoi PDF, documenti Notion, database SQL.
- Chunking: dividili in piccoli pezzi (ad esempio, 500 parole). Sovrapponili di 50 parole per preservare il contesto.
- Incorporamento:
- Passa ogni blocco attraverso un modello di incorporamento (OpenAI
text-embedding-3-smalloCohere). - Questo converte il testo in un vettore (un elenco di 1536 numeri).
- Passa ogni blocco attraverso un modello di incorporamento (OpenAI
- Database vettoriale:
- Memorizza questi vettori in Pinecone, Weaviate o pgvector.
- Recupero:
- L’utente chiede: “Abbiamo camicie rosse?”
- Converti domanda in vettore.
- Cerca nel database i “vicini più vicini” (somiglianza coseno).
- Il DB restituisce: “Pacchetto maglietta rossa - Stock: 50”.
- Generazione:
- Prompt di costruzione:
“testo”.
Sei un assistente utile. Rispondi alla domanda dell’utente basandosi SOLO sul contesto riportato di seguito.
Contesto: “Pacchetto maglietta rossa - Stock: 50”
Domanda: “Abbiamo camicie rosse?”
Risposta:
- LLM risponde: “Sì, ne abbiamo 50 in stock.”
- Prompt di costruzione:
“testo”.
Sei un assistente utile. Rispondi alla domanda dell’utente basandosi SOLO sul contesto riportato di seguito.
Contesto: “Pacchetto maglietta rossa - Stock: 50”
Domanda: “Abbiamo camicie rosse?”
Risposta:
Quando necessario: messa a punto (adattamento del dominio)
Quindi il Fine Tuning è inutile? No. Presenta casi d’uso specifici in cui RAG fallisce.
Caso d’uso 1: il generatore di codice Hai un linguaggio di programmazione interno chiamato “MaisonScript”. GPT-4 non l’ha mai visto. RAG non sarà d’aiuto perché se recuperi uno snippet di codice, il modello continua a non comprendere la grammatica o le regole del compilatore. Perfeziona Llama 3 su 50.000 righe di MaisonScript. Ora “parla” fluentemente la lingua.
Caso d’uso 2: la voce del brand Sei un marchio di lusso. Non usi mai gli emoji. Sembri sempre un po’ distaccato e francese. La personalità predefinita di GPT-4 è “Funzionalità cheerleader”. Prompt Engineering (“Non usare emoji”) è debole. Si dimentica. Puoi perfezionarlo su 1.000 e-mail precedenti del tuo team di portineria. Ora adotta quella persona in modo naturale il 100% delle volte.
Caso d’uso 3: latenza e riduzione dei costi GPT-4 è costoso e lento. Puoi utilizzare GPT-4 per generare dati di allenamento (Domande + Risposte perfette). Quindi metti a punto un piccolo modello (Mistral 7B o GPT-3.5) su quei dati. Il modello minuscolo impara a imitare il modello grande. Ora esegui il modello piccolo per 1/10 del costo e 10 volte la velocità. Questa è la Distillazione.
L’analisi costi/benefici
| Caratteristica | RAG | Messa a punto |
|---|---|---|
| Fonte di conoscenza | Dinamico (DB in tempo reale) | Statico (set di allenamento) |
| Tempo di configurazione | Giorni | Settimane/Mesi |
| Manutenzione | Basso (sincronizzazione automatica) | Alto (riaddestrarsi ad ogni deriva) |
| Precisione | Alto (a terra) | Medio (allucinazioni possibili) |
| Costo | Archiviazione + Incorporamenti | Calcolo (formazione GPU) |
| Ideale per | QA, ricerca, analisi | Stile, tono, codice, logica |
11. Valutazione: come fai a sapere che funziona?
“Il modello sembra buono.” -> Questa non è ingegneria. Utilizziamo il framework RAGAS (Retrieval Augmented Generation Assessment). Misura:
- Fedeltà: la risposta si basa solo sul contesto?
- Pertinenza della risposta: ha effettivamente calcolato la pressione sanguigna?
- Precisione del contesto: il database ha restituito la pagina giusta? Eseguiamo questa suite di valutazione in CI/CD. Se la precisione del modello scende al di sotto del 90%, la distribuzione non riesce.
12. Ridimensionamento del database vettoriale (limite di 10 milioni)
Pinecone è ottimo per i vettori da 100k. E che ne dici di 100 milioni? Su larga scala, “Exact KNN” (trovare la corrispondenza perfetta) è troppo lento. Utilizziamo l’indice HNSW (Hierarchical Navigable Small World). È una ricerca approssimativa (ANN). Scambia una precisione dell’1% con una velocità di 1000x. Abilitiamo anche la Ricerca ibrida (parola chiave + vettore) per gestire le ricerche esatte di SKU (“Mostrami SKU-123”), in cui la ricerca vettoriale è notoriamente pessima.
13. Data Curation: Garbage In, Garbage Out
Allenarsi su 100 cattivi esempi è peggio che allenarsi su 0. Se addestri un modello sui registri dell’assistenza clienti e i tuoi agenti sono scortesi, l’intelligenza artificiale sarà scortese. La Data Curation rappresenta l’80% del lavoro.
- Deduplicazione: rimozione delle domande identiche.
- Eliminazione PII: rimuovi email e numeri di telefono.
- Gold Standard: chiedi a un essere umano esperto di riscrivere le risposte affinché siano perfette. Abbiamo creato uno strumento interno “Maison Annotate” per aiutare i team a pulire i propri set di dati prima che venga avviata una singola GPU.
14. Formazione efficiente: LoRA (adattamento di basso livello)
La messa a punto completa aggiorna 70 miliardi di parametri. Ciò richiede 8 GPU H100 ($ 30/ora). LoRA congela i pesi principali e addestra solo un piccolo livello “Adattatore” (1% dei parametri). Risultato: puoi addestrare Llama 3 su una singola GPU consumer (RTX 4090). Il file dell’adattatore pesa solo 100 MB. È possibile sostituire a caldo gli adattatori in fase di runtime:
- L’utente A parla con “Adattatore medico”.
- L’utente B parla con “Legal Adapter”. Tutti serviti dallo stesso modello base.
15. Conclusione: il futuro ibrido
I migliori sistemi li utilizzano entrambi. Lo chiamiamo RAG ottimizzato.
- Perfeziona un modello piccolo ed efficiente per essere davvero bravo a leggere il formato del tuo documento specifico e a generare l’output del tuo schema JSON specifico.
- Utilizzare RAG per fornire a quel modello i fatti più recenti dal database. Questo ti dà l’affidabilità di uno specialista (Fine-Tuning) con la conoscenza di un’enciclopedia (RAG). Non scegliere. Combina.
Modello allucinante?
Se il tuo chatbot AI mente ai tuoi clienti o il tuo progetto di “Formazione” non ha prodotto risultati, Maison Code può riprogettare la tua pipeline. Implementiamo sistemi RAG di livello produttivo utilizzando Pinecone e LangChain per radicare la tua intelligenza artificiale nella verità.