Esplorazione delle integrazioni di Ultralytics YOLOv8 per il monitoraggio degli esperimenti di ML

Abirami Vina

4 minuti di lettura

30 agosto 2024

Scoprite le varie opzioni per tracciare e monitorare gli esperimenti di addestramento del modello YOLOv8. Confrontate gli strumenti e trovate quello più adatto alle vostre esigenze.

La raccolta dei dati, la loro annotazione e l'addestramento di modelli come il modello YOLOv8 di Ultralytics sono il fulcro di qualsiasi progetto di computer vision. Spesso è necessario addestrare il modello personalizzato più volte con parametri diversi per creare il modello ottimale. L'uso di strumenti per tracciare gli esperimenti di addestramento può semplificare la gestione del progetto di computer vision. Il tracciamento degli esperimenti è il processo di registrazione dei dettagli di ogni sessione di addestramento, come i parametri utilizzati, i risultati ottenuti e le eventuali modifiche apportate durante il percorso. 

__wf_reserved_inherit
Figura 1. Un'immagine che mostra come il tracciamento degli esperimenti si inserisce in un progetto di computer vision. 

Tenere traccia di questi dettagli aiuta a riprodurre i risultati, a capire cosa funziona e cosa no e a perfezionare i modelli in modo più efficace. Per le organizzazioni, aiuta a mantenere la coerenza tra i team, favorisce la collaborazione e fornisce una chiara traccia di controllo. Per i singoli, si tratta di mantenere una documentazione chiara e organizzata del proprio lavoro che consenta di perfezionare il proprio approccio e di ottenere risultati migliori nel tempo. 

In questo articolo vi illustreremo le diverse integrazioni di formazione disponibili per la gestione e il monitoraggio dei vostri esperimenti YOLOv8. Sia che lavoriate da soli, sia che facciate parte di un team più ampio, la comprensione e l'utilizzo dei giusti strumenti di monitoraggio possono fare la differenza nel successo dei vostri progetti YOLOv8.

Tracciamento degli esperimenti di apprendimento automatico con MLflow

MLflow è una piattaforma open-source sviluppata da Databricks che semplifica la gestione dell'intero ciclo di vita dell'apprendimento automatico. MLflow Tracking è un componente essenziale di MLflow che fornisce un'API e un'interfaccia utente che aiuta i data scientist e gli ingegneri a registrare e visualizzare i loro esperimenti di apprendimento automatico. Supporta diversi linguaggi e interfacce, tra cui Python, REST, Java e R API. 

MLflow Tracking si integra perfettamente con YOLOv8 e consente di registrare metriche importanti come precisione, richiamo e perdita direttamente dai modelli. L 'impostazione di MLflow con YOLOv8 è semplice e le opzioni sono flessibili: è possibile utilizzare la configurazione predefinita del localhost, connettersi a vari archivi di dati o avviare un server di tracciamento MLflow remoto per mantenere tutto organizzato.

__wf_reserved_inherit
Figura 2. Setup comuni per l'ambiente di tracciamento MLflow. Fonte dell'immagine Tracciamento MLflow.

Ecco alcuni input per aiutarvi a decidere se MLflow è lo strumento giusto per il vostro progetto:

  • Scalabilità: MLflow è in grado di adattarsi alle vostre esigenze, sia che stiate lavorando su una singola macchina sia che stiate distribuendo su grandi cluster. Se il vostro progetto prevede una scalata dallo sviluppo alla produzione, MLflow può supportare questa crescita.
  • Complessità del progetto: MLflow è ideale per i progetti complessi che necessitano di funzionalità approfondite di tracciamento, gestione dei modelli e distribuzione. Se il vostro progetto richiede queste funzionalità su larga scala, MLflow può semplificare i vostri flussi di lavoro.
  • Configurazione e manutenzione: Pur essendo potente, MLflow comporta una curva di apprendimento e un costo di configurazione. 

Utilizzo di pesi e distorsioni (W&B) per il tracciamento di modelli di computer vision

Weights & Biases è una piattaforma MLOps per il monitoraggio, la visualizzazione e la gestione degli esperimenti di apprendimento automatico. Utilizzando W&B con YOLOv8, è possibile monitorare le prestazioni dei modelli durante l'addestramento e la messa a punto. La dashboard interattiva di W&B fornisce una visione chiara e in tempo reale di queste metriche e rende più facile individuare le tendenze, confrontare le varianti dei modelli e risolvere i problemi durante il processo di formazione.

W&B registra automaticamente le metriche di addestramento e i checkpoint del modello e può anche essere utilizzato per regolare con precisione iperparametri come il tasso di apprendimento e la dimensione del batch. La piattaforma supporta un'ampia gamma di opzioni di configurazione, dal monitoraggio delle esecuzioni sul computer locale alla gestione di progetti su larga scala con archiviazione nel cloud.

__wf_reserved_inherit
Figura 3. Un esempio dei cruscotti di monitoraggio degli esperimenti di Weights & Biases. Fonte dell'immagine: Gli esperimenti di Weights & Biases sono tracciati.

Ecco alcuni input per aiutarvi a decidere se Pesi e pregiudizi è lo strumento giusto per il vostro progetto:

  • Visualizzazione e monitoraggio migliorati: W&B offre un cruscotto intuitivo per visualizzare le metriche di formazione e le prestazioni del modello in tempo reale.
  • Modello di prezzo: Il prezzo si basa sulle ore di formazione, il che potrebbe non essere l'ideale per gli utenti con budget limitati o per i progetti che prevedono lunghi tempi di formazione.

Tracciamento degli esperimenti MLOps con ClearML

ClearML è una piattaforma MLOps open-source progettata per automatizzare, monitorare e orchestrare i flussi di lavoro di apprendimento automatico. Supporta i framework di apprendimento automatico più diffusi, come PyTorch, TensorFlow e Keras, e può integrarsi facilmente con i processi esistenti. ClearML supporta anche l'elaborazione distribuita su macchine locali o nel cloud e può monitorare l'utilizzo di CPU e GPU.

L'integrazione di YOLOv8 con ClearML fornisce strumenti per il tracciamento degli esperimenti, la gestione dei modelli e il monitoraggio delle risorse. L'intuitiva interfaccia web della piattaforma consente di visualizzare i dati, confrontare gli esperimenti e monitorare in tempo reale metriche critiche come perdita, precisione e punteggi di convalida. L'integrazione supporta anche funzioni avanzate come l'esecuzione remota, la regolazione degli iperparametri e il checkpoint del modello.

__wf_reserved_inherit
Figura 4. Un esempio di visualizzazione del tracciamento degli esperimenti di ClearML. Fonte dell'immagine: Clear ML Tracking Experiments and Visualizing Results.

Ecco alcuni input per aiutarvi a decidere se ClearML è lo strumento giusto per il vostro progetto:

  • Necessità di un monitoraggio avanzato degli esperimenti: ClearML offre un robusto tracciamento degli esperimenti che include l'integrazione automatica con Git.
  • Distribuzione flessibile: ClearML può essere utilizzato on-premises, nel cloud o su cluster Kubernetes, rendendolo adattabile a diverse configurazioni.

Esperimenti di formazione su traccia con Comet ML

Comet ML è una piattaforma di facile utilizzo che aiuta a gestire e monitorare gli esperimenti di apprendimento automatico. L 'integrazione di YOLOv8 con Comet ML consente di registrare gli esperimenti e di visualizzare i risultati nel tempo. L'integrazione facilita l'individuazione delle tendenze e il confronto tra le diverse esecuzioni. 

Comet ML può essere utilizzato nel cloud, su un cloud privato virtuale (VPC) o anche on-premise, rendendolo adattabile a diverse configurazioni ed esigenze. Questo strumento è stato progettato per il lavoro di squadra. È possibile condividere progetti, taggare i compagni di squadra e lasciare commenti, in modo che tutti possano essere sulla stessa lunghezza d'onda e riprodurre accuratamente gli esperimenti.

Ecco alcuni input per aiutarvi a decidere se Comet ML è lo strumento giusto per il vostro progetto:

  • Supporta diversi framework e linguaggi: Comet ML funziona con Python, JavaScript, Java, R e altri ancora, il che lo rende un'opzione versatile indipendentemente dagli strumenti o dai linguaggi utilizzati dal progetto.
  • Dashboard e report personalizzabili: L'interfaccia di Comet ML è altamente personalizzabile, in modo da poter creare i report e i cruscotti che hanno più senso per il vostro progetto.
  • Costo: Comet ML è una piattaforma commerciale e alcune delle sue funzioni avanzate richiedono un abbonamento a pagamento.

TensorBoard può aiutare con le visualizzazioni

TensorBoard è un potente toolkit di visualizzazione progettato specificamente per gli esperimenti con TensorFlow, ma è anche un ottimo strumento per tracciare e visualizzare le metriche in un'ampia gamma di progetti di apprendimento automatico. Conosciuto per la sua semplicità e velocità, TensorBoard consente agli utenti di tracciare facilmente le metriche chiave e di visualizzare grafici di modelli, embeddings e altri tipi di dati.

Uno dei principali vantaggi dell'utilizzo di TensorBoard con YOLOv8 è che viene fornito comodamente preinstallato, eliminando la necessità di ulteriori configurazioni. Un altro vantaggio è la capacità di TensorBoard di funzionare interamente on-premises. Questo aspetto è particolarmente importante per i progetti con requisiti rigorosi in materia di privacy dei dati o per gli ambienti in cui il caricamento su cloud non è un'opzione.

__wf_reserved_inherit
Figura 5. Monitoraggio dell'addestramento del modello YOLOv8 tramite TensorBoard.

Ecco alcuni input per aiutarvi a decidere se TensorBoard è lo strumento giusto per il vostro progetto:

  • Spiegabilità con lo strumento What-If (WIT): TensorBoard include lo strumento What-If, che offre un'interfaccia facile da usare per esplorare e comprendere i modelli ML. È utile per coloro che desiderano ottenere approfondimenti sui modelli black-box e migliorare la spiegabilità.
  • Tracciamento semplice degli esperimenti: TensorBoard è ideale per le esigenze di tracciamento di base con un confronto limitato tra gli esperimenti e manca di robuste funzioni di collaborazione tra team, controllo delle versioni e gestione della privacy.

Utilizzo di DVCLive (Data Version Control Live) per tracciare gli esperimenti di ML

L'integrazione di YOLOv8 con DVCLive offre un modo semplificato per tracciare e gestire gli esperimenti, versionando insieme i dataset, i modelli e il codice senza memorizzare file di grandi dimensioni in Git. Utilizza comandi simili a Git e memorizza le metriche tracciate in file di testo semplice per facilitare il controllo delle versioni. DVCLive registra le metriche chiave, visualizza i risultati e gestisce gli esperimenti in modo pulito senza ingombrare il repository. Supporta un'ampia gamma di fornitori di storage e può funzionare in locale o nel cloud. DVCLive è perfetto per i team che desiderano ottimizzare il monitoraggio degli esperimenti senza infrastrutture aggiuntive o dipendenze dal cloud.

Gestione dei modelli e dei flussi di lavoro Ultralytics tramite Ultralytics HUB

Ultralytics HUB è una piattaforma interna all-in-one progettata per semplificare la formazione, la distribuzione e la gestione dei modelli YOLO di Ultralytics, come YOLOv5 e YOLOv8. A differenza delle integrazioni esterne, Ultralytics HUB offre un'esperienza nativa e senza soluzione di continuità, creata appositamente per gli utenti YOLO. Semplifica l'intero processo, consentendo di caricare facilmente i set di dati, scegliere i modelli pre-addestrati e iniziare l'addestramento con pochi clic utilizzando le risorse del cloud, il tutto all'interno dell'interfaccia di facile utilizzo di HUB. UltralyticsHUB supporta anche il tracciamento degli esperimenti, semplificando il monitoraggio dei progressi dell'addestramento, il confronto dei risultati e la messa a punto dei modelli.

__wf_reserved_inherit
Figura 7. Monitoraggio dell'addestramento del modello YOLOv8 tramite Ultralytics HUB.

Punti di forza

La scelta dello strumento giusto per tracciare gli esperimenti di apprendimento automatico può fare una grande differenza. Tutti gli strumenti di cui abbiamo parlato possono essere utili per tracciare gli esperimenti di addestramento YOLOv8, ma è importante valutare i pro e i contro di ciascuno per trovare quello più adatto al proprio progetto. Lo strumento giusto vi terrà organizzati e vi aiuterà a migliorare le prestazioni del vostro modello YOLOv8! 

Le integrazioni possono semplificare l'utilizzo di YOLOv8 nei vostri progetti innovativi e accelerare i vostri progressi. Per scoprire altre interessanti integrazioni di YOLOv8, consultate la nostra documentazione.

Scoprite di più sull'IA esplorando il nostro repository GitHub e unendovi alla nostra comunità. Consultate le nostre pagine dedicate alle soluzioni per avere informazioni dettagliate sull'IA nel settore manifatturiero e sanitario. 🚀

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti