Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Esplorando le integrazioni di monitoraggio degli esperimenti ML di Ultralytics YOLOv8

Abirami Vina

4 minuti di lettura

30 agosto 2024

Scopri di più sulle varie opzioni per tracciare e monitorare i tuoi esperimenti di addestramento del modello YOLOv8. Confronta gli strumenti e trova quello più adatto alle tue esigenze.

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

__wf_reserved_inherit
Fig 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, capire cosa funziona e cosa no, e a ottimizzare i modelli in modo più efficace. Per le organizzazioni, aiuta a mantenere la coerenza tra i team, promuove 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 l'approccio e ottenere risultati migliori nel tempo. 

In questo articolo, ti guideremo attraverso le diverse integrazioni di training disponibili per la gestione e il monitoraggio dei tuoi esperimenti YOLOv8. Che tu stia lavorando da solo o come parte di un team più grande, comprendere e utilizzare gli strumenti di tracking giusti può fare la differenza nel 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 fornisce un'API e un'interfaccia utente che aiuta data scientist e ingegneri a registrare e visualizzare i propri esperimenti di machine learning. Supporta più linguaggi e interfacce, tra cui API Python, REST, Java e R. 

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

__wf_reserved_inherit
Fig. 2. Configurazioni comuni per l'ambiente di tracciamento MLflow. Fonte immagine: tracciamento MLflow.

Ecco alcuni elementi utili per decidere se MLflow è lo strumento giusto per il tuo progetto:

  • Scalabilità: MLflow si adatta bene alle tue esigenze, sia che tu stia lavorando su una singola macchina sia che tu stia implementando su grandi cluster. Se il tuo progetto prevede il passaggio dallo sviluppo alla produzione, MLflow può supportare questa crescita.
  • Complessità del progetto: MLflow è ideale per progetti complessi che necessitano di un monitoraggio approfondito, gestione dei modelli e capacità di implementazione. Se il tuo progetto richiede queste funzionalità su vasta scala, MLflow può semplificare i tuoi flussi di lavoro.
  • Configurazione e manutenzione: Sebbene potente, MLflow presenta una curva di apprendimento e un overhead di configurazione. 

Utilizzo di Weights & Biases (W&B) per il tracciamento di modelli di computer vision

Weights & Biases è una piattaforma MLOps per tracciare, visualizzare e gestire esperimenti di machine learning. Utilizzando W&B con YOLOv8, puoi monitorare le prestazioni dei tuoi modelli mentre li addestri e li metti a punto. La dashboard interattiva di W&B fornisce una visione chiara e in tempo reale di queste metriche e semplifica l'individuazione di tendenze, il confronto tra varianti di modelli e la risoluzione dei problemi durante il processo di addestramento.

W&B registra automaticamente le metriche di training e i checkpoint del modello, e puoi persino usarlo per ottimizzare gli iperparametri come il learning rate e la dimensione del batch. La piattaforma supporta una vasta gamma di opzioni di configurazione, dal tracciamento delle esecuzioni sulla tua macchina locale alla gestione di progetti su larga scala con archiviazione cloud.

__wf_reserved_inherit
Fig. 3. Un esempio di dashboard di monitoraggio degli esperimenti di Weights & Biases. Fonte dell'immagine: esperimenti di tracciamento di Weights & Biases.

Ecco alcuni elementi utili per decidere se Weights & Biases è lo strumento giusto per il tuo progetto:

  • Visualizzazione e monitoraggio migliorati: W&B fornisce una dashboard intuitiva per visualizzare le metriche di training e le prestazioni del modello in tempo reale. 
  • Modello di prezzo: Il prezzo si basa sulle ore tracciate, il che potrebbe non essere l'ideale per gli utenti con budget limitati o progetti che comportano lunghi tempi di addestramento.

Tracciamento degli esperimenti MLOps con ClearML

ClearML è una piattaforma MLOps open-source progettata per automatizzare, monitorare e orchestrare i workflow di machine learning. Supporta framework di machine learning popolari come PyTorch, TensorFlow e Keras e può integrarsi 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 fornisce strumenti per il tracciamento degli esperimenti, la gestione dei modelli e il monitoraggio delle risorse. L'interfaccia utente web intuitiva della piattaforma consente di visualizzare i dati, confrontare gli esperimenti e monitorare metriche critiche come la perdita, l'accuratezza e i punteggi di convalida in tempo reale. L'integrazione supporta anche funzionalità avanzate come l'esecuzione remota, la messa a punto degli iperparametri e il checkpointing del modello.

__wf_reserved_inherit
Fig. 4. Un esempio delle visualizzazioni di experiment tracking di ClearML. Fonte dell'immagine: Clear ML Tracking Experiments and Visualizing Results.

Ecco alcuni elementi utili per decidere se ClearML è lo strumento giusto per il tuo progetto:

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

Traccia gli esperimenti di training utilizzando 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 i tuoi esperimenti e visualizzare i risultati nel tempo. L'integrazione semplifica l'individuazione delle tendenze e il confronto tra 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 è progettato per il lavoro di squadra. Puoi condividere progetti, taggare i membri del team e lasciare commenti in modo che tutti possano rimanere sulla stessa lunghezza d'onda e riprodurre accuratamente gli esperimenti.

Ecco alcuni elementi utili per decidere se Comet ML è lo strumento giusto per il tuo progetto:

  • Supporta più framework e linguaggi: Comet ML funziona con Python, JavaScript, Java, R e altro, rendendolo un'opzione versatile indipendentemente dagli strumenti o dai linguaggi utilizzati dal tuo progetto.
  • Dashboard e report personalizzabili: L'interfaccia di Comet ML è altamente personalizzabile, quindi puoi creare i report e le dashboard più adatti al tuo progetto. 
  • Costi: Comet ML è una piattaforma commerciale e alcune delle sue funzionalità avanzate richiedono un abbonamento a pagamento.

TensorBoard può essere d'aiuto con le visualizzazioni

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

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

__wf_reserved_inherit
Fig 5. Monitoraggio del training del modello YOLOv8 tramite TensorBoard.

Ecco alcuni elementi utili per decidere se TensorBoard è lo strumento giusto per il tuo progetto:

  • Spiegabilità con il What-If Tool (WIT): TensorBoard include il What-If Tool, che offre un'interfaccia facile da usare per esplorare e comprendere i modelli di ML. È utile per coloro che cercano di ottenere informazioni sui modelli black-box e migliorare la spiegabilità.
  • Monitoraggio semplice degli esperimenti: TensorBoard è ideale per le esigenze di monitoraggio di base con un confronto limitato degli esperimenti e manca di solide funzionalità di collaborazione del team, controllo della versione e gestione della privacy.

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

L'integrazione di YOLOv8 con DVCLive fornisce un modo semplificato per tracciare e gestire gli esperimenti versionando insieme i set di dati, i modelli e il codice senza archiviare file di grandi dimensioni in Git. Utilizza comandi simili a Git e archivia le metriche tracciate in file di testo semplice per un facile controllo della versione. DVCLive registra le metriche chiave, visualizza i risultati e gestisce gli esperimenti in modo pulito senza ingombrare il repository. Supporta un'ampia gamma di provider di archiviazione e può funzionare localmente o nel cloud. DVCLive è perfetto per i team che desiderano semplificare il tracciamento 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 l'addestramento, il deployment e la gestione dei modelli Ultralytics YOLO come YOLOv5 e YOLOv8. A differenza delle integrazioni esterne, Ultralytics HUB offre un'esperienza nativa e senza interruzioni creata appositamente per gli utenti YOLO. Semplifica l'intero processo, consentendoti di caricare facilmente set di dati, scegliere modelli pre-addestrati e iniziare l'addestramento con pochi clic utilizzando le risorse cloud, tutto all'interno dell'interfaccia facile da usare 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
Fig 7. Monitoraggio dell'addestramento del modello YOLOv8 tramite Ultralytics HUB.

Punti chiave

Scegliere lo strumento giusto per tracciare i tuoi esperimenti di machine learning può fare una grande differenza. Tutti gli strumenti di cui abbiamo parlato possono aiutarti a tracciare gli esperimenti di training di YOLOv8, ma è importante valutare i pro e i contro di ciascuno per trovare la soluzione migliore per il tuo progetto. Lo strumento giusto ti manterrà organizzato e ti aiuterà a migliorare le prestazioni del tuo modello YOLOv8! 

Le integrazioni possono semplificare l'utilizzo di YOLOv8 nei tuoi progetti innovativi e accelerare i tuoi progressi. Per esplorare integrazioni di YOLOv8 più interessanti, consulta la nostra documentazione.

Scopri di più sull'IA esplorando il nostro repository GitHub e unendoti alla nostra community. Consulta le nostre pagine delle soluzioni per informazioni dettagliate sull'IA nella produzione e nell'assistenza sanitaria. 🚀

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis
Link copiato negli appunti