LLM: messa a punto, distillazione e prompt engineering

L'unità precedente descriveva gli LLM per uso generico, noti in vari modi 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 su cui è 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 utilizzato come piattaforma anziché come soluzione.

La trasformazione di un LLM di base in una soluzione che soddisfi le esigenze di un'applicazione richiede 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. Questo addestramento aggiuntivo aiuta il modello a fare previsioni migliori su un'attività specifica. Questo addestramento aggiuntivo, chiamato ottimizzazione fine, sblocca il lato pratico di un LLM.

L'ottimizzazione viene eseguita su esempi specifici per l'attività che verrà eseguita 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, la messa a punto fine standard è spesso dispendiosa in termini di risorse di calcolo. Questo perché la messa a punto standard prevede l'aggiornamento del peso e del bias di ogni parametro in ogni propagazione inversa. Fortunatamente, un processo più intelligente chiamato ottimizzazione efficiente dei parametri può perfezionare 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 modello 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 dell'ambiente 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.

La forma più comune di distillazione utilizza l'inferenza collettiva per etichettare i dati. Questi dati etichettati vengono poi utilizzati per addestrare un nuovo modello più piccolo (noto come modello studente) che può essere pubblicato a un prezzo più accessibile. I dati etichettati fungono da canale attraverso il quale il modello più grande (noto come modello insegnante) trasmette le sue conoscenze al modello più piccolo.

Ad esempio, supponiamo che tu abbia bisogno di un sistema di valutazione della tossicità online per la moderazione automatica dei commenti. In questo caso, puoi utilizzare un grande valutatore della tossicità offline per etichettare i dati di addestramento. Poi, puoi utilizzare questi dati di addestramento per creare un modello di valutazione della tossicità sufficientemente piccolo da poter essere pubblicato e gestire il traffico in tempo reale.

A volte un modello di insegnante può fornire più dati etichettati rispetto a quelli utilizzati per l'addestramento. In alternativa, un modello insegnante può incanalare un punteggio numerico anziché un'etichetta di tipo binario nel modello studente. Un punteggio numerico fornisce un indicatore di addestramento più ricco rispetto a un'etichetta binaria, consentendo al modello dello studente di prevedere non solo le classi positive e negative, ma anche quelle borderline.

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 debba rispondere al loro prompt.

Gli esseri umani imparano bene dagli esempi. Lo stesso vale per 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 la 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 foto potrebbe fornire 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 all'inferenza offline (nota anche come inferenza collettiva o inferenza statica). In altre parole, anziché rispondere alle query al momento della pubblicazione, il modello addestrato fa previsioni in anticipo e poi le memorizza nella cache.

Non importa 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, seguendo le linee guida presentate nei moduli di dati e nel modulo Equità.

Esercizio: verifica di aver compreso

Quale delle seguenti affermazioni è vera in merito ai modelli LLM?
Un LLM ottimizzato contiene meno parametri rispetto al modello linguistico di base su cui è stato addestrato.
Un LLM distillato contiene meno parametri rispetto al modello linguistico di base da cui è stato creato.
Man mano che gli utenti eseguono un'ingegneria più rapida, il numero di parametri in un LLM aumenta.