La distillazione, nel contesto dell’intelligenza artificiale, è una tecnica di compressione dei modelli neurali che consiste nel trasferire la conoscenza appresa da un modello di grandi dimensioni, detto modello insegnante, a un modello più piccolo, chiamato modello studente. L’obiettivo è ottenere un sistema più leggero e più veloce da eseguire, mantenendo prestazioni il più possibile vicine a quelle del modello originale. Introdotta in modo sistematico nei primi anni duemila e poi diffusa con il crescere delle reti neurali profonde, questa tecnica è oggi centrale nello sviluppo di applicazioni che devono girare su dispositivi con risorse limitate.

Il principio di fondo è semplice: invece di addestrare il modello studente soltanto sui dati etichettati, lo si addestra anche a imitare le risposte del modello insegnante. Queste risposte contengono informazioni più ricche delle etichette originali, perché riflettono le probabilità che l’insegnante assegna a ciascuna classe o a ciascun token. In questo modo lo studente apprende non solo la risposta corretta, ma anche il modo in cui il modello esperto distribuisce la propria fiducia tra le alternative.

Come funziona la distillazione

Il processo si articola in due fasi principali. Nella prima si addestra o si recupera un modello insegnante di grandi dimensioni, tipicamente molto accurato ma costoso in termini di memoria e calcolo. Nella seconda si allena un modello studente, più compatto, utilizzando come segnale di apprendimento una combinazione tra le etichette vere e le previsioni dell’insegnante.

Un elemento chiave è la temperatura, un parametro che regola la morbidezza delle distribuzioni di probabilità prodotte dall’insegnante. Aumentando la temperatura, le probabilità si distribuiscono in modo più uniforme e rivelano somiglianze tra classi che altrimenti resterebbero nascoste. Lo studente viene così guidato a cogliere relazioni strutturali nei dati che le sole etichette non esplicitano.

La conoscenza nascosta nelle probabilità

Quando un modello assegna, per esempio, una probabilità elevata a una classe corretta e una probabilità moderata a una classe simile, comunica implicitamente che quelle due categorie sono vicine. Questo tipo di informazione, detta conoscenza oscura, è ciò che rende la distillazione più efficace del semplice addestramento supervisionato.

Tipologie di distillazione

Esistono diverse varianti della tecnica, che si distinguono per ciò che viene trasferito dall’insegnante allo studente. La scelta dipende dagli obiettivi di compressione, dalla disponibilità dei dati e dall’architettura dei modelli coinvolti.

Distillazione delle risposte

È la forma più comune: lo studente imita direttamente le uscite dell’insegnante, ossia le probabilità finali. È semplice da implementare e non richiede accesso agli strati interni del modello esperto.

Distillazione delle caratteristiche

In questo caso lo studente cerca di riprodurre le rappresentazioni interne dell’insegnante, cioè le attivazioni di strati intermedi. Questo approccio può essere più efficace, ma richiede che le architetture siano in qualche modo compatibili.

Distillazione delle relazioni

Qui non si imitano singole uscite, bensì le relazioni tra esempi diversi, come le somiglianze calcolate dall’insegnante. Lo studente apprende quindi una struttura globale dello spazio dei dati, non solo risposte puntuali.

Confronto tra approcci

ApproccioCosa viene trasferitoComplessitàVantaggio principale
RisposteProbabilità finaliBassaSemplicità di implementazione
CaratteristicheAttivazioni interneMediaMigliore trasferimento di conoscenza
RelazioniSomiglianze tra esempiAltaApprendimento di strutture globali
AutodistillazioneConoscenza dello stesso modelloMediaNessun insegnante esterno necessario
Multi-insegnanteUscite di più modelliAltaMaggiore robustezza dello studente

Applicazioni pratiche

La distillazione è ampiamente usata per portare modelli di grandi dimensioni su smartphone, dispositivi embedded e browser, dove memoria e potenza di calcolo sono limitate. Trova impiego anche nei sistemi di raccomandazione, nel riconoscimento vocale, nella traduzione automatica e nei modelli linguistici compatti.

Un ulteriore vantaggio riguarda i tempi di inferenza: un modello studente più piccolo risponde più rapidamente e consuma meno energia. Questo aspetto è decisivo nelle applicazioni in tempo reale e nei servizi che devono gestire molte richieste contemporaneamente.

Distillazione e modelli linguistici

Nel campo dei modelli linguistici di grandi dimensioni, la distillazione consente di creare versioni ridotte capaci di mantenere buone prestazioni su compiti specifici, come la classificazione di testi o la generazione guidata. Queste versioni sono spesso più facili da distribuire e da controllare.

Passaggi operativi di un processo di distillazione

  1. Definire l’obiettivo di compressione e i vincoli di memoria e latenza del sistema finale.
  2. Selezionare o addestrare un modello insegnante con prestazioni elevate sul compito scelto.
  3. Scegliere l’architettura del modello studente, più piccola ma adatta al compito.
  4. Preparare il insieme di dati di addestramento, con o senza etichette originali.
  5. Calcolare le uscite dell’insegnante sugli esempi disponibili, regolando la temperatura.
  6. Addestrare lo studente combinando la perdita verso le etichette vere e quella verso l’insegnante.
  7. Valutare le prestazioni dello studente su un insieme di test indipendente.
  8. Ottimizzare iperparametri e, se necessario, ripetere il ciclo con un insegnante diverso.

Domande frequenti

Che differenza c’è tra distillazione e potatura?

La potatura rimuove parametri o connessioni da un modello esistente, mentre la distillazione addestra un modello nuovo e più piccolo a imitare quello grande. Le due tecniche possono essere combinate per ottenere ulteriori riduzioni.

La distillazione riduce sempre l’accuratezza?

In genere lo studente è meno accurato dell’insegnante, ma in alcuni casi può avvicinarsi molto o persino superarlo su dati specifici, grazie all’effetto regolarizzante delle probabilità morbide.

Serve avere le etichette originali dei dati?

Non è strettamente necessario: esistono forme di distillazione che usano solo le uscite dell’insegnante. Tuttavia, combinare etichette vere e previsioni dell’insegnante tende a dare risultati migliori.

La distillazione funziona con architetture diverse?

Sì, lo studente può avere un’architettura differente da quella dell’insegnante. La distillazione delle risposte è la più flessibile da questo punto di vista.

Quali sono i principali svantaggi?

Richiede tempo e risorse per addestrare l’insegnante e può essere complessa da calibrare. Inoltre, la conoscenza trasferita dipende dalla qualità e dalla copertura dei dati usati.

La distillazione è usata nei modelli di visione artificiale?

Sì, è molto diffusa nelle reti convoluzionali per il riconoscimento di immagini, dove permette di ottenere modelli leggeri adatti a dispositivi mobili senza perdere troppa precisione.