Fine-tuning
Ultimo aggiornamento:
Che cos’è il fine-tuning
I modelli linguistici di grandi dimensioni partono da un pre-addestramento generale su enormi quantità di testo. Il fine-tuning è un secondo addestramento, molto più piccolo, su esempi scelti da te, di solito coppie di input e output desiderato. Il risultato è una nuova versione del modello i cui parametri interni, chiamati pesi, si sono spostati verso quegli esempi.
Il fine-tuning è adatto a insegnare schemi: un tono costante, un formato di output fisso, uno schema di classificazione o un linguaggio di settore. È meno adatto a insegnare fatti che cambiano, come prezzi, disponibilità o orari, perché ogni modifica richiederebbe un nuovo addestramento.
Come funziona il fine-tuning
Un progetto di fine-tuning tipico segue quattro passaggi:
- Raccogliere esempi: coppie di input e output di qualità che mostrano il comportamento desiderato. Qualità e coerenza contano più della quantità.
- Addestrare: il fornitore del modello o la tua infrastruttura regolano i pesi del modello su quegli esempi, spesso con metodi come LoRA che aggiornano solo una piccola parte del modello.
- Valutare: confrontare il modello adattato con l’originale su domande di prova mai viste, per verificare che sia migliorato senza perdere capacità generali.
- Mettere in produzione e mantenere: il modello adattato sostituisce quello di base nella tua applicazione e va riaddestrato quando il modello di base viene ritirato o il comportamento desiderato cambia.
Esempio
Uno studio legale vuole che il suo assistente interno riassuma le telefonate con i clienti in un formato rigido in cinque parti. Con le sole istruzioni il formato è corretto quasi sempre, ma non sempre. Lo studio fa il fine-tuning di un modello su qualche centinaio di riassunti scritti in passato dal personale, e il modello adattato rispetta il formato con più costanza. Per i dati fattuali, come il tariffario in vigore, lo studio continua a usare il recupero di documenti, perché quei dati cambiano durante l’anno.
Perché conta per i chatbot aziendali
Per la maggior parte dei chatbot sui siti web il compito principale è rispondere correttamente a partire dai contenuti aggiornati dell’azienda. La retrieval-augmented generation (RAG) di solito lo fa meglio del fine-tuning: le modifiche valgono non appena i contenuti vengono reindicizzati, le risposte si possono ricondurre alle fonti e non serve costruire un dataset di addestramento. Il fine-tuning ha senso quando un’azienda ha bisogno di un comportamento specifico che istruzioni chiare ed esempi non riescono a ottenere, e ha dati e budget per mantenere un modello personalizzato.
| Fine-tuning | RAG | |
|---|---|---|
| Cosa cambia | I pesi del modello | Il testo fornito al modello |
| Adatto a | Stile, formato, compiti ristretti | Fatti, condizioni, informazioni sui prodotti |
| Aggiornare le conoscenze | Riaddestrare il modello | Modificare e reindicizzare i contenuti |
| Tracciabilità | Difficile capire da dove viene una risposta | Le risposte rimandano ai passaggi di origine |
Il fine-tuning e intoCHAT
intoCHAT non fa fine-tuning dei modelli. Quando «addestri» un agente intoCHAT, le tue pagine web, i file, gli snippet di testo e le coppie di domande e risposte vengono trasformati in chunk consultabili con i relativi embedding. Il modello sottostante, un modello OpenAI scelto e gestito da intoCHAT, resta lo stesso. Per questo le modifiche valgono dopo aver riaddestrato una fonte, senza attendere un ciclo di addestramento. Tono e comportamento li definisci con le istruzioni dell’agente e con coppie di domande e risposte per le risposte che devono essere esatte.