My IBM Accedi Iscriviti
Cos'è la distillazione della conoscenza?

Cos'è la distillazione della conoscenza?

Esplora la piattaforma AI di IBM Abbonati per ricevere gli aggiornamenti sull'AI
Illustrazione con collage di pittogrammi di nuvole, grafico a torta, pittogrammi grafici

Data di pubblicazione: 16 aprile 2024
Autore: Dave Bergmann

Cos'è la distillazione della conoscenza?

Cos'è la distillazione della conoscenza?

La distillazione della conoscenza è una tecnica di machine learning che mira a trasferire le conoscenze di un grande modello preaddestrato, il "modello insegnante", a un "modello studente" più piccolo. Viene utilizzata nel deep learning come forma di compressione dei modelli e trasferimento delle conoscenze, in particolare per le grandi reti neurali profonde.

L'obiettivo della distillazione della conoscenza è addestrare un modello più compatto affinché possa imitare un modello più grande e complesso. Mentre l'obiettivo del deep learning convenzionale è quello di addestrare una rete neurale artificiale per avvicinare le sue previsioni agli esempi di output forniti in un set di dati di addestramento, l'obiettivo principale nella distillazione della conoscenza consiste nel formare la rete studente in modo che corrisponda alle previsioni fatte dalla rete insegnante.

La distillazione della conoscenza (KD) viene spesso applicata a reti neurali profonde di grandi dimensioni con molti livelli e parametri apprendibili. Questo processo la rende particolarmente rilevante data la continua proliferazione di massicci modelli di AI generativa con miliardi di parametri.

Il concetto ha origine in un articolo del 2006 intitolato "Model Compression". Caruana et al usarono quello che all'epoca era un modello di classificazione all'avanguardia, un enorme ensemble model composto da centinaia di classificatori di livello base, per etichettare un ampio set di dati, e poi addestrarono una singola rete neurale sul set di dati etichettati appena creato attraverso l’apprendimento supervisionato convenzionale. Questo modello compatto, "mille volte più piccolo e veloce", aveva le stesse prestazioni dell'ensemble.1

Da allora, le tecniche di distillazione della conoscenza sono state impiegate con successo in diversi campi, tra cui l'elaborazione del linguaggio naturale (NLP), il riconoscimento vocale, il riconoscimento delle immagini e il rilevamento degli oggetti. Negli ultimi anni, lo studio della distillazione della conoscenza è stato di particolare importanza per i modelli linguistici di grandi dimensioni (LLM). Per gli LLM, la KD è emersa come un mezzo efficace per trasferire funzionalità avanzate dai principali modelli proprietari a modelli open source più piccoli e accessibili.

AI generativa + Apprendimento automatico (ML) per le imprese

Questo ebook descrive i principali vantaggi dell’adozione dell’AI generativa a livello aziendale e come le organizzazioni possono incorporare con sicurezza i foundation model e il machine learning nelle loro operazioni aziendali.

Contenuti correlati Registrati per leggere la guida sui foundation model
Perché la distillazione della conoscenza è importante ?

Perché la distillazione della conoscenza è importante ?

In molti contesti del mondo reale, l'accuratezza e la capacità di un modello AI non sono, di per sé, sufficienti a rendere il modello utile: il modello deve anche rientrare nel budget disponibile in termini di tempo, memoria, denaro e risorse computazionali.

I modelli che offrono le migliori prestazioni per una determinata attività sono spesso troppo grandi, lenti o costosi per la maggior parte dei casi d'uso pratici, ma spesso hanno qualità uniche che emergono da una combinazione delle loro dimensioni e della loro capacità di pre-addestramento su un'enorme quantità di dati di addestramento. Queste capacità emergenti sono particolarmente evidenti nei modelli linguistici autoregressivi, come GPT o Llama, che mostrano capacità che vanno al di là del loro obiettivo di addestramento esplicito, ovvero la semplice previsione della parola successiva in una sequenza. Al contrario, i modelli piccoli sono più veloci e meno impegnativi dal punto di vista computazionale, ma mancano dell’accuratezza, della raffinatezza e della capacità di conoscenza di un modello grande con molti più parametri.  

In un importante articolo del 2015, "Distilling the Knowledge in a Neural Network", Hinton et al. hanno proposto di aggirare queste limitazioni dividendo l'addestramento in due fasi distinte con scopi distinti. Gli autori hanno presentato un'analogia: mentre molti insetti hanno una forma larvale ottimizzata per estrarre energia e sostanze nutritive dall'ambiente e una forma adulta completamente diversa ottimizzata per gli spostamenti e la riproduzione, il deep learning convenzionale utilizza gli stessi modelli sia per le fasi di addestramento che per quelle di distribuzione, nonostante le loro diverse esigenze.

Prendendo ispirazione sia dalla natura che dal lavoro di Caruana et al, Hinton et al hanno suggerito che vale la pena addestrare modelli grandi e ingombranti se questo consente di estrarre nel miglior modo la struttura dai dati, ma hanno introdotto un diverso tipo di addestramento, la distillazione, per trasferire tali conoscenze su un modello piccolo più adatto all'impiego in tempo reale.2

Le tecniche di distillazione della conoscenza mirano non solo a replicare gli output dei modelli insegnante, ma a emulare i loro "processi di pensiero". Nell'era degli LLM, la KD ha permesso il trasferimento di qualità astratte come lo stile, le capacità di ragionamento e l'allineamento alle preferenze e ai valori umani.3

Inoltre, i modelli più piccoli sono fondamentalmente più spiegabili: in un modello con centinaia di miliardi di parametri, è difficile interpretare i contributi delle diverse parti della rete neurale. Il trasferimento delle rappresentazioni apprese da grandi modelli "black box" in modelli più semplici può aiutare a chiarire insight trasformativi in campi come la diagnostica medica e la scoperta molecolare.4

Come funziona la distillazione della conoscenza?

Come funziona la distillazione della conoscenza?

La distillazione della conoscenza (KD) non si basa su alcuna architettura di rete neurale specifica, né richiede che la rete insegnante e la rete studente abbiano le stesse architetture: può essere applicata a qualsiasi modello di deep learning.

La KD trae vantaggio dal fatto che le reti neurali artificiali sono "approssimatori universali": con un numero sufficiente di dati di addestramento e un livello nascosto sufficientemente grande, una rete neurale può approssimare qualsiasi funzione con precisione arbitraria.5

Nel machine learning convenzionale, la "conoscenza" di un modello addestrato si identifica con i parametri che ha appreso: i pesi (e i bias) variabili, applicati alle diverse operazioni matematiche che avvengono nella rete neurale, che amplificano o riducono l'influenza che una certa parte dell'output della rete ha su un'altra parte. Questa visione della conoscenza rende difficile capire come un modello possa assorbire la conoscenza di un altro modello di dimensioni e struttura diverse.

Invece, Hinton et al. hanno applicato una visione più astratta e flessibile della conoscenza come semplicemente "una mappatura appresa da vettori di input a vettori di output". In altre parole, la KD interpreta la conoscenza di un modello non come i parametri strettamente matematici che apprende durante l'addestramento, ma come il modo in cui è in grado di generalizzare a nuovi dati dopo l'addestramento.

Attraverso questa concezione alternativa della conoscenza, i metodi di distillazione della conoscenza mirano ad addestrare i modelli studente a imitare non solo l'output finale del modello insegnante dato un determinato input, ma anche i processi di pensiero che il modello insegnante adotta per arrivare a quel risultato finale. Concettualmente, questo funziona in modo simile all' instruction tuning attraverso il i chain-of-thought (CoT) prompting, che migliora la qualità delle risposte degli LLM istruendoli su come articolare la loro logica "passo dopo passo".

Nell'apprendimento convenzionale supervisionato o autosupervisionato, una funzione di perdita produce un vettore che rappresenta la divergenza (o perdita) tra gli output del modello e gli output "corretti" (o ground truth) tra diversi input. Regolando i parametri del modello per ridurre al minimo la pendenza (o il gradiente) di questo vettore attraverso un algoritmo di ottimizzazione come la discesa del gradiente, gli output del modello si avvicinano a quelli corretti. Sebbene le fasi di ragionamento del modello siano "importanti" in quanto influenzano il suo output finale, in genere non vengono misurate da una funzione di perdita convenzionale.

La distillazione della conoscenza, al contrario, allena anche il modello studente a imitare il processo di ragionamento del modello insegnante attraverso l'aggiunta di un tipo specializzato di funzione di perdita, chiamata distillation loss, che utilizza fasi di ragionamento distinte come soft target per l'ottimizzazione.

Soft target

L'output di qualsiasi modello AI può essere inteso come una serie di previsioni: un LLM autoregressivo prevede le parole successive in una sequenza specificata; un modello di computer vision utilizzato per la classificazione delle immagini prevede la categoria di una determinata immagine. Per arrivare a queste previsioni finali, chiamate "hard target" in questo contesto, i modelli di deep learning in genere fanno più previsioni preliminari e utilizzano una funzione softmax per produrre la previsione con la più alta probabilità. Durante l'addestramento, viene utilizzata una funzione di perdita di entropia incrociata per massimizzare la probabilità assegnata all'output corretto e ridurre al minimo la probabilità assegnata agli output errati.

Ad esempio, un modello di classificazione delle immagini prevede la probabilità che un'immagine di input appartenga a ciascuna classe nota che il modello è addestrato a riconoscere, quindi restituisce la classe con il valore di probabilità più alto. Nel linguaggio matematico del machine learning, queste previsioni individuali per classe sono chiamate logit. Analogamente, un LLM autoregressivo prevede diverse possibilità per ogni parola successiva e (a seconda della sua temperatura ) campiona una di queste possibilità per il suo output.

Nella distillazione della conoscenza, queste previsioni intermedie, i "soft target", generate dal modello insegnante, spesso forniscono i principali dati di addestramento per il modello studente. Le probabilità relative assegnate a queste previsioni preliminari forniscono insight preziosi sul modo in cui il modello insegnante tende a generalizzare. Ad esempio, un modello di classificazione delle immagini ha molte più probabilità di classificare erroneamente l’immagine di una volpe come "cane" piuttosto che come "sandwich". I soft target forniscono quindi molte più informazioni per caso di addestramento rispetto ai soli hard target.

I soft target offrono inoltre maggiore coerenza rispetto agli hard target: la previsione finale di un modello potrebbe in definitiva dipendere da una minuscola differenza tra due valori logit, ma i valori logit stessi hanno una varianza molto inferiore nel gradiente tra ogni esempio di addestramento.

Grazie alla ricchezza e alla stabilità delle informazioni fornite dai soft target, il modello studente può essere addestrato su un minor numero di esempi di addestramento, utilizzando un tasso di apprendimento più elevato, rispetto a quelli utilizzati per addestrare il modello insegnante originale.

Distillation loss

Per avvicinare le tendenze di generalizzazione della rete studente a quelle della rete insegnante, la distillazione della conoscenza utilizza in genere due funzioni di perdita. La prima è una funzione di perdita standard che opera in base alla "perdita effettiva", misurando gli output finali del modello studente rispetto alle etichette della ground truth (nell'apprendimento supervisionato) o rispetto al campione di dati originale (nell'apprendimento autosupervisionato). La seconda è la distillation loss, una "soft loss" che misura i soft target del modello studente rispetto a quelli del modello insegnante.

Poiché possono esserci più soft target per ogni esempio di addestramento, la distillation loss misura la differenza tra la distribuzione di probabilità dei soft target della rete insegnante e la distribuzione di probabilità di quelli della rete studente. A questo scopo viene comunemente utilizzata la divergenza di Kullback-Leibler (o "divergenza KL").

Tipi di conoscenza nella distillazione della conoscenza

Tipi di conoscenza nella distillazione della conoscenza

Sebbene i logit siano l'obiettivo tipico del trasferimento di conoscenza dal modello insegnante a quello studente, ci sono vari modi in cui la "conoscenza" può manifestarsi in una rete neurale profonda. Altri metodi di distillazione della conoscenza si concentrano sui pesi e sulle attivazioni nei livelli nascosti della rete o sulle relazioni tra le diverse parti della rete.

Queste diverse forme di conoscenza rientrano generalmente in una delle tre categorie: conoscenza basata sulle risposte, conoscenza basata sulle caratteristiche o conoscenza basata sulle relazioni.

Conoscenze basate sulle risposte

La conoscenza basata sulle risposte, il genere più comune di distillazione della conoscenza, si concentra sul trasferimento di informazioni dal livello di output finale del modello insegnante. In un tipico metodo KD basato sulle risposte, il modello studente viene addestrato a produrre logit che corrispondono alle previsioni del modello insegnante.

Quando i soft target del modello insegnante hanno una bassa entropia, in altre parole, quando le previsioni sono estremamente "sicure", come se un modello di classificazione producesse un logit molto vicino a 1 (che rappresenta la certezza) per una classe e logit che si avvicinano a 0 per tutte le altre, non forniscono molte informazioni. I metodi basati sulle risposte, quindi, utilizzano spesso un'impostazione di temperatura elevata per gli output del modello, che aumenta l'entropia delle previsioni del modello. Ciò garantisce una distribuzione di probabilità più variabile e quindi una maggiore quantità di informazioni da ogni esempio di addestramento.

Conoscenza basata sulle caratteristiche

La conoscenza basata sulle caratteristiche si concentra sulle informazioni trasmesse nei livelli intermedi, o "livelli nascosti", di una rete neurale. È qui che le reti neurali tendono a eseguire l'estrazione delle caratteristiche, ovvero l'identificazione di caratteristiche e pattern distinti dei dati di input rilevanti per l'attività da svolgere.

Ad esempio, nelle reti neurali convoluzionali utilizzate principalmente per attività di computer vision come la segmentazione delle immagini, ogni livello nascosto successivo acquisisce progressivamente maggiori dettagli man mano che i dati vengono trasmessi attraverso la rete. In un modello utilizzato per classificare immagini di animali in base alla specie, i primi livelli nascosti potrebbero semplicemente riconoscere la presenza della forma di un animale in una parte della foto; i livelli nascosti centrali potrebbero riconoscere che l'animale è un uccello; i livelli nascosti finali, appena prima del livello di output, potrebbero distinguere i dettagli specifici che differenziano una specie di uccello da un'altra specie molto simile.

L'obiettivo dei metodi di distillazione della conoscenza basati sulle caratteristiche è quindi quello di addestrare il modello studente ad apprendere le stesse caratteristiche della rete insegnante. Le funzioni di distillation loss basate sulle caratteristiche vengono utilizzate per misurare e ridurre al minimo la differenza tra le attivazioni delle caratteristiche delle due reti.

Conoscenza basata sulle relazioni

Mentre sia la conoscenza basata sulle risposte che quella basata sulle caratteristiche si concentrano sugli output di specifici livelli del modello, la distillazione della conoscenza basata sulle relazioni si concentra sulle relazioni tra diversi livelli o tra mappe di caratteristiche che rappresentano le attivazioni in diversi livelli o posizioni.

In sostanza, la conoscenza basata sulle relazioni rappresenta forse l'approccio più completo per addestrare la rete studente a emulare il "processo di pensiero" del modello insegnante. Queste relazioni e correlazioni possono essere modellate in vari modi, tra cui le correlazioni tra le mappe di caratteristiche, le matrici che rappresentano la somiglianza tra i diversi livelli, gli incorporamenti di caratteristiche o le distribuzioni probabilistiche delle rappresentazioni di caratteristiche.

Schemi di distillazione della conoscenza

Schemi di distillazione della conoscenza

I metodi di distillazione della conoscenza possono anche essere classificati in base al loro impatto sulla rete insegnante. Mentre il processo di distillazione originariamente proposto da Hinton et al e le numerose successive evoluzioni di tale metodologia mirano esclusivamente all'addestramento della rete studente, altri schemi di distillazione implicano anche l'aggiornamento simultaneo dei pesi della rete insegnante.

Distillazione offline

Nella distillazione offline, la rete insegnante è già pre-addestrata e i pesi del modello sono congelati per impedire ulteriori modifiche. La distillazione offline è tipica di molti approcci KD per gli LLM, in cui l'insegnante è spesso un modello proprietario più grande per il quale non è possibile modificare i pesi del modello.

Distillazione online

In alcune circostanze, potrebbe non essere disponibile un modello insegnante adeguatamente pre-addestrato e con prestazioni idonee, oppure un data scientist potrebbe voler adattare la rete insegnante al proprio caso d'uso specifico. I programmi di distillazione online mirano ad addestrare contemporaneamente sia la rete insegnante che la rete studente.

Ad esempio, Cioppa et al hanno proposto uno schema di distillazione online per i modelli di segmentazione semantica utilizzati negli eventi sportivi dal vivo, in cui le circostanze visive potrebbero cambiare durante una partita. L'obiettivo era quello di aggirare il compromesso tra la velocità di una rete più piccola e l'accuratezza di una rete più grande, addestrando in modo continuo un modello lento e ben performante sui dati delle partite in tempo reale e contemporaneamente distillando la conoscenza di quel modello più grande in un modello più piccolo e più veloce distribuito per generare output in tempo reale.6

Autodistillazione

Nell'autodistillazione, una rete agisce sia come insegnante che come studente. Mentre la distillazione della conoscenza convenzionale comporta il trasferimento di conoscenze da un modello all'altro, l'autodistillazione può essere intesa come il trasferimento della conoscenza dai livelli più profondi di una rete ai livelli superficiali della stessa rete.7

Nell'autodistillazione, più "classificatori superficiali" basati sull'attenzione vengono aggiunti ai livelli intermedi del modello a profondità variabili. Durante l'addestramento, i classificatori più profondi fungono da modelli insegnante e guidano l'addestramento degli altri moduli basati sull'attenzione attraverso due tipi di distillation loss: una KL divergence metric loss sugli output e una L2 regularization loss sulle mappe delle caratteristiche.

Una volta che il modello è stato addestrato ed è pronto per l'inferenza, tutti questi classificatori superficiali vengono rimossi dal modello. In sostanza, questo permette al modello di essere più grande e di avere una maggiore capacità di riconoscimento dei pattern durante l'addestramento, ma poi di essere più piccolo e di conseguenza più veloce ed efficiente quando viene distribuito.

Distillazione della conoscenza e LLM

Distillazione della conoscenza e LLM

Con l'avvento degli LLM, la distillazione della conoscenza è emersa come un mezzo importante per trasferire le capacità avanzate di modelli di grandi dimensioni, spesso proprietari, a modelli più piccoli, spesso open source. In quanto tale, è diventato uno strumento importante per la democratizzazione dell'AI generativa.

Gli LLM con le funzionalità più avanzate sono, nella maggior parte dei casi, troppo costosi e richiedono troppe risorse di elaborazione per essere accessibili a molti aspiranti utenti come hobbisti, startup o istituti di ricerca. Inoltre, nonostante le loro prestazioni avanzate e le loro capacità uniche, gli LLM proprietari per loro natura non possono essere adattati ad applicazioni di nicchia e casi d'uso specifici.

Inoltre, la maggior parte degli LLM disponibili in commercio sono troppo grandi e impegnativi dal punto di vista computazionale per essere utilizzati localmente su telefoni cellulari o altri dispositivi edge. Questo presenta diverse complicazioni logistiche, computazionali e di privacy che potrebbero essere aggirate con un modello più piccolo che potrebbe essere eseguito direttamente sui dispositivi mobili. La compressione dei modelli della KD rappresenta quindi un mezzo promettente per trasferire le qualità emergenti dei modelli di grandi dimensioni a modelli sufficientemente piccoli da essere eseguiti sui dispositivi.

La distillazione della conoscenza per gli LLM può essere utilizzata anche per:

Rendere gli LLM multilingue, ad esempio utilizzando più modelli insegnante, ognuno dei quali è specializzato in una lingua separata, per trasferire le conoscenze linguistiche a un singolo modello studente8 o co-addestrando modelli in lingue diverse per generare incorporamenti simili per la stessa frase.9

Utilizzare LLM più grandi e proprietari per generare set di dati per l'instruction tuning di modelli più piccoli. Ad esempio, il modello Orca di Microsoft "impara (va) da segnali ricchi di GPT-4, tra cui tracce di spiegazioni, processi mentali dettagliati e altre istruzioni complesse". 10

Utilizzare un modello insegnante per classificare gli output del modello studente e distillare le preferenze e le impostazioni di allineamento attraverso una variante dell'apprendimento per rinforzo con feedback umano (RLHF) chiamata apprendimento per rinforzo con feedback AI (RLAIF).11

Soluzioni correlate

Soluzioni correlate

IBM watsonx.ai™

Addestra, convalida, adatta e distribuisci AI generativa, foundation model e funzionalità di machine learning con facilità e crea applicazioni AI in un tempo brevissimo con pochissimi dati.

Esplora watsonx.ai

Foundation model in watsonx.ai

Scopri la libreria dello studio Watsonx AI che offre foundation model di livello enterprise convenienti sviluppati da IBM, modelli open source e modelli provenienti da fornitori terzi per aiutare clienti e partner a scalare e rendere operativa rapidamente l'AI generativa con un rischio minimo.

Esplora la libreria IBM di foundation model
Risorse per la distillazione della conoscenza

Risorse per la distillazione della conoscenza

Cos'è una rete neurale?

Scopri di più sulle reti neurali artificiali, l’architettura di modello che costituisce la base del deep learning e dell’AI generativa.

A Comparative Analysis of Task-Agnostic Distillation Methods for Compressing Transformer Language Models

Leggi come vengono applicati i metodi di distillazione della conoscenza nel campo degli LLMS. Questo articolo riproduce, confronta e analizza diversi metodi rappresentativi per la distillazione generica di modelli linguistici basati su trasformatori.

Che cos'è l'AI generativa?

Acquisire una conoscenza più approfondita dell’AI generativa: l’uso dell’AI per creare contenuti originali, come testo, immagini, video, audio o codice software, in risposta al suggerimento o alla richiesta di un utente.

Fai il passo successivo

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno strumento aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una quantità di dati minima.

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

Nota: tutti i link sono esterni a ibm.com

1 "Model compression", Atti della dodicesima conferenza internazionale ACM SIGKDD sulla knowledge discovery e il data mining, 23 agosto 2006
2 "Distilling the Knowledge in a Neural Network", arXiv, 9 marzo 2015
3 "A Survey on Knowledge Distillation of Large Language Models", arXiv, 8 marzo 2024
4 "Improving drug-target affinity prediction via feature fusion and knowledge distillation", Briefings in Bioinformatics, maggio 2023
5 "A three layer neural network can represent any multivariate function", arXiv, 16 gennaio 2022
6 "ARTHuS: Adaptive Real-Time Human Segmentation in Sports Through Online Distillation", 2019 IEEE/CVF Conferenza su Computer Vision and Pattern Recognition Workshops (CVPRW), 2019
7 "Self-Distillation: Towards Efficient and Compact Neural Networks", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 44, no. 8, pp. 4388-4403, 1 agosto 2022
8 "Multilingual Neural Machine Translation with Knowledge Distillation", arXiv, 30 aprile 2019
9 "Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation", arXiv, 21 aprile 2020
10 "Orca: Progressive Learning from Complex Explanation Traces of GPT-4", Hugging Face, 5 giugno 2023
11 "RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback", arXiv, 1 settembre 2023