Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024
Glossario

Quantizzazione del modello

Ottimizza le prestazioni dell'IA con la quantizzazione del modello. Riduci le dimensioni, aumenta la velocità e migliora l'efficienza energetica per le implementazioni nel mondo reale.

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 float a 32 bit o FP32) a tipi di dati a precisione inferiore, come interi a 8 bit (INT8). Questo processo rende i modelli significativamente più piccoli e veloci, consentendone l'implementazione su hardware con risorse limitate come telefoni cellulari e sistemi embedded. L'obiettivo principale è migliorare le prestazioni, in particolare la latenza di inferenza, con un impatto minimo sulla precisione predittiva del modello.

Come funziona la quantizzazione del modello

Il processo di quantizzazione prevede la mappatura dell'intervallo continuo di valori in virgola mobile in un modello addestrato a un insieme discreto più piccolo 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 interi a precisione inferiore sono molto più veloci su molte CPU moderne e acceleratori AI specializzati come GPU e TPU, che dispongono di istruzioni dedicate per l'aritmetica intera.

Esistono due metodi principali per applicare la quantizzazione:

  1. Quantizzazione post-training (PTQ): Questo è l'approccio più semplice, in cui un modello già addestrato viene convertito in un formato a precisione inferiore. È un processo rapido che prevede l'analisi della distribuzione dei pesi e delle attivazioni su un piccolo dataset di calibrazione per determinare la mappatura ottimale da float a integer.
  2. Quantization-Aware Training (QAT): In questo metodo, il modello viene addestrato o sottoposto a fine-tuning simulando gli effetti della quantizzazione. Il forward pass del processo di addestramento imita l'inferenza quantizzata, consentendo al modello di adattarsi alla precisione ridotta. Il QAT spesso produce una maggiore accuratezza rispetto al 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 del QAT.

Applicazioni nel mondo reale

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

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

Quantizzazione vs. 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 il pruning riduce le dimensioni della rete rimuovendone delle parti, la quantizzazione rende le parti rimanenti più efficienti riducendone la precisione numerica. Le due tecniche vengono spesso combinate per ottenere la massima ottimizzazione.
  • Knowledge Distillation: Questo implica l'addestramento di un modello "studente" più piccolo per imitare un modello "insegnante" più grande e pre-addestrato. L'obiettivo è trasferire la conoscenza dell'insegnante a un'architettura più compatta. Questo differisce 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'utilizzo della memoria. Pur essendo correlata, è principalmente un'ottimizzazione dell'addestramento, mentre la quantizzazione è tipicamente focalizzata sull'ottimizzazione del modello per l'inferenza.

Considerazioni e supporto

Sebbene altamente vantaggiosa, la quantizzazione può potenzialmente influire sull'accuratezza del modello. È essenziale eseguire una valutazione approfondita utilizzando metriche di performance rilevanti dopo la quantizzazione per garantire che il compromesso in termini di prestazioni sia accettabile.

Ultralytics facilita l'implementazione di modelli quantizzati supportando l'esportazione in formati adatti alla quantizzazione. Questi includono ONNX per un'ampia compatibilità, OpenVINO per l'ottimizzazione su hardware Intel e TensorRT per alte prestazioni su GPU NVIDIA. Piattaforme come Ultralytics HUB possono aiutare a gestire l'intero ciclo di vita, dall'addestramento all'implementazione di modelli ottimizzati. Le integrazioni con strumenti come Neural Magic sfruttano anche la quantizzazione e la potatura per ottenere prestazioni di classe GPU su CPU.

Unisciti alla community di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora
Link copiato negli appunti