Cosa cambia ogni approccio
Ogni risposta fornita da un modello dipende da due elementi: i suoi pesi, fissati al momento dell'addestramento, e il contesto che legge al momento della richiesta. Il prompting e il recupero agiscono sul contesto. Il fine-tuning agisce sui pesi.
Modifica istantanea. Le istruzioni vengono inviate, e pagate, a ogni richiesta.
La conoscenza rimane all'esterno del modello, in modo da poter essere aggiornata e citata. Il modo in cui il modello risponde rimane invariato.
Il comportamento viene appreso una volta sola, in anticipo. Richiede buoni esempi e una nuova esecuzione quando il comportamento deve cambiare.
Prompting
Il prompting consiste nello scrivere istruzioni, e spesso alcuni esempi pratici, all'interno della richiesta. Non richiede addestramento, ha effetto immediato ed è facile da modificare, il che lo rende il punto di partenza ideale. I suoi costi sono per chiamata: un prompt di 2.000 token viene pagato a ogni richiesta, aggiunge latenza e occupa spazio nella finestra di contesto. Inoltre, i prompt lunghi vengono seguiti in modo imperfetto — più regole ci sono, più è probabile che alcune vengano ignorate o applicate in modo incoerente.
Retrieval-augmented generation (RAG)
La retrieval-augmented generation aggiunge una fase di ricerca. I vostri documenti vengono indicizzati in anticipo; per ogni domanda, i passaggi più rilevanti vengono recuperati e inseriti nel prompt, e il modello risponde basandosi su di essi. Il termine deriva da un articolo del 2020 di Lewis e colleghi. Poiché la conoscenza risiede all'esterno del modello, è possibile aggiornarla aggiornando i documenti, e le risposte possono citare le loro fonti. Il modo di rispondere del modello rimane tuttavia invariato: continua a scrivere nel proprio stile e formato.
Quando l'obiettivo è la conoscenza, il recupero tende a vincere. Un confronto del 2023 di Ovadia e colleghi ha rilevato che il recupero ha costantemente superato il fine-tuning non supervisionato nell'inserire fatti nelle risposte di un modello, sia per i fatti che il modello aveva già visto sia per quelli del tutto nuovi.
Fine-tuning
Il fine-tuning continua l'addestramento del modello sui vostri esempi, in modo che il comportamento desiderato diventi quello predefinito. Le istruzioni che altrimenti ripetereste in ogni prompt — il tono, la struttura di una risposta, il livello di dettaglio da fornire, cosa fare con una domanda poco chiara — vengono apprese una volta sola. Il risultato risponde in quel modo anche con un prompt breve, il che può rendere ogni richiesta più economica e veloce, e può consentire a un modello di piccole dimensioni di svolgere un compito specifico altrettanto bene di uno più grande con un prompt accurato.
I suoi costi si presentano in anticipo: sono necessari buoni esempi, un ciclo di addestramento, una valutazione e un nuovo ciclo ogni volta che il comportamento desiderato cambia. I fatti appresi in questo modo vengono congelati al momento dell'addestramento e vengono ricordati in modo meno affidabile rispetto ai fatti forniti nel prompt.
Come scegliere
| Se la domanda è… | Indica |
|---|---|
| Il modello ha bisogno di fatti che cambiano settimanalmente, o di un'ampia raccolta di documenti? | Recupero |
| Le risposte devono mostrare da dove proviene un fatto? | Recupero |
| Il problema è come risponde — tono, formato, lunghezza, coerenza? | Fine-tuning |
| I vostri prompt sono lunghi e ripetuti a ogni chiamata? | Il fine-tuning può assorbirli |
| Un modello più piccolo ed economico dovrebbe eguagliare uno più grande in un'attività? | Fine-tuning o distillazione |
| State ancora cercando di capire come si presenta una buona risposta? | Prima il prompting |
- Settimana 1 — prompting. Un prompt di sistema descrive il prodotto e il tono. Funziona, ma le risposte variano nel formato e il prompt cresce fino a 1.800 token man mano che vengono aggiunte regole.
- Settimana 3 — retrieval. Gli articoli del centro di assistenza vengono indicizzati e i tre più pertinenti vengono aggiunti a ogni richiesta. Le risposte sulle funzionalità diventano precise e aggiornate.
- Settimana 6 — fine-tuning. Trecento chat di supporto revisionate insegnano il formato e il tono. Il prompt di sistema si riduce a due frasi; il retrieval fornisce ancora i fatti.
- Risultato. Ogni richiesta contiene molti meno token di istruzione, le risposte sono coerenti e modificare una policy significa ancora modificare un documento anziché riaddestrare il modello.
Errori comuni
- Effettuare il fine-tuning per insegnare fatti che cambiano, per poi riaddestrare il modello ogni volta che accade.
- Confrontare un modello sottoposto a fine-tuning con un modello di base con un prompt inadeguato; confrontatelo con il miglior prompt a vostra disposizione.
- Aspettarsi che il recupero corregga il tono o il formato; cambia solo ciò che il modello legge.
- Abbandonare il prompt di sistema dopo il fine-tuning quando il modello è stato addestrato con esso.
- Effettuare il fine-tuning prima di sapere come si presenta una buona risposta, con il risultato che gli esempi sono in disaccordo tra loro.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01Retrieval-Augmented Generation for Knowledge-Intensive NLP TasksLewis et al., 2020 · arXiv · arxiv.orgL'articolo che ha dato il nome e introdotto la RAG.
- 02Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMsOvadia et al., 2023 · arXiv · arxiv.orgUn confronto diretto tra i due per l'aggiunta di conoscenza.
- 03Model optimizationOpenAI API docs · developers.openai.comIl punto di vista di un provider su quando utilizzare il prompting, valutare ed effettuare il fine-tuning.
- 04Prompt engineering overviewClaude Platform Docs · platform.claude.comFino a che punto può spingersi un prompting accurato prima che sia necessario l'addestramento.