Glossario

Distillazione della conoscenza

Scopri come la Distillazione della Conoscenza comprime i modelli di intelligenza artificiale per velocizzare l'inferenza, migliorare l'accuratezza e rendere più efficiente l'implementazione dei dispositivi edge.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La distillazione della conoscenza è una tecnica di apprendimento automatico (ML) in cui un modello più piccolo e compatto (lo "studente") viene addestrato per imitare il comportamento di un modello più grande e complesso (il "maestro"). L'obiettivo principale è quello di trasferire la "conoscenza" appresa dal modello insegnante al modello studente, consentendo a quest'ultimo di ottenere prestazioni comparabili ma con requisiti computazionali significativamente inferiori, come dimensioni ridotte e latenza di inferenza più rapida. Questo rende i modelli complessi di deep learning (DL) pratici per l'implementazione in ambienti con risorse limitate come i dispositivi mobili o le piattaforme di edge computing. Il concetto è stato reso popolare da Geoffrey Hinton e colleghi nel loro articolo"Distilling the Knowledge in a Neural Network".

Come funziona la distillazione della conoscenza

Il processo prevede in genere un modello insegnante pre-addestrato, che può essere un singolo modello potente o un insieme di modelli noti per l'elevata precisione. Il modello studente, solitamente con un numero inferiore di parametri o con un'architettura più superficiale (ad esempio, una rete neurale convoluzionale (CNN) più piccola), viene poi addestrato utilizzando le uscite del modello insegnante come guida. Invece di utilizzare solo le etichette dure (la verità di base) dei dati di addestramento, lo studente spesso impara dagli "obiettivi morbidi" dell'insegnante, ovvero le distribuzioni di probabilità complete previste dall'insegnante per tutte le classi. Questi obiettivi morbidi contengono informazioni più ricche su come il modello dell'insegnante generalizza e rappresenta le somiglianze tra le classi. Una speciale funzione di perdita, spesso chiamata perdita di distillazione, viene utilizzata per minimizzare la differenza tra le previsioni dello studente e gli obiettivi morbidi dell'insegnante, a volte combinata con una perdita standard calcolata utilizzando le etichette reali.

Vantaggi e importanza

La Distillazione della Conoscenza offre diversi vantaggi chiave:

  • Compressione dei modelli: Crea modelli più piccoli che richiedono meno spazio di archiviazione.
  • Inferenza più veloce: La riduzione della complessità del modello porta a previsioni più rapide, fondamentali per le applicazioni di inferenza in tempo reale.
  • Efficienza energetica: I modelli più piccoli consumano meno energia, un aspetto importante per i dispositivi alimentati a batteria e per le pratiche di AI sostenibile. Consulta le linee guida diUltralytics per la salute e la sicurezza ambientale.
  • Distribuzione su dispositivi edge: Permette di ottenere potenti capacità di intelligenza artificiale su hardware con memoria e potenza di elaborazione limitate, come Raspberry Pi o NVIDIA Jetson.
  • Potenziale miglioramento delle prestazioni: A volte, il modello dello studente può generalizzare meglio di un modello di dimensioni simili addestrato direttamente su etichette rigide, poiché impara dal segnale di supervisione più ricco fornito dall'insegnante.

Applicazioni del mondo reale

La distillazione della conoscenza è ampiamente utilizzata in diversi ambiti:

  1. Visione artificiale: Modelli di rilevamento di oggetti o di segmentazione di immagini di grandi dimensioni, come le versioni complesse di Ultralytics YOLO o di Vision Transformers (ViT), possono essere distillati in versioni leggere adatte ad applicazioni mobiliUltralytics HUB App) o a sistemi integrati in veicoli autonomi o robotici. Ad esempio, Intuitivo utilizza la distillazione delle conoscenze per trasferire le conoscenze da modelli di base di grandi dimensioni a modelli più piccoli ed economici per scalare milioni di punti vendita autonomi, velocizzando notevolmente l'annotazione (Fonte: YOLO Vision 2023 Talk).
  2. Elaborazione del linguaggio naturale (NLP): Modelli linguistici di grandi dimensioni (LLM) come BERT o GPT sono spesso distillati in versioni più piccole (ad esempio, DistilBERT di Hugging Face) per compiti come l'analisi del sentiment o la risposta alle domande su dispositivi con budget computazionali limitati o per applicazioni che richiedono una latenza inferiore, come i chatbot.

Concetti correlati

La Distillazione della Conoscenza è correlata ma distinta da altre tecniche di ottimizzazione dei modelli:

  • Model Pruning: Consiste nel rimuovere i pesi o le connessioni meno importanti da una rete già addestrata per ridurne le dimensioni. La distillazione addestra una nuova rete più piccola.
  • Quantizzazione del modello: Riduce la precisione numerica dei pesi del modello (ad esempio, da float a 32 bit a interi a 8 bit) per diminuire le dimensioni e velocizzare il calcolo, spesso utilizzata insieme o dopo la distillazione. Vedi integrazioni come ONNX o TensorRT.
  • Apprendimento per trasferimento: Riutilizza parti di un modello pre-addestrato (di solito la struttura portante) e lo mette a punto su un nuovo set di dati o su un nuovo compito. La distillazione si concentra sul trasferimento del comportamento predittivo di un insegnante a un'architettura di studenti potenzialmente diversa.
  • Apprendimento federato: Addestra i modelli su dispositivi decentralizzati senza condividere i dati grezzi, con particolare attenzione alla privacy. La distillazione si concentra sulla compressione dei modelli.

La distillazione della conoscenza è un potente strumento per rendere più accessibili ed efficienti i modelli di AI all'avanguardia, colmando il divario tra i modelli di ricerca su larga scala e l'implementazione pratica dei modelli nel mondo reale. Piattaforme come Ultralytics HUB facilitano l'addestramento e l'implementazione di modelli potenzialmente distillati come YOLOv8 o YOLO11.

Leggi tutto