Glossario

Quantizzazione del modello

Ottimizzate le prestazioni dell'intelligenza artificiale con la quantizzazione dei modelli. Riduzione delle dimensioni, aumento della velocità e miglioramento dell'efficienza energetica per le implementazioni reali.

La quantizzazione del modello è una potente tecnica di ottimizzazione del modello che riduce l'ingombro di memoria e il costo computazionale di una rete neurale (NN) convertendo i suoi pesi e le sue attivazioni da numeri in virgola mobile ad alta precisione (come i float a 32 bit o FP32) a tipi di dati a bassa precisione, come i numeri interi a 8 bit (INT8). Questo processo rende i modelli significativamente più piccoli e più veloci, consentendo la loro implementazione su hardware con risorse limitate, come i telefoni cellulari e i sistemi embedded. L'obiettivo principale è migliorare le prestazioni, in particolare la latenza di inferenza, con un impatto minimo sull'accuratezza predittiva del modello.

Come funziona la quantizzazione del modello

Il processo di quantizzazione comporta la mappatura della gamma continua di valori in virgola mobile di un modello addestrato in una serie più piccola e discreta di valori interi. Questa conversione riduce il numero di bit necessari per memorizzare ciascun parametro, riducendo le dimensioni complessive del modello. Inoltre, i calcoli che utilizzano numeri interi a bassa precisione sono molto più veloci su molte CPU moderne e sugli acceleratori di intelligenza artificiale specializzati, come le GPU e le TPU, che hanno istruzioni dedicate per l'aritmetica dei numeri interi.

Esistono due metodi principali per applicare la quantizzazione:

  1. Quantizzazione post-addestramento (PTQ): È l'approccio più semplice, in cui un modello già addestrato viene convertito in un formato a bassa precisione. È un processo rapido che prevede l'analisi della distribuzione dei pesi e delle attivazioni su un piccolo set di dati di calibrazione per determinare la mappatura ottimale da float a interi.
  2. Formazione consapevole della quantizzazione (QAT): In questo metodo, il modello viene addestrato o messo a punto simulando gli effetti della quantizzazione. Il passaggio in avanti del processo di addestramento simula l'inferenza quantizzata, consentendo al modello di adattarsi alla precisione ridotta. La QAT spesso offre una precisione superiore alla PTQ perché il modello impara a compensare la potenziale perdita di informazioni durante la fase di addestramento. Framework come PyTorch e TensorFlow forniscono strumenti robusti per l'implementazione di QAT.

Applicazioni del mondo reale

La quantizzazione è fondamentale per l'esecuzione di sofisticati modelli di computer vision in scenari reali, soprattutto su dispositivi Edge AI.

  • Analisi delle immagini sul dispositivo: Molte applicazioni per smartphone utilizzano modelli quantizzati per le funzioni in tempo reale. Ad esempio, un'applicazione che fornisce il rilevamento di oggetti in tempo reale attraverso la fotocamera, come l'identificazione di prodotti o punti di riferimento, si affida a un modello quantizzato come Ultralytics YOLO11 per funzionare in modo efficiente sull'hardware del telefono senza scaricare la batteria o richiedere una connessione al cloud.
  • Automotive e robotica: Nei veicoli autonomi, i modelli per il rilevamento dei pedoni e il mantenimento della corsia devono funzionare con una latenza estremamente bassa. La quantizzazione di questi modelli consente di eseguirli su hardware specializzato come NVIDIA Jetson o le TPU Google Coral Edge, assicurando che le decisioni vengano prese in frazioni di secondo, il che è fondamentale per la sicurezza.

Quantizzazione e altre tecniche di ottimizzazione

La quantizzazione del modello viene spesso utilizzata insieme ad altri metodi di ottimizzazione, ma si distingue per il suo approccio.

  • Model Pruning: Questa tecnica rimuove le connessioni (pesi) ridondanti o non importanti all'interno della rete neurale per ridurne le dimensioni e la complessità. Mentre la potatura rende la rete più piccola rimuovendone alcune parti, la quantizzazione rende le parti rimanenti più efficienti riducendone la precisione numerica. Spesso le due operazioni vengono combinate per ottenere la massima ottimizzazione.
  • Distillazione della conoscenza: Si tratta di addestrare un modello "studente" più piccolo per imitare un modello "insegnante" più grande e pre-addestrato. L'obiettivo è trasferire la conoscenza dell'insegnante in un'architettura più compatta. Si differenzia dalla quantizzazione, che modifica la rappresentazione numerica di un modello esistente piuttosto che addestrarne uno nuovo.
  • Precisione mista: Questa tecnica utilizza una combinazione di diverse precisioni numeriche (ad esempio, FP16 e FP32) durante l'addestramento del modello per accelerare il processo e ridurre l'uso della memoria. Pur essendo correlata, si tratta principalmente di un'ottimizzazione dell'addestramento, mentre la quantizzazione si concentra tipicamente sull'ottimizzazione del modello per l'inferenza.

Considerazioni e supporto

Sebbene sia molto vantaggiosa, la quantizzazione può potenzialmente influire sull'accuratezza del modello. È essenziale eseguire una valutazione approfondita utilizzando metriche di prestazione pertinenti dopo la quantizzazione per garantire che il compromesso tra prestazioni sia accettabile.

Ultralytics facilita l 'implementazione di modelli quantizzati supportando l'esportazione in formati compatibili con la quantizzazione. Questi includono ONNX per un'ampia compatibilità, OpenVINO per l'ottimizzazione su hardware Intel e TensorRT per prestazioni elevate su GPU NVIDIA. Piattaforme come Ultralytics HUB possono aiutare a gestire l'intero ciclo di vita, dalla formazione alla distribuzione dei modelli ottimizzati. Le integrazioni con strumenti come Neural Magic sfruttano anche la quantizzazione e il pruning per ottenere prestazioni di classe GPU sulle CPU.

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