Pruning e quantizzazione nella visione artificiale: guida rapida
Scopri perché il pruning e la quantizzazione sono essenziali per ottimizzare i modelli di visione artificiale e ottenere prestazioni più rapide sui dispositivi edge.
Abirami Vina10 min di lettura
Con il progresso della tecnologia, i dispositivi edge stanno diventando sempre più comuni. Dagli smartwatch che monitorano la frequenza cardiaca ai droni aerei che sorvegliano le strade, i sistemi edge possono elaborare i dati localmente e in tempo reale, direttamente sul dispositivo.
Questo metodo è spesso più rapido e sicuro rispetto all'invio dei dati al cloud, soprattutto per le applicazioni che trattano dati personali, come il rilevamento delle targhe o il tracciamento dei gesti. Sono esempi di visione artificiale, un ramo dell'intelligenza artificiale (AI) che consente alle macchine di interpretare e comprendere le informazioni visive.

Fig. 1. Un esempio di rilevamento delle targhe. (Fonte)
Tuttavia, è importante considerare che queste applicazioni richiedono modelli di Vision AI in grado di gestire calcoli intensivi, consumare poche risorse e funzionare in modo autonomo. La maggior parte dei modelli di computer vision viene sviluppata per sistemi ad alte prestazioni, risultando meno adatta alla distribuzione diretta su dispositivi edge.
Per colmare questa lacuna, gli sviluppatori applicano spesso ottimizzazioni mirate per adattare il modello e farlo funzionare in modo efficiente su hardware più compatto. Questi interventi sono fondamentali per le distribuzioni edge nel mondo reale, dove memoria e potenza di calcolo sono limitate.
È interessante notare che i modelli di computer vision come Ultralytics YOLO11 sono già progettati pensando all'efficienza edge, il che li rende ideali per le attività in tempo reale. Tuttavia, le loro prestazioni possono essere ulteriormente migliorate con tecniche di ottimizzazione dei modelli come il pruning e la quantizzazione, che consentono inferenze ancora più rapide e un minore utilizzo delle risorse sui dispositivi con risorse limitate.
In questo articolo approfondiremo cosa sono il pruning e la quantizzazione, come funzionano e come possono aiutare i modelli YOLO a ottenere buone prestazioni nelle distribuzioni edge nel mondo reale. Iniziamo!
Pruning e quantizzazione: tecniche fondamentali per l'ottimizzazione dei modelli#
Quando prepari i modelli di Vision AI per la distribuzione su dispositivi edge, uno degli obiettivi principali è renderli leggeri e affidabili senza sacrificare le prestazioni. Spesso è necessario ridurne le dimensioni e il fabbisogno computazionale, così che possano funzionare in modo efficiente su hardware con memoria, potenza o capacità di elaborazione limitate. Due metodi comuni per farlo sono il pruning e la quantizzazione.
Il pruning è una tecnica di ottimizzazione dei modelli di IA che aiuta a rendere le reti neurali più piccole ed efficienti. In molti casi, alcune parti di un modello, come determinate connessioni o nodi, contribuiscono poco alle predizioni finali. Il pruning individua e rimuove queste parti meno importanti, riducendo le dimensioni del modello e accelerandone le prestazioni.
La quantizzazione, invece, è una tecnica di ottimizzazione che riduce la precisione dei numeri utilizzati dal modello. Anziché basarsi su numeri in virgola mobile a 32 bit ad alta precisione, il modello passa a formati più compatti ed efficienti, come gli interi a 8 bit. Questo cambiamento riduce l'uso della memoria e accelera l'inferenza, cioè il processo con cui il modello genera predizioni.

Fig. 2. Panoramica di pruning e quantizzazione. (Fonte)
Come funzionano il pruning e la quantizzazione#
Ora che abbiamo capito meglio cosa sono il pruning e la quantizzazione, vediamo come funzionano entrambi.
Il pruning viene eseguito tramite un processo noto come analisi di sensibilità. Questo processo individua quali parti dei modelli di reti neurali, come determinati pesi, neuroni o canali, contribuiscono meno alla predizione finale. Queste parti possono essere rimosse con un effetto minimo sulla precisione. Dopo il pruning, di solito il modello viene riaddestrato per perfezionarne le prestazioni. Il ciclo può essere ripetuto per trovare il giusto equilibrio tra dimensioni e precisione.
La quantizzazione dei modelli, invece, si concentra sul modo in cui il modello gestisce i dati. Si parte dalla calibrazione, durante la quale il modello viene eseguito su dati campione per apprendere l'intervallo dei valori che deve elaborare. Questi valori vengono quindi convertiti da numeri in virgola mobile a 32 bit a formati a precisione ridotta, come gli interi a 8 bit.

Fig. 3. La quantizzazione aiuta a ridurre le dimensioni e la complessità del modello. (Fonte)
Sono disponibili diversi strumenti che semplificano l'uso del pruning e della quantizzazione nei progetti di IA reali. La maggior parte dei framework di IA, come PyTorch e TensorFlow, include il supporto integrato per queste tecniche di ottimizzazione, consentendo agli sviluppatori di integrarle direttamente nel processo di distribuzione dei modelli.
Una volta ottimizzato un modello, strumenti come ONNX Runtime possono aiutare a eseguirlo in modo efficiente su diverse piattaforme hardware, come server, computer desktop e dispositivi edge. Inoltre, Ultralytics offre integrazioni che consentono di esportare i modelli YOLO in formati adatti alla quantizzazione (per esempio, quantize=8 per INT8, se il formato lo supporta), semplificando la riduzione delle dimensioni del modello e il miglioramento delle prestazioni.
Panoramica sull'ottimizzazione dei modelli Ultralytics YOLO#
I modelli Ultralytics YOLO, come YOLO11, sono ampiamente apprezzati per il rilevamento di oggetti rapido e in un'unica fase, che li rende ideali per le attività di Vision AI in tempo reale. Sono già progettati per essere abbastanza leggeri ed efficienti da poter essere distribuiti su dispositivi edge. Tuttavia, i livelli responsabili dell'elaborazione delle caratteristiche visive, detti livelli convoluzionali, possono richiedere ancora una notevole potenza di calcolo durante l'inferenza.
Potresti chiederti: se Ultralytics YOLO11 è già ottimizzato per l'uso edge, perché ha bisogno di un'ulteriore ottimizzazione? In poche parole, non tutti i dispositivi edge sono uguali. Alcuni funzionano con hardware essenziale, come piccoli processori integrati che consumano meno energia di una normale lampadina a LED.
In questi casi, anche un modello compatto come Ultralytics YOLO11 ha bisogno di ulteriori ottimizzazioni per garantire prestazioni fluide e affidabili. Tecniche come il pruning e la quantizzazione aiutano a ridurre le dimensioni del modello e ad accelerare l'inferenza senza incidere significativamente sulla precisione, rendendole ideali per gli ambienti con risorse limitate.
Per semplificare l'applicazione di queste tecniche di ottimizzazione, Ultralytics supporta diverse integrazioni che puoi usare per esportare i modelli YOLO in più formati, come ONNX, TensorRT, OpenVINO, CoreML e PaddlePaddle. Ogni formato è progettato per funzionare bene con specifici tipi di hardware e ambienti di distribuzione.
Per esempio, ONNX viene spesso usato nei flussi di lavoro di quantizzazione perché è compatibile con un'ampia gamma di strumenti e piattaforme. TensorRT, invece, è altamente ottimizzato per i dispositivi NVIDIA e supporta l'inferenza a bassa precisione con INT8, risultando ideale per la distribuzione ad alta velocità su GPU edge.
Casi d'uso significativi dell'ottimizzazione dei modelli Ultralytics YOLO#
Con la continua espansione della computer vision in diverse applicazioni del mondo reale, i modelli YOLO ottimizzati permettono di eseguire attività come il rilevamento di oggetti, la segmentazione di istanze e il tracciamento di oggetti su hardware più compatto e veloce. Vediamo ora alcuni casi d'uso in cui il pruning e la quantizzazione rendono queste attività di computer vision più efficienti e pratiche.
Sorveglianza intelligente basata su Ultralytics YOLO11#
Molti spazi industriali e aree pubbliche si affidano al monitoraggio in tempo reale per garantire sicurezza e protezione. Luoghi come stazioni di trasporto, stabilimenti produttivi e grandi aree all'aperto hanno bisogno di sistemi di Vision AI in grado di rilevare persone o veicoli in modo rapido e preciso. Spesso queste aree hanno connettività limitata e vincoli hardware, che rendono difficile distribuire modelli di grandi dimensioni.
In questi casi, un modello di Vision AI ottimizzato come Ultralytics YOLO11 è un'ottima soluzione. Le dimensioni compatte e le prestazioni rapide lo rendono perfetto per l'esecuzione su dispositivi edge a basso consumo, come le telecamere integrate o i sensori intelligenti. Questi modelli possono elaborare i dati visivi direttamente sul dispositivo, consentendo di rilevare in tempo reale violazioni della sicurezza, accessi non autorizzati o attività anomale senza dipendere da un accesso costante al cloud.

Fig. 4. Ultralytics YOLO11 può essere usato per monitorare luoghi pubblici come le stazioni della metropolitana.
Migliorare la sicurezza nei cantieri con Ultralytics YOLO11#
I cantieri sono ambienti frenetici e imprevedibili, pieni di macchinari pesanti, lavoratori in movimento e attività costante. Le condizioni possono cambiare rapidamente a causa di modifiche ai turni, spostamenti di attrezzature o persino improvvisi cambiamenti meteorologici. In un contesto così dinamico, garantire la sicurezza dei lavoratori può sembrare una sfida continua.
Il monitoraggio in tempo reale svolge un ruolo cruciale, ma i sistemi tradizionali si affidano spesso all'accesso al cloud o a hardware costoso, che potrebbe non essere pratico in cantiere. È qui che modelli come Ultralytics YOLO11 possono fare la differenza. YOLO11 può essere ottimizzato per funzionare su dispositivi edge piccoli ed efficienti, operativi direttamente in cantiere senza bisogno di una connessione Internet.
Ad esempio, considera un grande cantiere, come quello per l'ampliamento di un'autostrada, che si estende per diversi ettari. In un contesto del genere, tracciare manualmente ogni veicolo o attrezzatura può essere difficile e richiedere molto tempo. Un drone dotato di telecamera e di un modello Ultralytics YOLO11 ottimizzato può aiutare a rilevare e seguire automaticamente i veicoli, monitorare il flusso del traffico e individuare problemi di sicurezza, come accessi non autorizzati o comportamenti di guida pericolosi.

Fig. 5. Analisi di immagini riprese da un drone in un cantiere. (Fonte)
Vantaggi e svantaggi del pruning e della quantizzazione nella computer vision#
Ecco alcuni dei principali vantaggi offerti dai metodi di ottimizzazione dei modelli di computer vision, come il pruning e la quantizzazione:
- Distribuzione conveniente: modelli più piccoli ed efficienti possono ridurre la necessità di hardware costoso e di fascia alta, rendendo l'IA più accessibile e scalabile in diversi casi d'uso.
- Latenza inferiore: semplificando l'architettura del modello e riducendo il sovraccarico computazionale, queste tecniche possono aiutare a ottenere tempi di risposta più rapidi nelle applicazioni in tempo reale.
- Efficienza energetica: la riduzione del carico computazionale diminuisce anche il consumo energetico, un vantaggio particolarmente utile per i sistemi mobili o alimentati a batteria.
Sebbene il pruning e la quantizzazione offrano molti vantaggi, comportano anche alcuni compromessi che gli sviluppatori dovrebbero valutare quando ottimizzano i modelli. Ecco alcuni limiti da tenere presenti:
- Compromessi sulla precisione: se il pruning è troppo aggressivo o si usa una quantizzazione con pochissimi bit, la precisione del modello, misurata con metriche come mAP, può diminuire.
- Vincoli hardware: non tutti i dispositivi supportano allo stesso modo i formati a precisione ridotta, come INT8. Questo può limitare dove e come è possibile distribuire un modello ottimizzato.
- Complessità di implementazione: per ottenere buoni risultati spesso è necessario procedere a un'attenta ottimizzazione specifica per il modello. Potrebbe essere necessario riaddestrare il modello ed eseguire test approfonditi per mantenere le prestazioni e migliorare l'efficienza.
Punti chiave#
Il pruning e la quantizzazione sono tecniche utili che aiutano i modelli YOLO a funzionare meglio sui dispositivi edge. Riducono le dimensioni del modello e il fabbisogno di calcolo e accelerano le previsioni, di solito con una perdita di precisione minima.
Questi metodi di ottimizzazione offrono inoltre agli sviluppatori la flessibilità necessaria per adattare i modelli a diversi tipi di hardware senza doverli ricostruire completamente. Con un po' di ottimizzazione e di test, applicare la Vision AI in situazioni reali diventa più semplice.
Unisciti alla nostra community in crescita! Esplora il nostro repository GitHub per saperne di più sull'IA. Vuoi iniziare i tuoi progetti di computer vision? Scopri le nostre opzioni di licenza. Scopri l'IA in agricoltura e la Vision AI in ambito sanitario visitando le nostre pagine dedicate alle soluzioni!
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










