My IBM Accedi Iscriviti

Che cos'è il tuning delle istruzioni?

5 aprile 2024

Autori

Dave Bergmann

Senior Writer, AI Models

IBM

Che cos'è il tuning delle istruzioni?

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.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Perché le istruzioni ottimizzano i modelli LLM?

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.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona l'ottimizzazione delle istruzioni?

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:

  • Un'istruzione: un input di testo in linguaggio naturale che specifica una determinata attività. Ad esempio, "traduci questa frase dall'inglese allo spagnolo".
  • Informazioni aggiuntive: informazioni supplementari facoltative che forniscono un contesto pertinente all'attività da svolgere. Ad esempio, un input per un'attività di comprensione della lettura potrebbe includere un breve passaggio (e poi istruire il modello a rispondere a una determinata domanda su questo).
  • Output desiderato: l'output di destinazione, la risposta, per il prompt specificato, in base alle istruzioni e al contesto forniti. Questo servirà come base di verità rispetto alla quale le previsioni del modello verranno valutate e ottimizzate.

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.

Ottimizzazione delle istruzioni vs messa a punto multi-task

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:

  • Nessun modello: al modello sono stati forniti solo input e output. Ad esempio, l'input per un'attività di traduzione sarebbe "il cane corre", e l'output di destinazione sarebbe "le chien court."
  • Nome del set di dati: ogni input è stato preceduto dal nome dell'attività e dal set di dati. Nel nostro esempio di traduzione, l'input, tratto dalla raccolta del set di dati WMT 20144, sarebbe "[Traduzione: WMT 14 in francese] Il cane corre."
  • Istruzioni FLAN: gli input seguivano i principi di tuning delle istruzioni. Per questo esempio di traduzione, l'input sarebbe "Per favore traduci questa frase in francese: 'Il cane corre'".

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.

Messa a punto della catena di pensiero (CoT)

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.

Set di dati per l'ottimizzazione delle istruzioni

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.

Set di dati creati dall'uomo

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:

  • Flan: utilizzato per la prima volta per mettere a punto il modello Lamda-PT di Google, ottenendo il modello FLAN originale, da allora il set di dati Flan è stato perfezionato e utilizzato per mettere a punto una serie di LLM. I modelli di spicco messi a punto su Flan includono FLAN-T5, FLAN-UL2 e FLAN-Palm 540B (noti anche come FLAN-T5-XXL).
  • OpenAssistant: OpenAssistant Conversations è un corpus di conversazioni multilingue creato dall'uomo incentrato sugli scambi di dialogo in stile assistente. Si tratta di 91.829 richieste dell'utente e 69.614 risposte dell'assistente, tratte da 66.497 alberi di conversazione in 35 lingue diverse.
  • Dolly: Dolly è un set di dati in lingua inglese di 15.000 istanze di conversazione generate dall'uomo, progettato per consentire agli LLM di interagire con gli utenti in schemi basati sul dialogo simili a ChatGPT. Comprende un'ampia gamma di attività e comportamenti umani, tra cui riepilogo, estrazione di informazioni, brainstorming, scrittura creativa, classificazione e risposta alle domande.

Set di dati generati da LLM

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.

  • Self-Instruct: Self-Instruct è stato costruito utilizzando InstructGPT, che a sua volta è una versione ottimizzata per le istruzioni di GPT-3. Gli autori hanno fornito "attività iniziali" in linguaggio naturale e hanno spinto InstructGPT a generare ulteriori esempi, ottenendo alla fine 52.000 istruzioni di addestramento. Un metodo Self-Instruct modificato è stato utilizzato dai ricercatori della Stanford University per generare dati di addestramento per Alpaca, la prima variante di LLama ottimizzata per le istruzioni. In particolare, Alpaca ha leggermente sovraperformato i benchmark di InstructGPT sul set di dati Self-Instruct.7
  • Evol-Instruct: come suggerisce il nome, Evol-Instruct propone un'evoluzione della metodologia Self-Instruct, riscrivendo le istruzioni utilizzando strategie approfondite e complete. Il primo evolve le istruzioni per aumentare la complessità delle istruzioni attraverso misure come l'aggiunta di vincoli, l'aumento dei passaggi di ragionamento e la complicazione dell'input. Quest'ultima "modifica" le istruzioni precedenti per aumentare la diversità del set di dati e la copertura degli argomenti. Evol-Instruct è stato introdotto nel documento di ricerca per WizardLM, che descrive in dettaglio come Evol-Instruct è stato utilizzato per mettere a punto LLamA.8
  • ShareGPT: ShareGPT.com contiene un repository generato dagli utenti dei loro scambi con ChatGPT. I ricercatori di Vicuna, una notevole messa a punto di LLama, hanno utilizzato 70.000 record di conversazione di ShareGPT e hanno personalizzato le loro selezioni per conversazioni a più turni.9
  • OpenOrca: OpenOrca è una raccolta di dati Flan Collection (link esterno a ibm.com) ampliati. Mira a replicare il dataset utilizzato da Microsoft per addestrare Orca, che ha esplorato la metodologia che si concentra esplicitamente sull'ottimizzazione dell'utilizzo di modelli più grandi per perfezionare modelli LLM più piccoli attraverso l'apprendimento per imitazione.10

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

Sfide e limitazioni del perfezionamento di istruzioni

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

Soluzioni correlate

Soluzioni correlate

IBM watsonx.ai

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.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

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.

Esplora le soluzioni AI
Servizi 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.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

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.
"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.