Ottimizza i modelli di apprendimento automatico con il model pruning. Ottieni un'inferenza più veloce, un uso ridotto della memoria e un'efficienza energetica per le implementazioni con risorse limitate.
Il model pruning è una tecnica di apprendimento automatico (ML) utilizzata per ottimizzare i modelli addestrati riducendone le dimensioni e la complessità. Si tratta di identificare e rimuovere i parametri meno importanti, come i pesi del modello o le connessioni all'interno di una rete neurale (NN), che contribuiscono minimamente alle prestazioni complessive del modello. L'obiettivo primario è quello di creare modelli più piccoli e veloci che richiedano meno potenza di calcolo e memoria, spesso senza un calo significativo dell'accuratezza. Questo processo è un'applicazione specifica del concetto più ampio di pruning applicato direttamente ai modelli ML, rendendoli più efficienti per la distribuzione.
La principale motivazione per la potatura dei modelli è l'efficienza. I moderni modelli di deep learning (DL), soprattutto in campi come la computer vision (CV), possono essere estremamente grandi e ad alta intensità di calcolo. Questo pone delle sfide per la distribuzione dei modelli, in particolare su dispositivi con risorse limitate come smartphone, sistemi embedded o scenari di edge computing. Il pruning dei modelli aiuta a risolvere questi problemi:
Le tecniche di potatura dei modelli variano, ma in genere si dividono in categorie basate sulla granularità degli elementi rimossi:
La potatura può avvenire dopo che il modello è stato completamente addestrato o essere integrata nel processo di addestramento. Dopo la potatura, i modelli sono in genere sottoposti a una messa a punto (ulteriore addestramento sull'architettura più piccola) per recuperare le prestazioni perse durante la rimozione dei parametri. Framework come PyTorch forniscono utility per implementare vari metodi di potatura, come mostrato nel tutorialPyTorch Pruning.
La potatura dei modelli è utile in molti ambiti dell'intelligenza artificiale:
Il model pruning è una delle tante tecniche utilizzate per l'ottimizzazione dei modelli. È distinta da, ma spesso complementare a:
Queste tecniche possono essere combinate; ad esempio, un modello può essere prima sfrondato e poi quantizzato per ottenere la massima efficienza. I modelli ottimizzati vengono spesso esportati in formati standard quali ONNXUltralytics opzioni di esportazioneUltralytics ) per un'ampia compatibilità di distribuzione. Piattaforme come Ultralytics HUB forniscono ambienti per la gestione dei modelli, dei set di dati(come COCO) e per semplificare il percorso verso la distribuzione ottimizzata.