I modelli di base a volte generano un output che non è di fatto accurato. Se l'accuratezza dei fatti è importante per il tuo progetto, imposta te stesso per il successo imparando come e perché questi modelli a volte potrebbero sbagliare i fatti e come puoi mettere a terra l'output generato in fatti corretti.
Perché i modelli di fondazione sbagliano i fatti
I modelli Foundation possono sbagliare per alcuni motivi:
- L'addestramento preliminare crea associazioni di parole, non fatti
- I dataset di pre - addestramento contengono fatti obsoleti
- I dataset di pre - addestramento non contengono fatti esoterici o specifici del dominio e gergo
- La decodifica del campionamento è più probabile che si scostino dai fatti
L'addestramento preliminare crea associazioni di parole, non fatti
Durante il pre-addestramento, un foundation model costruisce un vocabolario di parole(token) incontrate negli insiemi di dati del pre-addestramento. Anche durante il pre - addestramento, le relazioni statistiche tra queste parole vengono codificate nei pesi del modello.
Ad esempio, "Monte Everest" spesso appare vicino a "montagna più alta del mondo" in molti articoli, libri, discorsi e altre fonti comuni di pre - addestramento. Di conseguenza, un modello pre - addestrato probabilmente completerà correttamente il prompt "La montagna più alta del mondo è" con l'output "Mount Everest."
Queste associazioni di parole possono far sembrare che i fatti siano stati codificati anche in questi modelli. Per una conoscenza molto comune e fatti immutabili, potresti avere fortuna generando un output accurato utilizzando modelli di fondazione pre - addestrati con semplici suggerimenti come l'esempio più alto della montagna. Tuttavia, è una strategia rischiosa fare affidamento solo sulle associazioni di parole pre - addestrate quando si utilizzano i modelli di fondazione in applicazioni in cui l'accuratezza è importante.
I dataset di pre - addestramento contengono fatti obsoleti
La raccolta di insiemi di dati di pre - addestramento e l'esecuzione di esecuzioni di pre - addestramento possono richiedere una quantità di tempo significativa, a volte mesi. Se un modello è stato pre - addestrato su un insieme di dati di diversi anni fa, il vocabolario del modello e le associazioni di parole codificate nei pesi del modello non rifletteranno gli eventi mondiali correnti o i nuovi temi popolari. Per questo motivo, se si invia la richiesta "Il vincitore più recente della coppa del mondo di calcio (calcio) è" a un modello pre - addestrato sulle informazioni di alcuni anni fa, l'output generato non sarà aggiornato.
I dataset di pre - addestramento non contengono fatti esoterici o specifici del dominio e gergo
I comuni set di dati per il pre-training foundation model, come The Pile (Wikipedia), contengono centinaia di milioni di documenti. Data la notorietà del Monte Everest, è ragionevole aspettarsi che un foundation model abbia codificato una relazione tra "montagna più alta del mondo" e "Monte Everest". Tuttavia, se un fenomeno, una persona o un concetto sono citati solo in una manciata di articoli, le probabilità che un foundation model abbia associazioni di parole su quell'argomento codificate nei suoi pesi sono scarse. Richiedere un modello pre - addestrato sulle informazioni che non erano nei relativi dataset di pre - addestramento è improbabile che produca un output generato accurato.
La decodifica del campionamento è più probabile che si scostino dai fatti
La decodifica è il processo utilizzato da un modello per scegliere le parole (token) nell'output generato:
- La decodifica greedy seleziona sempre il token con la probabilità più alta
- La decodifica di campionamento seleziona i token in modo pseudo - casuale da una distribuzione di probabilità
La decodifica greedy genera un output più prevedibile e ripetitivo. La decodifica di campionamento è più casuale, che si sente "creativo". Se, sulla base dei set di dati pre - allenamento, le parole più probabili a seguire "La montagna più alta è" sono "Monte Everest", quindi la decodifica avida potrebbe generare in maniera affidabile quell' output di fatto corretto, mentre la decodifica di campionamento a volte potrebbe generare il nome di qualche altra montagna o qualcosa che non è nemmeno una montagna.
Come mettere a terra l'output generato nei fatti corretti
Invece di fare affidamento solo su associazioni di parole preformate per una precisione fattuale, fornire il contesto nel testo del prompt.
Utilizzare il contesto nel testo della richiesta per stabilire i fatti
Quando si richiede a un foundation model di generare un output, le parole (token) nell'output generato sono influenzate dalle parole del vocabolario del modello e dalle parole del testo di richiesta. È possibile utilizzare il testo di prompt per aumentare le associazioni di parole accurate.
Esempio 1
Ecco un prompt per fare in modo che un modello completi una frase che dichiara il tuo colore preferito:
My favorite color is
Dato che solo tu sai qual è il tuo colore preferito, non c'è modo in cui il modello possa generare in modo affidabile l'output corretto.
Verrà invece selezionato un colore dai colori menzionati nei dati di pre - addestramento del modello:
- Se viene utilizzata la decodifica avida, verrà selezionato il colore che appare più frequentemente con le istruzioni sui colori preferiti nel contenuto di pre - addestramento.
- Se viene utilizzata la decodifica di campionamento, un colore verrà selezionato in modo casuale tra i colori indicati più spesso come preferiti nel contenuto di pre - addestramento.
Esempio 2
Ecco un prompt che include il contesto per stabilire i fatti:
I recently painted my kitchen yellow, which is my favorite color.
My favorite color is
Se si richiede un modello con un testo che include un contesto di fatto accurato come questo, l'output generato dal modello avrà maggiori probabilità di essere accurato.
Per ulteriori esempi di inclusione del contesto nel prompt, consultare i seguenti esempi:
Utilizza meno decodifica "creativa"
Quando includi il contesto con i fatti necessari nel tuo prompt, è probabile che l'utilizzo della decodifica greedy generi un output accurato. Se hai bisogno di una varietà nell'output, puoi provare con la decodifica di campionamento con valori bassi per parametri come Temperature
, Top P
e Top K
. Tuttavia, l'utilizzo della decodifica di campionamento aumenta il rischio di output non accurato.
Retrieval-Augmented Generation
Il pattern di generazione aumentato del richiamo ridimensiona la tecnica di estrazione del contesto nei prompt. Se si dispone di una knowledge base, come la documentazione del processo nelle pagine Web, i contratti legali in file PDF, un database di prodotti in vendita, un repository GitHub di file di codice C++ o qualsiasi altra raccolta di informazioni, è possibile utilizzare il pattern di creazione incrementato dal richiamo per generare un output accurato in base alle informazioni in tale knowledge base.
La generazione aumentata del richiamo comporta tre fasi di base:
- Ricerca contenuto pertinente nella knowledge base
- Inserire il contenuto più pertinente nel prompt come contesto
- Invia il testo del prompt combinato al modello per generare l'output
Per ulteriori informazioni, vedere Generazione aumentata del recupero
Argomento principale: Suggerimenti per la richiesta