LLM: messa a punto, distillazione e prompt engineering

L'unità precedente descriveva gli LLM per uso generico, variamente noti come:

  • LLM di base
  • LLM di base
  • LLM preaddestrati

Un LLM di base viene addestrato su un volume sufficiente di linguaggio naturale per "sapere" moltissimo su grammatica, parole e modi di dire. Un modello linguistico di base può generare frasi utili sugli argomenti per cui viene addestrato. Inoltre, un modello LLM di base può eseguire determinate attività tradizionalmente chiamate "creative", come scrivere poesie. Tuttavia, l'output di testo generativo di un LLM di base non è una soluzione per altri tipi di problemi comuni di ML, come la regressione o la classificazione. Per questi casi d'uso, un LLM di base può essere usato come piattaforma anziché come soluzione.

Per trasformare un LLM di base in una soluzione che soddisfa le esigenze di un'applicazione, è necessario un processo chiamato ottimizzazione. Un processo secondario chiamato distillazione genera una versione più piccola (con meno parametri) del modello ottimizzato.

Ottimizzazione

La ricerca mostra che le capacità di riconoscimento di schemi dei modelli linguistici di base sono così efficaci che a volte richiedono relativamente poca formazione aggiuntiva per apprendere attività specifiche. L'addestramento aggiuntivo consente al modello di fare previsioni migliori su un'attività specifica. Questo addestramento aggiuntivo, chiamato ottimizzazione fine, sblocca il lato pratico di un LLM.

L'ottimizzazione fine viene eseguita su esempi specifici per l'attività che verrà svolta dall'applicazione. A volte gli ingegneri possono ottimizzare un modello LLM di base su solo qualche centinaio o qualche migliaio di esempi di addestramento.

Nonostante il numero relativamente ridotto di esempi di addestramento, l'ottimizzazione standard è spesso costosa dal punto di vista del calcolo. Questo perché la messa a punto fine standard prevede l'aggiornamento del peso e del bias di ogni parametro su ogni backpropagation. Fortunatamente, un processo più intelligente chiamato ottimizzazione efficiente dei parametri può ottimizzare un modello LLM regolando solo un sottoinsieme di parametri in ogni evoluzione della retropropagazione.

Le previsioni di un modello ottimizzato sono in genere migliori di quelle del modello LLM di base. Tuttavia, un modello ottimizzato contiene lo stesso numero di parametri del modello LLM di base. Pertanto, se un LLM di base contiene dieci miliardi di parametri, anche la versione ottimizzata conterrà dieci miliardi di parametri.

Distillazione

La maggior parte degli LLM ottimizzati contiene un numero enorme di parametri. Di conseguenza, gli LLM di base richiedono enormi risorse computazionali e ambientali per generare previsioni. Tieni presente che gran parte di questi parametri è tipicamente irrilevante per un'applicazione specifica.

La distillazione consente di creare una versione più piccola di un LLM. L'LLM distillato genera previsioni molto più velocemente e richiede meno risorse di calcolo e ambientali rispetto all'LLM completo. Tuttavia, le previsioni del modello distillato in genere non sono così buone come quelle dell'LLM originale. Ricorda che gli LLM con più parametri generano quasi sempre previsioni migliori rispetto agli LLM con meno parametri.

Prompt engineering

La progettazione di prompt consente agli utenti finali di un LLM di personalizzare l'output del modello. In altre parole, gli utenti finali chiariscono come l'LLM deve rispondere al loro prompt.

Gli esseri umani imparano bene dagli esempi. Così come gli LLM. La visualizzazione di un esempio a un LLM è chiamata prompt one-shot. Ad esempio, supponiamo che tu voglia che un modello utilizzi il seguente formato per produrre una famiglia di un frutto:

L'utente inserisce il nome di un frutto: l'LLM restituisce la classe del frutto.

Un prompt one-shot mostra all'LLM un singolo esempio del formato precedente e poi gli chiede di completare una query in base a quell'esempio. Ad esempio:

peach: drupe
apple: ______

A volte è sufficiente un singolo esempio. In questo caso, l'LLM genera una previsione utile. Ad esempio:

apple: pome

In altre situazioni, un singolo esempio non è sufficiente. In altre parole, l'utente deve mostrare all'LLM più esempi. Ad esempio, il seguente prompt contiene due esempi:

plum: drupe
pear: pome
lemon: ____

La fornitura di più esempi è chiamata produzione di prompt few-shot. Puoi considerare le prime due righe del prompt precedente come esempi di addestramento.

Un modello LLM può fornire previsioni utili senza esempi (prompt zero-shot)? A volte, ma gli LLM amano il contesto. Senza contesto, il seguente prompt senza scatti potrebbe restituire informazioni sulla società di tecnologia anziché sul frutto:

apple: _______

Inferenza offline

A volte il numero di parametri in un LLM è così elevato che l'inferenza online è troppo lenta per essere pratica per attività reali come la regressione o la classificazione. Di conseguenza, molti team di ingegneria si affidano invece alla inferenza offline (nota anche come inferenza collettiva o inferenza statica). In altre parole, invece di rispondere alle query al momento della pubblicazione, il modello addestrato esegue le previsioni in anticipo e le memorizza nella cache.

Non è importante se un LLM impiega molto tempo per completare la sua attività se deve eseguirla solo una volta alla settimana o una volta al mese.

Ad esempio, la Ricerca Google ha utilizzato un modello LLM per eseguire l'inferenza offline al fine di memorizzare nella cache un elenco di oltre 800 sinonimi per i vaccini anti COVID in più di 50 lingue. La Ricerca Google ha poi utilizzato l'elenco memorizzato nella cache per identificare le query sui vaccini nel traffico in tempo reale.

Utilizzare gli LLM in modo responsabile

Come qualsiasi forma di machine learning, gli LLM condividono generalmente i bias di:

  • I dati su cui sono stati addestrati.
  • I dati su cui sono stati distillati.

Utilizza gli LLM in modo equo e responsabile, in base alle lezioni presentate in precedenza in questo corso.

Esercizio: verifica la tua comprensione

Quale delle seguenti affermazioni è vera in merito ai modelli LLM?
Un LLM distillato contiene meno parametri rispetto al modello linguistico di base da cui è stato creato.
Sì, la distillazione riduce il numero di parametri.
Un LLM ottimizzato contiene meno parametri rispetto al modello linguistico di base su cui è stato addestrato.
Un modello ottimizzato contiene lo stesso numero di parametri del modello linguistico di base originale.
Man mano che gli utenti eseguono un maggior numero di operazioni di progettazione di prompt, il numero di parametri in un LLM aumenta.
La progettazione di prompt non aggiunge (o rimuove o modifica) i parametri LLM.