Glossario

Distillazione della conoscenza

Scoprite come la Knowledge Distillation comprime i modelli di intelligenza artificiale per ottenere un'inferenza più rapida, una maggiore precisione e un'efficienza di distribuzione dei dispositivi edge.

La distillazione della conoscenza è una tecnica di ottimizzazione e compressione dei modelli nell'apprendimento automatico (ML), in cui un modello "studente" compatto viene addestrato per riprodurre le prestazioni di un modello "insegnante" più grande e complesso. L'idea di base è quella di trasferire la "conoscenza" dal modello insegnante, potente ma ingombrante, al modello studente, più piccolo ed efficiente. Ciò consente di distribuire modelli altamente accurati in ambienti con risorse limitate, come i dispositivi edge o i telefoni cellulari, senza un calo significativo delle prestazioni. Il processo colma il divario tra i modelli di ricerca massicci e all'avanguardia e la distribuzione pratica dei modelli nel mondo reale.

Come funziona la distillazione della conoscenza

Il modello insegnante, in genere una rete neurale di grandi dimensioni o un insieme di modelli, viene prima addestrato su un ampio set di dati per ottenere un'elevata precisione. Durante il processo di distillazione, il modello studente impara cercando di imitare le uscite del docente. Invece di imparare solo dalle etichette di base nei dati di addestramento, lo studente viene addestrato anche sulle distribuzioni di probabilità complete dell'insegnante per ogni previsione, spesso chiamate "etichette morbide". Queste etichette morbide forniscono informazioni più ricche delle "etichette dure" (le risposte corrette), in quanto rivelano come il modello insegnante "pensa" e generalizza. Per esempio, un modello insegnante potrebbe prevedere che l'immagine di un gatto sia "gatto" con un'affidabilità del 90%, ma anche assegnare piccole probabilità a "cane" (5%) e "volpe" (2%). Queste informazioni sfumate aiutano il modello studente ad apprendere in modo più efficace, spesso portando a una generalizzazione migliore rispetto a quella che avrebbe ottenuto se fosse stato addestrato solo sulle etichette. Questa tecnica è una parte fondamentale del kit di strumenti del deep learning per creare modelli efficienti.

Applicazioni del mondo reale

La distillazione della conoscenza è ampiamente utilizzata in vari settori per rendere accessibile una potente intelligenza artificiale.

  1. Elaborazione del linguaggio naturale (NLP): I modelli linguistici di grandi dimensioni (LLM) come BERT sono incredibilmente potenti, ma troppo grandi per molte applicazioni. DistilBERT è un famoso esempio di versione ridotta di BERT. È più piccolo del 40% e più veloce del 60%, pur mantenendo oltre il 97% delle prestazioni di BERT, il che lo rende adatto a compiti come l'analisi del sentimento e la risposta alle domande sui dispositivi di consumo.
  2. Computer Vision su dispositivi edge: Nella computer vision, un modello di grandi dimensioni e ad alta precisione per la classificazione delle immagini o il rilevamento degli oggetti può essere distillato in un modello più piccolo. Ciò consente di eseguire compiti di visione complessi, come il rilevamento di persone in tempo reale per una telecamera di sicurezza intelligente, direttamente su hardware con potenza di calcolo limitata, come un Raspberry Pi, migliorando la velocità e la privacy dei dati. I modelli YOLO di Ultralytics, come YOLO11, possono far parte di questi flussi di lavoro, in cui le conoscenze dei modelli più grandi possono informare l'addestramento di versioni più piccole e distribuibili.

Distillazione della conoscenza vs. altre tecniche di ottimizzazione

La distillazione della conoscenza è correlata ma distinta da altre tecniche di ottimizzazione dei modelli. Comprendere le differenze è fondamentale per scegliere l'approccio giusto per il vostro progetto, che può essere gestito e implementato attraverso piattaforme come Ultralytics HUB.

  • Model Pruning: Questa tecnica consiste nel rimuovere le connessioni (pesi) ridondanti o meno importanti da una rete già addestrata per ridurne le dimensioni. La distillazione, invece, addestra da zero una rete completamente nuova e più piccola per imitare l'insegnante.
  • Quantizzazione del modello: La quantizzazione riduce la precisione numerica dei pesi del modello (ad esempio, da float a 32 bit a interi a 8 bit). Questo riduce il modello e può accelerare il calcolo su hardware compatibile. La quantizzazione modifica la rappresentazione del modello esistente, mentre la distillazione crea un nuovo modello. La quantizzazione viene spesso utilizzata insieme alla distillazione o alla potatura e i modelli possono essere esportati in formati come ONNX o ottimizzati con motori come TensorRT.
  • Apprendimento per trasferimento: Si tratta di riutilizzare parti di un modello pre-addestrato (di solito la sua struttura portante per l'estrazione delle caratteristiche) e poi di metterlo a punto su un nuovo set di dati più piccolo. L'obiettivo è adattare un modello esistente a un nuovo compito. La distillazione, invece, mira a trasferire il comportamento predittivo di un insegnante a un modello per studenti, che può avere un'architettura completamente diversa.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti