Glossario

Quantizzazione del modello

Ottimizza le prestazioni dell'intelligenza artificiale con la quantizzazione dei modelli. Riduci le dimensioni, aumenta la velocità e migliora l'efficienza energetica per le implementazioni reali.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La quantizzazione del modello è una tecnica di ottimizzazione cruciale utilizzata nell'apprendimento automatico per ridurre i costi computazionali e di memoria dell'implementazione dei modelli di intelligenza artificiale. Funziona convertendo i pesi e le attivazioni di una rete neurale da numeri in virgola mobile ad alta precisione (come i float a 32 bit) a formati a bassa precisione, come gli interi a 8 bit. Questo processo riduce significativamente le dimensioni del modello e accelera la velocità di inferenza, rendendolo ideale per l'implementazione su dispositivi con risorse limitate.

Capire la quantizzazione del modello

L'idea alla base della quantizzazione del modello è quella di rappresentare i valori numerici in un modello con un numero inferiore di bit. La maggior parte dei modelli di deep learning viene addestrata e funziona utilizzando numeri in virgola mobile, che offrono un'elevata precisione ma richiedono una notevole potenza di calcolo e memoria. La quantizzazione riduce questa richiesta mappando la gamma continua di valori in virgola mobile in una serie più piccola di valori interi discreti. Questa operazione può essere paragonata alla riduzione della tavolozza dei colori di un'immagine; anche se alcuni dettagli potrebbero andare persi, le informazioni essenziali rimangono e le dimensioni del file diventano molto più piccole.

Esistono diverse tecniche per la quantizzazione dei modelli. La quantizzazione post-training viene applicata dopo che un modello è stato completamente addestrato, convertendo i suoi pesi e le sue attivazioni in una precisione inferiore senza ulteriore addestramento. Si tratta di un metodo semplice, ma che a volte può portare a un leggero calo della precisione. La formazione consapevole della quantizzazione (QAT), invece, incorpora il processo di quantizzazione nella fase di formazione stessa. Questo permette al modello di apprendere e adattarsi ai vincoli di precisione inferiori, ottenendo spesso una migliore precisione rispetto alla quantizzazione successiva all'addestramento. Anche tecniche come la formazione a precisione mista possono essere utilizzate per bilanciare precisione ed efficienza durante il processo di formazione.

Vantaggi della quantizzazione del modello

La quantizzazione del modello offre diversi vantaggi chiave, in particolare per l'impiego di modelli di intelligenza artificiale in applicazioni reali:

  • Dimensioni ridotte del modello: La quantizzazione riduce drasticamente le dimensioni del file del modello. Ad esempio, la conversione di un modello da float a 32 bit a interi a 8 bit può ridurre le dimensioni del modello fino a quattro volte. Questo è particolarmente vantaggioso per la distribuzione dei modelli su dispositivi con memoria limitata, come i telefoni cellulari o i dispositivi edge.
  • Velocità di inferenza più veloce: I calcoli a bassa precisione sono significativamente più veloci, soprattutto su hardware ottimizzato per l'aritmetica intera. Questo porta a una riduzione della latenza di inferenza e a un miglioramento delle prestazioni in tempo reale, fondamentali per applicazioni come il rilevamento di oggetti in tempo reale utilizzando i modelli di Ultralytics YOLO .
  • Costo computazionale inferiore: L'esecuzione di calcoli con una precisione inferiore richiede meno potenza di calcolo ed energia. Questo è fondamentale per i dispositivi alimentati a batteria e riduce le risorse di calcolo complessive necessarie per le applicazioni di intelligenza artificiale.
  • Maggiore efficienza energetica: Una minore richiesta di calcolo si traduce in un minore consumo energetico, rendendo i modelli quantizzati più efficienti dal punto di vista energetico. Questo aspetto è particolarmente importante per i sistemi mobili ed embedded.

Applicazioni del mondo reale

La quantizzazione dei modelli è essenziale per implementare i modelli di intelligenza artificiale in un'ampia gamma di applicazioni, in particolare quando le risorse sono limitate o la velocità è fondamentale. Ecco un paio di esempi:

  1. Dispositivi mobili: Gli smartphone utilizzano spesso modelli quantizzati per le funzioni di intelligenza artificiale sul dispositivo, come il riconoscimento delle immagini e l'elaborazione del linguaggio naturale. La quantizzazione permette a questi modelli complessi di essere eseguiti in modo efficiente sulle GPU dei cellulari o su hardware specializzato come le Edge TPU presenti in dispositivi come Raspberry Pi, senza consumare la batteria o causare problemi di prestazioni. Ad esempio, l'esecuzione di un modello Ultralytics YOLO su un'applicazione Android o iOS trae grande vantaggio dalla quantizzazione per il rilevamento degli oggetti in tempo reale.
  2. Edge Computing e dispositivi IoT: In scenari come le città intelligenti o l'automazione industriale, i modelli di intelligenza artificiale vengono distribuiti su numerosi dispositivi edge per l'elaborazione dei dati in tempo reale. La quantizzazione è fondamentale per consentire un servizio efficiente dei modelli su questi dispositivi, che spesso hanno una potenza di elaborazione e una memoria limitate. Considera una telecamera intelligente che utilizza Ultralytics YOLO per i sistemi di allarme di sicurezza; la quantizzazione garantisce un rilevamento e una risposta tempestivi riducendo al minimo i requisiti hardware.

Quantizzazione vs. potatura del modello

Sebbene sia la quantizzazione del modello che la potatura del modello siano tecniche di ottimizzazione del modello volte a ridurne le dimensioni e a migliorarne l'efficienza, esse operano in modo diverso. La quantizzazione riduce la precisione delle rappresentazioni numeriche, mentre il pruning riduce il numero di parametri di un modello eliminando le connessioni o i neuroni meno importanti. Entrambe le tecniche possono essere utilizzate indipendentemente o in combinazione per ottenere prestazioni e dimensioni ottimali del modello. Strumenti come TensorRT e OpenVINO spesso incorporano la quantizzazione e il pruning come parte delle loro pipeline di ottimizzazione.

In sintesi, la quantizzazione del modello è una tecnica potente che rende l'IA più accessibile e utilizzabile in una gamma più ampia di dispositivi e applicazioni, migliorando l'efficienza senza una significativa perdita di precisione.

Leggi tutto