Alla scoperta delle integrazioni di Ultralytics YOLOv8 per monitorare gli esperimenti di ML
Scopri le varie opzioni per monitorare gli esperimenti di addestramento del tuo modello YOLOv8. Confronta gli strumenti e trova quello più adatto alle tue esigenze.
Abirami Vina9 min di lettura
Raccogliere dati e annotarli, quindi addestrare modelli come il modello Ultralytics YOLOv8, è alla base di ogni progetto di visione artificiale. Spesso dovrai addestrare più volte il tuo modello personalizzato con parametri diversi per trovare quello che offre le prestazioni migliori. Usare strumenti per tenere traccia degli esperimenti di addestramento può semplificare la gestione del tuo progetto di visione artificiale. Il tracciamento degli esperimenti consiste nel registrare i dettagli di ogni esecuzione di addestramento, come i parametri utilizzati, i risultati ottenuti e le modifiche apportate durante il processo.

Fig. 1. Immagine che mostra come si integra il monitoraggio degli esperimenti in un progetto di visione artificiale.
Tenere traccia di questi dettagli ti aiuta a riprodurre i risultati, capire cosa funziona e cosa no e ottimizzare 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 audit. Per i singoli, consente di mantenere una documentazione del lavoro chiara e organizzata, che permette di perfezionare il proprio approccio e ottenere risultati migliori nel tempo.
In questo articolo ti illustreremo le diverse integrazioni per l'addestramento disponibili per gestire e monitorare i tuoi esperimenti YOLOv8. Che tu lavori da solo o all'interno di un team più ampio, conoscere e utilizzare gli strumenti di tracciamento giusti può fare davvero la differenza per il successo dei tuoi progetti YOLOv8.
Monitoraggio degli esperimenti di machine learning con MLflow#
MLflow è una piattaforma open source sviluppata da Databricks che semplifica la gestione dell'intero ciclo di vita del machine learning. MLflow Tracking è un componente essenziale di MLflow che mette a disposizione un'API e un'interfaccia utente per aiutare data scientist e ingegneri a registrare e visualizzare gli esperimenti di machine learning. Supporta più linguaggi e interfacce, tra cui Python, REST e le API Java e R.
MLflow Tracking si integra senza problemi con YOLOv8 e consente di registrare metriche importanti come precisione, richiamo e loss direttamente dai modelli. Configurare MLflow con YOLOv8 è semplice e sono disponibili opzioni flessibili: puoi usare la configurazione localhost predefinita, connetterti a diversi archivi dati o avviare un server remoto di MLflow Tracking per tenere tutto organizzato.

Fig. 2. Configurazioni comuni dell'ambiente di tracciamento MLflow. Fonte dell'immagine: MLflow Tracking.
Ecco alcuni elementi da considerare per decidere se MLflow è lo strumento giusto per il tuo progetto:
- Scalabilità: MLflow si adatta bene alle tue esigenze, sia che tu lavori su una singola macchina sia che distribuisca su grandi cluster. Se il tuo progetto prevede il passaggio dalla fase di sviluppo alla produzione, MLflow può supportare questa crescita.
- Complessità del progetto: MLflow è ideale per progetti complessi che richiedono un monitoraggio approfondito, la gestione dei modelli e funzionalità di distribuzione. Se il tuo progetto richiede queste funzionalità complete, MLflow può semplificare i tuoi flussi di lavoro.
- Configurazione e manutenzione: nonostante la sua potenza, MLflow richiede un certo tempo per essere imparato e un impegno iniziale per la configurazione.
Usare Weights & Biases (W&B) per monitorare i modelli di visione artificiale#
Weights & Biases è una piattaforma MLOps per tracciare, visualizzare e gestire gli esperimenti di machine learning. Usando W&B con YOLOv8, puoi monitorare le prestazioni dei tuoi modelli mentre li addestri e li perfezioni. La dashboard interattiva di W&B offre una panoramica chiara e in tempo reale di queste metriche e semplifica l'individuazione delle tendenze, il confronto tra le varianti dei modelli e la risoluzione dei problemi durante l'addestramento.
W&B registra automaticamente le metriche di addestramento e i checkpoint dei modelli e puoi usarlo anche per ottimizzare gli 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 cloud.

Fig. 3. Esempio di dashboard di monitoraggio degli esperimenti di Weights & Biases. Fonte dell'immagine: monitorare gli esperimenti con Weights & Biases.
Ecco alcuni elementi da considerare per decidere se Weights & Biases è lo strumento giusto per il tuo progetto:
- Visualizzazione e monitoraggio avanzati: W&B offre una dashboard intuitiva per visualizzare in tempo reale le metriche di addestramento e le prestazioni dei modelli.
Monitoraggio degli esperimenti MLOps con ClearML#
ClearML è una piattaforma MLOps open source progettata per automatizzare, monitorare e orchestrare i flussi di lavoro di machine learning. Supporta framework di machine learning diffusi come PyTorch, TensorFlow e Keras e si integra facilmente con i processi esistenti. ClearML supporta anche il calcolo distribuito su macchine locali o nel cloud e può monitorare l'utilizzo di CPU e GPU.
L'integrazione di YOLOv8 con ClearML offre strumenti per il tracciamento degli esperimenti, la gestione dei modelli e il monitoraggio delle risorse. L'intuitiva interfaccia web della piattaforma ti consente di visualizzare i dati, confrontare gli esperimenti e monitorare in tempo reale metriche fondamentali come la loss, l'accuratezza e i punteggi di validazione. L'integrazione supporta anche funzionalità avanzate come l'esecuzione remota, l'ottimizzazione degli iperparametri e il salvataggio dei checkpoint dei modelli.

Fig. 4. Esempio di visualizzazioni per il tracciamento degli esperimenti di ClearML. Fonte dell'immagine: ClearML Tracking Experiments and Visualizing Results.
Ecco alcuni elementi da considerare per decidere se ClearML è lo strumento giusto per il tuo progetto:
- Necessità di un monitoraggio avanzato degli esperimenti: ClearML offre un robusto sistema di monitoraggio degli esperimenti che include l'integrazione automatica con Git.
- Distribuzione flessibile: ClearML può essere usato in locale, nel cloud o su cluster Kubernetes, adattandosi così a configurazioni diverse.
Monitora gli esperimenti di addestramento con Comet ML#
Comet ML è una piattaforma intuitiva che aiuta a gestire e monitorare gli esperimenti di machine learning. L'integrazione di YOLOv8 con Comet ML ti consente di registrare gli esperimenti e visualizzare i risultati nel tempo. L'integrazione semplifica l'individuazione delle tendenze e il confronto tra diverse esecuzioni.
Comet ML può essere usato nel cloud, in un cloud privato virtuale (VPC) o anche in locale, adattandosi così a configurazioni ed esigenze diverse. Questo strumento è progettato per il lavoro di squadra. Puoi condividere progetti, taggare i colleghi e lasciare commenti, così tutti possono restare aggiornati e riprodurre accuratamente gli esperimenti.
Ecco alcuni elementi da considerare per decidere se Comet ML è lo strumento giusto per il tuo progetto:
- Supporta più framework e linguaggi: Comet ML è compatibile con Python, JavaScript, Java, R e altri linguaggi, offrendo una soluzione versatile indipendentemente dagli strumenti o dai linguaggi utilizzati nel tuo progetto.
- Dashboard e report personalizzabili: l'interfaccia di Comet ML è altamente personalizzabile, così puoi creare report e dashboard adatti alle esigenze del tuo progetto.
- Costo: Comet ML è una piattaforma commerciale e alcune delle sue funzionalità avanzate richiedono un abbonamento a pagamento.
TensorBoard è utile per le visualizzazioni#
TensorBoard è un potente toolkit di visualizzazione progettato specificamente per gli esperimenti TensorFlow, ma è anche un ottimo strumento per monitorare e visualizzare metriche in un'ampia gamma di progetti di machine learning. Noto per la sua semplicità e velocità, TensorBoard consente agli utenti di monitorare facilmente le metriche chiave e visualizzare grafi dei modelli, embedding e altri tipi di dati.
Un grande vantaggio di usare TensorBoard con YOLOv8 è che richiede una configurazione minima: installa il pacchetto tensorboard e attiva la registrazione una sola volta con yolo settings tensorboard=True. Un altro vantaggio è che TensorBoard può essere eseguito interamente in locale. Questo è particolarmente importante per i progetti con rigorosi requisiti di riservatezza dei dati o che si svolgono in ambienti in cui non è possibile caricare dati sul cloud.

Fig. 5. Monitoraggio dell'addestramento del modello YOLOv8 con TensorBoard.
Ecco alcuni elementi da considerare per decidere se TensorBoard è lo strumento giusto per il tuo progetto:
- Monitoraggio semplice degli esperimenti: TensorBoard è ideale per esigenze di monitoraggio di base, con possibilità limitate di confronto tra esperimenti, e non offre solide funzionalità di collaborazione in team, controllo delle versioni e gestione della privacy.
Usare DVCLive (Data Version Control Live) per monitorare gli esperimenti di ML#
L'integrazione di YOLOv8 con DVCLive offre un modo semplice per tracciare e gestire gli esperimenti, versionando insieme dataset, modelli e codice senza archiviare file di grandi dimensioni in Git. Utilizza comandi simili a quelli di Git e archivia le metriche tracciate in file di testo semplice, facili da gestire con il controllo delle versioni. DVCLive registra le metriche chiave, visualizza i risultati e gestisce gli esperimenti in modo ordinato, senza appesantire il repository. Supporta un'ampia gamma di provider di archiviazione e può funzionare in locale o nel cloud. DVCLive è ideale per i team che vogliono semplificare il tracciamento degli esperimenti senza ricorrere a infrastrutture aggiuntive o dipendenze dal cloud.
Gestire i modelli e i flussi di lavoro Ultralytics con Ultralytics HUB#
Ultralytics HUB (ora Ultralytics Platform) è una piattaforma interna completa, progettata per semplificare l'addestramento, la distribuzione e la gestione dei modelli Ultralytics YOLO, come YOLOv5 e YOLOv8. A differenza delle integrazioni esterne, Ultralytics HUB offre un'esperienza nativa, pensata appositamente per chi usa YOLO. Semplifica l'intero processo e ti consente di caricare facilmente i dataset, scegliere modelli preaddestrati e avviare l'addestramento con pochi clic, usando le risorse cloud, tutto dalla semplice interfaccia di HUB. Ultralytics HUB supporta anche il tracciamento degli esperimenti, semplificando il monitoraggio dell'avanzamento dell'addestramento, il confronto dei risultati e la messa a punto dei modelli.

Fig. 6. Monitoraggio dell'addestramento del modello YOLOv8 con Ultralytics HUB.
Punti chiave#
Scegliere lo strumento giusto per monitorare gli esperimenti di machine learning può fare una grande differenza. Tutti gli strumenti di cui abbiamo parlato possono aiutarti a monitorare gli esperimenti di addestramento YOLOv8, ma è importante valutare i pro e i contro di ciascuno per trovare quello più adatto al tuo progetto. Lo strumento giusto ti aiuterà a mantenere tutto organizzato e a migliorare le prestazioni del tuo modello YOLOv8!
Le integrazioni possono semplificare l'uso di YOLOv8 nei tuoi progetti e accelerare i tuoi progressi. Per scoprire altre integrazioni YOLOv8, consulta la nostra documentazione.
Scopri di più sull'IA esplorando il nostro repository GitHub e unendoti alla nostra community. Dai un'occhiata alle pagine delle nostre soluzioni per approfondimenti dettagliati sull'IA nella produzione e nella sanità.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










