Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Impostazioni dei cookie
Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Scoprite come l'integrazione e la registrazione di MLflow possono migliorare i vostri esperimenti Ultralytics YOLO, consentendo un tracciamento superiore per le applicazioni di computer vision.
Si può 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. Compiti come il monitoraggio degli esperimenti (per tenere traccia delle impostazioni, delle configurazioni e dei dati) e la registrazione (per 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 Ultralytics YOLO e la loro 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 capacità consentono di creare applicazioni di computer vision 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 il modo in cui è possibile utilizzarla per ottimizzare i flussi di lavoro di 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 comprende 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. 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 modelli, dove è possibile 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.
I componenti di MLflow rendono il processo di apprendimento automatico più semplice ed efficiente da gestire. Grazie a questa integrazione, Ultralytics consente 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 YOLO.
L'integrazione di MLflow semplifica la formazione
Ora che abbiamo spiegato che cos'è MLflow, entriamo nei dettagli dell'integrazione di MLflow e delle sue caratteristiche.
L'integrazione MLflow è stata sviluppata per rendere il processo di formazione più efficiente e organizzato, tracciando e registrando automaticamente gli aspetti importanti degli esperimenti di computer vision. Il programma facilita tre tipi principali di registrazione: metriche, parametri e artefatti.
Ecco un'analisi più approfondita di ciascun 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 tracciate alla fine di ogni epoch (un passaggio completo attraverso il dataset).
Registrazione dei parametri: I parametri sono le impostazioni definite 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 i risultati o i file generati durante l'addestramento. Comprendono 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 di addestramento) e altri dati rilevanti.
Figura 2. Caratteristiche principali di registrazione dell'integrazione di MLflow. Immagine dell'autore.
Come funziona l'integrazione di MLflow
È possibile consultare la documentazione di Ultralytics per le istruzioni passo-passo sull'attivazione dell'integrazione MLflow. Una volta impostata, l'integrazione traccia e registra automaticamente i dettagli chiave degli esperimenti di formazione, come discusso in precedenza. Questo elimina la necessità di tracciare manualmente i dati e aiuta a concentrarsi sul perfezionamento dei modelli.
Con l'integrazione di MLflow, tutte le corse di addestramento vengono archiviate in un unico luogo, rendendo più facile il confronto dei risultati e la valutazione di diverse configurazioni. Confrontando i risultati registrati, è possibile identificare le configurazioni più performanti e utilizzare queste informazioni per migliorare i modelli. In questo modo il flusso di lavoro è più efficiente, ben documentato e riproducibile.
In particolare, ogni sessione di allenamento è organizzata in un esperimento, che funge da contenitore per più esecuzioni. All'interno di un esperimento, è possibile visualizzare tutte le esecuzioni associate, confrontare le loro prestazioni l'una con l'altra e analizzare le tendenze tra le diverse configurazioni.
Ad esempio, se si stanno testando diversi tassi di apprendimento o dimensioni di batch con Ultralytics YOLOv8, tutte le corse correlate vengono raggruppate nello stesso esperimento per facilitare il confronto e l'analisi, come mostrato di seguito.
Figura 3. È possibile visualizzare gli esperimenti utilizzando l'integrazione di MLflow.
Nel frattempo, a livello di singola esecuzione, MLflow fornisce informazioni dettagliate sulla sessione di addestramento specifica. È possibile visualizzare metriche come l'accuratezza, la perdita e la precisione in base alle 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 sono memorizzati in un formato organizzato, che rende semplice la rivisitazione o la riproduzione di qualsiasi esecuzione.
Scegliere l'integrazione MLflow: perché si distingue
Scorrendo la documentazione di Ultralytics ed esplorando le integrazioni disponibili, ci si potrebbe chiedere: 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 comprendere le qualità uniche che distinguono l'integrazione di MLflow.
Ecco perché MLflow potrebbe essere la scelta ideale per i vostri progetti YOLO:
Interfaccia facile da usare: La dashboard di MLflow semplifica la visualizzazione degli esperimenti, il confronto delle esecuzioni e l'analisi dei risultati, aiutandovi 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 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. È necessario sperimentare varie configurazioni, come la regolazione dei tassi di apprendimento, delle dimensioni dei batch e delle tecniche di preelaborazione delle immagini, per ottenere una precisione ottimale. Poiché la posta in gioco nel settore sanitario è alta e la precisione e l'affidabilità sono fondamentali, il monitoraggio manuale di ogni esperimento 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 si modifica il tasso di apprendimento o si applica 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 YOLO rende la gestione degli esperimenti di apprendimento automatico più semplice ed efficiente. Automatizzando le attività principali e mantenendo tutto organizzato, consente di concentrarsi sulla creazione e sul miglioramento dei 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ù grandi e a flussi di lavoro complessi.
Cronologia dettagliata degli esperimenti: La piattaforma mantiene una cronologia completa degli esperimenti, consentendo di rivisitare 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 ripristinate ai valori predefiniti, offrendo la flessibilità necessaria per adattarsi ai diversi requisiti del flusso di lavoro.
Punti di forza
L'integrazione con MLflow rende più semplice ed efficiente la gestione e l'ottimizzazione degli esperimenti Ultralytics YOLO. Tracciando automaticamente i dettagli chiave come parametri, metriche e artefatti, semplifica il processo ed elimina il fastidio della gestione manuale degli esperimenti.
Sia che stiate lavorando a soluzioni sanitarie come il rilevamento dei tumori, sia che stiate migliorando i sistemi di guida autonoma, sia che stiate migliorando le analisi di vendita al dettaglio, questa integrazione vi aiuta a mantenere tutto organizzato e riproducibile. Grazie alla sua interfaccia intuitiva e alla sua flessibilità, MLflow consente agli sviluppatori di concentrarsi sulla creazione di modelli migliori e sull'innovazione delle applicazioni Vision AI.