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.
La quantizzazione del modello è una tecnica cruciale di ottimizzazione del modello utilizzata nel deep learning (DL) per ridurre i costi computazionali e di memoria dei modelli. Questo avviene convertendo la precisione numerica dei parametri del modello(pesi e attivazioni) da rappresentazioni a più alta precisione, tipicamente numeri in virgola mobile a 32 bit(FP32), a formati a più bassa precisione, come numeri in virgola mobile a 16 bit (FP16), numeri interi a 8 bit (INT8) o rappresentazioni a bit inferiori. Questo processo rende i modelli più piccoli, più veloci e più efficienti dal punto di vista energetico, il che è particolarmente importante per l'implementazione di modelli complessi in ambienti con risorse limitate come i dispositivi mobili o i sistemi di intelligenza artificiale edge.
Di base, la quantizzazione del modello comporta la mappatura della gamma di valori presenti nei tensori ad alta precisione (come i pesi e le attivazioni in FP32) in una gamma più piccola rappresentabile da tipi di dati a bassa precisione (come INT8). Questa conversione riduce in modo significativo la memoria necessaria per memorizzare il modello e la potenza di calcolo necessaria per l'inferenza, in quanto le operazioni sui numeri a bassa precisione (soprattutto gli interi) sono spesso più veloci ed efficienti dal punto di vista energetico sull'hardware moderno come le GPU e gli acceleratori specializzati come le TPU.
L'applicazione della quantizzazione ai modelli di deep learning offre diversi vantaggi chiave:
Esistono due approcci principali alla quantizzazione dei modelli:
La quantizzazione dei modelli è ampiamente utilizzata in diversi ambiti:
Sebbene sia molto vantaggiosa, la quantizzazione può potenzialmente avere un impatto sull'accuratezza del modello. Dopo la quantizzazione è essenziale un'attenta valutazione con l'utilizzo di metriche di performance pertinenti. Tecniche come l'utilizzo di architetture del modello favorevoli alla quantizzazione (ad esempio, la sostituzione di alcune funzioni di attivazione come quelle viste in YOLO) possono aiutare a mitigare la degradazione dell'accuratezza, come discusso nell'implementazione di modelli YOLOv8 quantizzati.
La quantizzazione del modello è una delle tante tecniche di ottimizzazione del modello. Altre includono:
Ultralytics supporta l'esportazione dei modelli in vari formati che facilitano la quantizzazione, tra cui ONNX, OpenVINO, TensorRT, CoreMLe TFLite, consentendo una distribuzione efficiente su diverse piattaforme hardware. Puoi gestire e distribuire i tuoi modelli, comprese le versioni quantizzate, utilizzando strumenti come Ultralytics HUB.