Controllo verde
Link copiato negli appunti

Log Ultralytics YOLO esperimenti con l'integrazione di MLflow

Scopri come l'integrazione e la registrazione di MLflow possono migliorare i tuoi esperimenti Ultralytics YOLO , consentendo un tracciamento superiore per le applicazioni di computer vision.

Puoi pensare a un progetto di computer vision come a un puzzle. In sostanza, si insegna alle macchine a comprendere i dati visivi mettendo insieme i pezzi del puzzle, come la raccolta di un set di dati, l'addestramento di un modello e la sua distribuzione. Quando tutto si incastra, si ottiene un sistema in grado di analizzare e dare un senso alle immagini e ai video.

Ma, proprio come un vero puzzle, non tutte le parti di un progetto di computer vision sono semplici. Attività come il tracciamento degli esperimenti (tenere traccia delle impostazioni, delle configurazioni e dei dati) e la registrazione (catturare i risultati e le metriche delle prestazioni) possono richiedere molto tempo e impegno. Sebbene queste fasi siano fondamentali per migliorare e perfezionare i modelli di computer vision, a volte possono sembrare un collo di bottiglia.

È qui che entrano in gioco i modelli di Ultralytics YOLO e la sua integrazione con MLflow. Modelli come Ultralytics YOLO11 supportano un'ampia gamma di attività di computer vision, tra cui il rilevamento di oggetti, la segmentazione di istanze e la classificazione di immagini. Queste funzionalità consentono di creare applicazioni di computer vision davvero interessanti. La possibilità di affidarsi a integrazioni come quella di MLflow consente agli ingegneri della visione di concentrarsi sul modello stesso, anziché farsi prendere dai dettagli. 

In particolare, l'integrazione MLflow semplifica il processo registrando varie metriche, parametri e artefatti durante il processo di formazione. In questo articolo analizzeremo il funzionamento dell'integrazione MLflow, i suoi vantaggi e come puoi utilizzarla per ottimizzare i tuoi flussi di lavoro Ultralytics YOLO .

Che cos'è MLflow?

MLflow è una piattaforma open-source (sviluppata da Databricks) progettata per semplificare e gestire l'intero ciclo di vita dell'apprendimento automatico. Comprende il processo di sviluppo, distribuzione e manutenzione dei modelli di apprendimento automatico. 

MLflow include i seguenti componenti chiave:

  • Tracciamento degli esperimenti: Questo componente si concentra sulla registrazione di dettagli importanti come le impostazioni del modello, i risultati e i file per ogni esecuzione di formazione del modello. Ti aiuta a confrontare i modelli, a vedere come le modifiche influiscono sulle prestazioni e a trovare il migliore.
  • Registro dei modelli: È come un sistema di archiviazione per i tuoi modelli, dove puoi tenere traccia delle diverse versioni e organizzarle per fasi come test, staging e produzione.
  • Confezionamento dei progetti: MLflow semplifica il raggruppamento dei progetti di apprendimento automatico, compresi il codice, le impostazioni e gli strumenti necessari, in modo che possano essere condivisi e utilizzati in modo coerente tra i vari team e ambienti.
  • Distribuzione dei modelli: MLflow fornisce strumenti per distribuire rapidamente i modelli addestrati su postazioni di lavoro o piattaforme cloud come AWS e Azure, rendendoli pronti per l'uso nel mondo reale.
Figura 1. Componenti di MLflow.

I componenti di MLflow rendono il processo di apprendimento automatico più semplice ed efficiente da gestire. Grazie a questa integrazione, Ultralytics permette di utilizzare la funzione di tracciamento degli esperimenti di MLflow per registrare parametri, metriche e artefatti durante l'addestramento dei modelli YOLO . In questo modo è semplice tenere traccia e confrontare le diverse versioni del modello di YOLO .

L'integrazione di MLflow semplifica la formazione

Ora che abbiamo spiegato cos'è MLflow, vediamo i dettagli dell'integrazione di MLflow e le funzioni che offre. 

L'integrazione MLflow è stata realizzata per rendere il processo di formazione più efficiente e organizzato, tracciando e registrando automaticamente gli aspetti più importanti dei tuoi esperimenti di computer vision. Il programma facilita tre tipi principali di registrazione: metriche, parametri e artefatti.

Ecco un approfondimento su ogni tipo di registrazione:

  • Registrazione delle metriche: Le metriche sono valori quantitativi che misurano le prestazioni del modello durante l'addestramento. Ad esempio, metriche come l'accuratezza, la precisione, il richiamo o la perdita vengono registrate alla fine di ogni epoch (un passaggio completo del set di dati). 
  • Registrazione dei parametri: I parametri sono le impostazioni che definisci prima dell'inizio dell'addestramento del modello, come la velocità di apprendimento, la dimensione del batch (il numero di campioni elaborati in una fase di addestramento) e il numero di epoche. Questi parametri influenzano in modo significativo il comportamento e le prestazioni del modello.
  • Registrazione degli artefatti: Gli artefatti sono gli output o i file generati durante la formazione. Tra questi ci sono file essenziali come i pesi del modello (i valori numerici che il modello apprende durante l'addestramento), i file di configurazione (che memorizzano le impostazioni dell'addestramento) e altri dati rilevanti. 
Figura 2. Caratteristiche principali di registrazione dell'integrazione di MLflow. Immagine dell'autore.

Come funziona l'integrazione di MLflow

Puoi consultare la documentazione di Ultralytics per ottenere istruzioni passo-passo sull'attivazione dell'integrazione MLflow. Una volta configurata, l'integrazione traccia e registra automaticamente i dettagli chiave dei tuoi esperimenti di formazione, come già detto. Questo elimina la necessità di un monitoraggio manuale e ti aiuta a concentrarti sul perfezionamento dei tuoi modelli.

Con l'integrazione di MLflow, tutti i tuoi cicli di formazione vengono archiviati in un unico luogo, rendendo più semplice il confronto dei risultati e la valutazione di diverse configurazioni. Confrontando i risultati registrati, puoi identificare le configurazioni più performanti e utilizzare queste informazioni per migliorare i tuoi modelli. In questo modo il tuo flusso di lavoro sarà più efficiente, ben documentato e riproducibile.

In particolare, ogni sessione di allenamento è organizzata in un esperimento, che funge da contenitore per più sessioni. All'interno di un esperimento, puoi visualizzare tutte le esecuzioni associate, confrontare le loro prestazioni fianco a fianco e analizzare le tendenze tra le diverse configurazioni. 

Ad esempio, se stai testando vari tassi di apprendimento o dimensioni di batch con Ultralytics YOLOv8 , tutte le esecuzioni correlate vengono raggruppate nello stesso esperimento per facilitare il confronto e l'analisi, come mostrato di seguito.

Figura 3. Puoi visualizzare gli esperimenti utilizzando l'integrazione di MLflow.

Nel frattempo, a livello di singola sessione, MLflow fornisce informazioni dettagliate sulla sessione di allenamento specifica. È possibile visualizzare metriche come l'accuratezza, la perdita e la precisione nel corso delle epoche, controllare i parametri di addestramento utilizzati (ad esempio, la dimensione del batch e il tasso di apprendimento) e accedere agli artefatti generati come i pesi del modello e i file di configurazione. Questi dettagli vengono archiviati in un formato organizzato, rendendo semplice la rivisitazione o la riproduzione di qualsiasi esecuzione.

Scegliere l'integrazione MLflow: perché si distingue

Mentre sfogli la documentazione di Ultralytics ed esplori le integrazioni disponibili, potresti trovarti a chiederti: "Cosa distingue l'integrazione MLflow e perché dovrei sceglierla per il mio flusso di lavoro? Cosa distingue l'integrazione MLflow e perché dovrei sceglierla per il mio flusso di lavoro?

Con integrazioni come TensorBoard che forniscono anche strumenti per il monitoraggio delle metriche e la visualizzazione dei risultati, è importante capire quali sono le qualità uniche che distinguono l'integrazione di MLflow. 

Ecco perché MLflow potrebbe essere la scelta ideale per i tuoi progettiYOLO :

  • Interfaccia facile da usare: La dashboard di MLflow semplifica la visualizzazione degli esperimenti, il confronto delle esecuzioni e l'analisi dei risultati, aiutandoti a identificare rapidamente le configurazioni più performanti.
  • Registrazione di metriche personalizzate: I tecnici di visione possono registrare metriche personalizzate oltre a quelle standard, consentendo un'analisi più approfondita e specifica per le esigenze del progetto.
  • Supporto per flussi di lavoro multilingue: MLflow è compatibile con diversi linguaggi di programmazione, tra cui Python, R e Java, facilitando l'integrazione in diverse pipeline di apprendimento automatico.

Applicazioni pratiche di YOLO11 e dell'integrazione di MLflow

Per capire meglio quando è possibile utilizzare l'integrazione di MLflow, consideriamo un'applicazione di IA nel settore sanitario in cui è necessario addestrare YOLO11 a rilevare i tumori nelle immagini di radiografie o TAC. 

In questo scenario, il set di dati consisterebbe in immagini mediche annotate. Dovresti sperimentare varie configurazioni, come la regolazione dei tassi di apprendimento, delle dimensioni dei batch e delle tecniche di pre-elaborazione delle immagini, per ottenere una precisione ottimale. Poiché nel settore sanitario la posta in gioco è alta e la precisione e l'affidabilità sono fondamentali, seguire ogni esperimento manualmente può diventare rapidamente ingestibile.

Figura 4. Rilevamento dei tumori con Ultralytics YOLO11 .

L'integrazione di MLflow affronta questa sfida registrando automaticamente i parametri, le metriche e gli artefatti di ogni esperimento. Ad esempio, se modifichi il tasso di apprendimento o applichi una nuova strategia di incremento, MLflow registra queste modifiche insieme alle metriche delle prestazioni. Inoltre, MLflow salva i pesi e le configurazioni dei modelli addestrati, assicurando che i modelli di successo possano essere facilmente riprodotti e distribuiti. 

Questo è solo un esempio di come l'integrazione di MLflow migliori la gestione degli esperimenti nelle applicazioni di Vision AI. Le stesse caratteristiche si applicano ad altre applicazioni di computer vision, tra cui:

  • Guida autonoma: YOLO11 può essere utilizzato per rilevare e classificare pedoni, veicoli e segnali stradali in tempo reale per migliorare la sicurezza e l'efficienza dei sistemi di guida autonoma.
  • Analisi del commercio al dettaglio: I modelli di rilevamento degli oggetti possono monitorare il comportamento dei clienti, tracciare il posizionamento dei prodotti e ottimizzare l'inventario analizzando l'attività in negozio attraverso i feed video.
  • Sicurezza e sorveglianza: I modelli possono essere addestrati a rilevare anomalie o a monitorare l'attività in tempo reale in aree sensibili per aumentare la sicurezza.

Vantaggi dell'integrazione di MLflow

L'integrazione di MLflow con i modelli diYOLO rende la gestione degli esperimenti di apprendimento automatico più semplice ed efficiente. Automatizzando le attività principali e mantenendo tutto organizzato, ti permette di concentrarti sulla creazione e sul miglioramento dei tuoi modelli. Ecco una panoramica dei principali vantaggi:

  • Scala per progetti di grandi dimensioni: La piattaforma gestisce in modo efficiente esperimenti e modelli multipli, rendendola adatta a team più numerosi e a flussi di lavoro complessi.
  • Cronologia dettagliata degli esperimenti: La piattaforma mantiene una cronologia completa degli esperimenti, permettendoti di rivedere le esecuzioni passate, analizzare le configurazioni precedenti e imparare dai risultati precedenti.
  • Opzioni di disabilitazione e ripristino: La registrazione di MLflow può essere facilmente disattivata quando non è necessaria e le impostazioni possono essere riportate ai valori predefiniti, offrendo la flessibilità necessaria per adattarsi alle diverse esigenze del flusso di lavoro.

Punti di forza

L'integrazione con MLflow rende la gestione e l'ottimizzazione degli esperimenti di Ultralytics YOLO più semplice ed efficiente. Tracciando automaticamente i dettagli chiave come parametri, metriche e artefatti, semplifica il processo ed elimina il fastidio della gestione manuale degli esperimenti. 

Sia che tu stia lavorando a soluzioni sanitarie come il rilevamento dei tumori, sia che tu stia migliorando i sistemi di guida autonoma o che tu stia migliorando l'analisi della vendita al dettaglio, questa integrazione ti aiuta a mantenere tutto organizzato e riproducibile. Grazie alla sua interfaccia intuitiva e alla sua flessibilità, MLflow permette agli sviluppatori di concentrarsi sulla creazione di modelli migliori e sull'innovazione delle applicazioni Vision AI.

Unisciti alla nostra comunità e dai un'occhiata al nostro repository GitHub per imparare l'IA. Puoi anche esplorare altre applicazioni della computer vision nel settore manifatturiero o dell'IA nelle auto a guida autonoma sulle nostre pagine dedicate alle soluzioni.

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico