Il tuning delle istruzioni è una tecnica per la messa a punto di modelli linguistici di grandi dimensioni (LLM) su un set di dati etichettato di prompt didattici e output corrispondenti. Migliora le prestazioni dei modelli non solo su attività specifiche, ma anche nel seguire le istruzioni in generale, aiutando così ad adattare i modelli preaddestrati per l'uso pratico.
L'ottimizzazione delle istruzioni è un sottoinsieme della più ampia categoria di messa a punto delle tecniche utilizzate per adattare i foundation model pre-addestrati per le attività downstream. I foundation model possono essere messi a punto per una serie di scopi, dalla personalizzazione dello stile all'integrazione delle conoscenze e del vocabolario di base del modello pre-addestrato, fino all'ottimizzazione delle prestazioni per un caso d'uso specifico. Sebbene l'ottimizzazione non sia esclusiva di alcun dominio specifico o architettura di modelli AI, è diventata parte integrante del ciclo di vita di un modello LLM. Ad esempio, la famiglia di modelli Llama 2 di Meta è offerta (in varie dimensioni) come modello base, come variante ottimizzata per il dialogo ( Llama-2-Chat) e come variante ottimizzata per la codifica (Code Llama).
L'ottimizzazione delle istruzioni non è incompatibile con altre tecniche di messa a punto. Ad esempio, i modelli di chat spesso subiscono sia l'ottimizzazione delle istruzioni, sia l'apprendimento per rinforzo dal feedback umano (RLHF), una tecnica di messa a punto che mira a migliorare qualità astratte come la disponibilità e l'onestà; i modelli messi a punto per la codifica spesso subiscono sia l'ottimizzazione delle istruzioni (per ottimizzare ampiamente le risposte per seguire le istruzioni), sia un'ulteriore messa a punto su dati specifici della programmazione (per aumentare la conoscenza del modello della sintassi e del vocabolario della codifica).
Sebbene la genesi degli LLM risalga all'articolo del 2017 "Attention is All You Need", che ha introdotto i modelli di trasformatori su larga scala nelle attività di elaborazione del linguaggio naturale (NLP), l'incorporazione del tuning delle istruzioni e dell'RLHF,guidata rispettivamente da influenti articoli di Google (nel 2021)1 e OpenAI (nel 2022),2 ha prodotto i moderni LLM che hanno dato il via all'attuale era dell'AI generativa con il lancio di ChatGPT.
L'utilità del tuning delle istruzioni, come quella della maggior parte delle tecniche di ottimizzazione, sta nel fatto che gli LLM preaddestrati non sono ottimizzati per le conversazioni o per seguire le istruzioni. In senso letterale, gli LLM non rispondono a un prompt: vi aggiungono solo del testo. Il tuning delle istruzioni contribuisce a rendere più utile il testo aggiunto.
Il processo di pre-addestramento per i modelli linguistici autoregressivi, modelli LLM utilizzati per generare testo, come Llama 2 di Meta, GPT di OpenAI, Gemini di Google o Granite di IBM, ottimizza questi modelli LLM semplicemente per prevedere le parole successive in una determinata sequenza fino al completamento.
I modelli LLM sono pre-addestrati utilizzando l'apprendimento auto-supervisionato su un enorme corpus di contenuto scritto. Nel pre-addestramento, ai modelli autoregressivi viene fornito l'inizio di un campione di testo e viene ripetutamente chiesto loro di prevedere la parola successiva nella sequenza fino alla fine del testo. Per ogni previsione, la parola successiva della frase campione originale fa da "verità fondamentale". Attraverso algoritmi di ottimizzazione come la discesa del gradiente che regolano in modo iterativo i parametri del modello, i diversi pesi e pregiudizi applicati alle operazioni matematiche che avvengono in ogni nodo di una rete neurale, in modo da avvicinare le previsioni del modello al testo originale, il modello "apprende" gli schemi linguistici nei suoi dati di addestramento (e, per estensione, la "conoscenza" trasmessa in quegli schemi linguistici).
Sebbene questo processo di preaddestramento conferisca un'impressionante capacità di generare testo linguisticamente coerente, non è necessario allineare le prestazioni del modello con le esigenze pratiche degli utenti umani. Senza una messa a punto, un modello base potrebbe rispondere a un prompt di "insegnami a cuocere il pane" con "in un forno domestico". È un modo grammaticalmente valido per completare la frase, ma non è allineato con l'obiettivo dell'utente.
Tuttavia, il preaddestramento di un LLM per scopi specifici (come seguire delle istruzioni) non è una procedura pratica. Il "grande" in "modelli linguistici di grandi dimensioni" si riferisce al fatto che questi modelli hanno spesso miliardi di parametri: l'addestramento di questi enormi modelli da zero comporta un'enorme quantità di energia, tempo, risorse computazionali e dati di addestramento. Al contrario, la messa a punto di un LLM già addestrato richiede molti meno dati e, soprattutto quando si utilizzano metodi di parameter efficient fine-tuning (PEFT) come il fine-tuning parziale o il low rank adaptation (LoRA), una frazione delle richieste computazionali.
Sebbene la messa a punto possa essere ottenuta attraverso quasi tutti i paradigmi di apprendimento automatico, tra cui l'apprendimento per rinforzo, l'apprendimento semi-supervisionato o l'apprendimento auto-supervisionato aggiuntivo, l'ottimizzazione delle istruzioni comporta l'apprendimento supervisionato su coppie etichettate (input, output). Quello che distingue l'ottimizzazione delle istruzioni da altre forme di messa a punto supervisionata (SFT) è che i campioni di input in un set di dati di istruzioni sono costituiti interamente da attività che assomigliano alle richieste che gli utenti potrebbero fare nei loro prompt; i risultati dimostrano risposte desiderabili a tali richieste. Regolando i pesi del modello per far sì che i risultati del modello LLM assomiglino agli esempi nel set di dati delle istruzioni, l'LLM "impara" a rispondere a una richiesta come "insegnami a cuocere il pane" aggiungendo un testo che contiene consigli effettivi su come cuocere il pane.
L'ottimizzazione delle istruzioni aiuta quindi a colmare il divario tra l'obiettivo fondamentale del modello, la previsione della parola successiva, e l'obiettivo dell'utente di far sì che il modello segua le istruzioni ed esegua attività specifiche. Questo rende il comportamento del modello più utile e prevedibile.
La messa a punto dei modelli LLM su un set di dati etichettato di varie attività che seguono le istruzioni offre una maggiore capacità di seguire le istruzioni in generale, riducendo la quantità di informazioni contestuali necessarie per istruzioni efficaci. I set di dati delle istruzioni possono essere creati artificialmente o generati da un altro LLM.
Come indicato nell'influente articolo di Google Research del 2022, "Finetuned Language Models are Zero-Shot Learners", l'obiettivo dell'ottimizzazione delle istruzioni è migliorare la capacità degli LLM di rispondere alle istruzioni della PNL. Per fare ciò, l'ottimizzazione delle istruzioni "combina aspetti interessanti sia del paradigma preaddestramento-messa a punto, sia di quello prompting". In sostanza, incorporando organicamente i principi di prompt Engineering nell'ottimizzazione supervisionata, l'ottimizzazione delle istruzioni riduce la quantità di prompt engineering e di pochi esempi necessari per ottenere una risposta utile e accurata dal modello ottimizzato.1
Ogni campione di addestramento in un set di dati di istruzioni è composto da tre elementi:
Il documento di Google ha osservato che la variante risultante ottimizzata per le istruzioni del loro modello LaMDA-PT, soprannominata FLAN (per Finetuned Language Net), ha rilevato i maggiori miglioramenti su compiti che sono naturalmente articolati come istruzioni, come la traduzione, la risposta alle domande, la comprensione della lettura e l'inferenza del linguaggio naturale (NLI), il compito di determinare se una data "ipotesi" segue logicamente da una data "premessa".
Per spiegare questo, il documento FLAN si rifà a un'osservazione di Brown, et al. nel documento di ricerca rilasciato per il modello GPT-3 originale nel 2020: una spiegazione del motivo per cui i modelli LLM pre-addestrati (senza un'ulteriore messa a punto) hanno difficoltà con compiti come l'NLI è che è improbabile che i passaggi che assomigliano a un compito NLI tipico si verifichino naturalmente nel corpus di dati non etichettati utilizzati per il pre-addestramento auto-supervisionato.3 Al contrario, per i compiti che assomigliano di più all'obiettivo di modellazione linguistica diretta del pre-addestramento, come i compiti di ragionamento di senso comune che in ultima analisi richiedono al modello di completare correttamente una frase, le istruzioni sono in gran parte ridondanti (e quindi la messa a punto delle istruzioni apporta meno benefici).
Forse la cosa più importante è che il documento ha dimostrato che l'aggiunta di ulteriori attività al set di dati di ottimizzazione delle istruzioni ha migliorato le prestazioni del modello messo a punto con le istruzioni anche su nuove attività che non erano rappresentate nel set di dati delle istruzioni. Qui sta il vantaggio fondamentale della messa a punto delle istruzioni: un miglioramento olistico della capacità del modello di seguire in generale le istruzioni.
Il documento FLAN includeva anche uno studio sull'ablazione che esaminava se gli evidenti vantaggi della messa a punto delle istruzioni fossero dovuti alle istruzioni stesse o semplicemente fossero attribuibili alla messa a punto del modello su più attività di PNL. Per esaminare il ruolo delle istruzioni nella messa a punto, lo studio sull'ablazione ha messo a punto il modello base su tre diverse configurazioni:
Lo studio sull'ablazione ha poi misurato i risultati di ciascun modello linguistico messo a punto su una serie di attività per cui vanno seguite le istruzioni zero-shot. Il modello messo a punto per le istruzioni ha raggiunto una precisione superiore di oltre il 18% rispetto al modello "senza modello" e di oltre l'8% rispetto al modello "nome del set di dati". Questo indica che l'addestramento con le stesse istruzioni è fondamentale per migliorare le prestazioni zero-shot su attività invisibili.
Il prompt a catena di pensieri (CoT) chiede a un LLM non solo di rispondere a una domanda, ma anche di generare una spiegazione logica del modo in cui è giunto a una risposta. Questo può essere ottenuto attraverso pochi stimoli con esempi di ragionamento sequenziale, o semplicemente aggiungendo "pensa passo dopo passo" alla fine di un stimolo. La ricerca ha dimostrato che il prompt CoT migliora significativamente le funzionalità zero-shot di modelli di grandi dimensioni in diverse attività aritmetiche, di ragionamento simbolico e altre attività di ragionamento logico.5 Wei, et al. hanno scoperto che l'ottimizzazione delle istruzioni che non include le attività CoT nel set di dati delle istruzioni degrada significativamente le prestazioni del modello nelle valutazioni CoT, ma che l'aggiunta di set di dati CoT migliora le prestazioni in tutte le valutazioni.6
Inoltre, la loro ricerca ha scoperto che la messa a punto delle istruzioni sui compiti CoT, sia con che senza esemplari "few-shot", aumenta la capacità di un modello di ragionare su CoT in un contesto a "zero-shot". Una comprensione intuitiva di questo vantaggio sarebbe che, essendo messi a punto per risolvere un problema in fasi logiche piuttosto che passare a una risposta che sembra semplicemente coerente dal punto di vista linguistico, i modelli imparano a produrre e applicare meglio le proprie capacità di ragionamento.
Esistono numerosi set di dati per il tuning delle istruzioni LLM, molti dei quali sono open source. Questi set di dati possono includere coppie di linguaggio naturale (istruzioni, output) scritte direttamente (o raccolte), utilizzare modelli per convertire set di dati annotati esistenti in istruzioni o persino utilizzare altri modelli di apprendimento automatico per generare esempi.
Sebbene la creazione diretta di coppie (istruzioni, output) sia semplice, è un processo laborioso che alla fine richiede una notevole quantità di tempo e costi. Sono stati proposti vari metodi per trasformare i set di dati in linguaggio naturale in istruzioni, in genere applicando modelli. Il rilascio di diversi set di dati open source creati dall'uomo ha contribuito a sostenere i costi della messa a punto dei dati organici.
I principali set di dati di istruzioni create da esseri umani open source includono:
Motivati dalla quantità proibitiva di costi e manodopera necessari per generare manualmente le istruzioni e rivolgersi agli output, molti set di dati di istruzioni utilizzano le risposte di LLM più grandi per generare prompt, output o entrambi. L'utilizzo di set di dati generati da LLM ha spesso l'effetto aggiunto di insegnare a modelli più piccoli a emulare il comportamento di modelli più grandi, a volte in una dinamica deliberata insegnante/studente.
Con l'aumento della potenza degli LLM, l'utilità dei set di dati di tuning delle istruzioni generati da LLM è aumentata in modo analogo. Un articolo del 2023 ha replicato il paradigma di ottimizzazione di Alpaca, che ha ottimizzato LLama sulle istruzioni generate da InstructGPT, ripetendo il processo in parallelo utilizzando GPT-4 per generare istruzioni. Il modello risultante, che è stato battezzato LLamA-GPT4, ha superato in modo significativo i punteggi di "Utilità" dell'equivalente Alpaca e si è avvicinato alla stessa GPT-4 nelle misure di "Utilità", "Onestà" e "Innocuità".11
Sebbene le tecniche di ottimizzazione delle istruzioni abbiano prodotto importanti progressi negli LLM, resta ancora molto lavoro da fare per diversificare i set di dati di ottimizzazione delle istruzioni e chiarirne appieno i vantaggi.
La principale tra le sfide dell'ottimizzazione delle istruzioni è la creazione di istruzioni di alta qualità per l'uso nella messa a punto. Le risorse necessarie per creare un set di dati di istruzioni sufficientemente ampio hanno istruzioni centralizzate su una manciata di set di dati open source, il che può avere l'effetto di ridurre la diversità dei modelli. Sebbene l'utilizzo di modelli LLM proprietari più grandi per generare istruzioni abbia contribuito a ridurre i costi, questo ha il potenziale svantaggio di rafforzare i pregiudizi e le carenze di questi LLM proprietari in tutto lo spettro degli LLM open source. Questo problema è aggravato dal fatto che i modelli proprietari sono spesso, nel tentativo di aggirare i pregiudizi intrinseci dei ricercatori umani, a valutare le prestazioni di modelli più piccoli.
A livello tecnico, alcuni ricercatori hanno sollevato preoccupazioni sul fatto che l'utilizzo di modelli più grandi per migliorare i modelli più piccoli possa aiutare i modelli più piccoli a imitare lo stile dei modelli più grandi, ma non la loro effettiva funzionalità. Uno studio empirico del 2023 ha suggerito che molti degli impressionanti guadagni di prestazioni ottenuti con il tuning delle istruzioni possono derivare dalla rilevazione di schemi superficiali, piuttosto che da un miglioramento più genuino del ragionamento logico.12
Allo stesso modo, altri ricercatori hanno ipotizzato che alcuni miglioramenti riportati possano dipendere in qualche modo dalla valutazione delle prestazioni del modello ottimizzato per le istruzioni su attività troppo strettamente correlate a quelle del set di dati per l'addestramento delle istruzioni. Grazie a test più mirati dei modelli di istruzione messi a punto in questo modo, Gudibande e altri hanno concluso che "l'azione più importante per migliorare i modelli open-source è quella di affrontare la difficile sfida di sviluppare migliori [modelli linguistici] di base, piuttosto che prendere la scorciatoia di imitare i sistemi proprietari".13
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
Scopri come i CEO possono trovare il giusto equilibrio tra il valore che l’AI generativa può creare, gli investimenti che richiede e i rischi che introduce.
Impara i concetti fondamentali e sviluppa le tue competenze con laboratori pratici, corsi, progetti guidati, prove e molto altro.
Scopri come incorporare in tutta sicurezza l’AI generativa e il machine learning nella tua azienda.
Vuoi ottenere un ritorno migliore sui tuoi investimenti nell’AI? Scopri come lo scaling della GenAI in settori chiave può favorire il cambiamento, aiutando le tue menti migliori a creare e fornire nuove soluzioni innovative.
NOTA: tutti i link sono esterni a ibm.com.
1 "Finetuned Language Models Are Zero-Shot Learners", Google (via arXiv), 3 settembre 2021 (ultima revisione 8 febbraio 2022).
2 "Aligning language models to follow instructions", OpenAI, 27 gennaio 2022.
3 "Language Models are Few-Shot Learners", arXiv, 22 luglio 2020.
4 "WMT 2014", Papers With Code, 27 giugno 2014.
5 "Language Models are Zero-Shot Reasoners", arXiv, 24 maggio 2022 (ultima revisione 29 gennaio 2023).
6 "Scaling Instruction-Finetuned Language Models", Google (via arXiv), 6 dicembre, 2022.
7 "Alpaca: A Strong, Replicable Instruction-Following Model", Stanford Center for Research on Foundation Models, 13 marzo 2023.
8 "WizardLM: Empowering Large Language Models to Follow Complex Instructions", arXiv, 10 giugno 2023.
9 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality", LMSYS Org, 30 marzo 2023.
10 "Orca: Progressive Learning from Complex Explanation Traces of GPT-4", Microsoft, giugno 2023.
11 "Instruction Tuning with GPT-4", arXiv, 6 aprile 2023.
12 "Do Models Really Learn to Follow Instructions? An Empirical Study of Instruction Tuning", arXiv, 19 maggio 2023.
13 "The False Promise of Imitating Proprietary LLMs", arXiv, 25 maggio 2023.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com