Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Addestra YOLO più velocemente con Ultralytics

Scopri come addestrare più rapidamente YOLO con Ultralytics , un ambiente end-to-end progettato per accelerare il percorso dai dati alla distribuzione.

Scala i tuoi progetti di visione artificiale con Ultralytics

Inizia

La settimana scorsa, Ultralytics la Ultralytics , un ambiente di lavoro unificato progettato per semplificare il modo in cui i team sviluppano, addestrano e implementano modelli di visione artificiale. Invece di dover destreggiarsi tra diversi strumenti, la piattaforma riunisce tutto in un unico posto. Passare dall'idea all'implementazione con i modelli di visione artificiale diventa semplicissimo. 

Questo è fondamentale perché la visione artificiale sta rapidamente diventando una componente fondamentale in diversi settori. È alla base di applicazioni quali il controllo qualità nella produzione, l'analisi dei dati nel settore della vendita al dettaglio e la navigazione autonoma.

La capacità di trasformare queste applicazioni basate sulla visione artificiale in sistemi affidabili dipende dalla qualità dell'addestramento dei modelli. L'addestramento dei modelli consiste nell'apprendimento a partire da dati etichettati, in modo che il modello sia in grado di riconoscere schemi ricorrenti e formulare previsioni accurate. In generale, modelli ben addestrati garantiscono prestazioni migliori e risultati più affidabili nelle applicazioni pratiche.

Tuttavia, l'addestramento di un modello di visione artificiale non è sempre semplice. Comprende diversi aspetti, quali la configurazione degli ambienti, la selezione delle risorse di calcolo adeguate, la regolazione degli iperparametri e il monitoraggio di più esperimenti di addestramento. Quando queste fasi sono distribuite su diversi strumenti e sistemi, il flusso di lavoro di addestramento diventa rapidamente complesso e difficile da gestire.

Ultralytics risolve questo problema riunendo l'intero processo di addestramento in un'unica dashboard unificata. È possibile configurare, eseguire e monitorare i processi di addestramento da un unico punto, sia che si lavori nel cloud, in locale o su Google . 

Fig. 1. Una panoramica dell'addestramento dei modelli all'interno Ultralytics (Fonte)

In questo articolo vedremo come Ultralytics semplifica l'addestramento dei modelli e perché può offrirti un vantaggio competitivo nei tuoi progetti di IA visiva. Cominciamo!

I modelli di visione artificiale apprendono dai dati attraverso l'addestramento dei modelli

Prima di approfondire il funzionamento dell'addestramento dei modelli sulla Ultralytics , facciamo un passo indietro e vediamo cos'è l'addestramento dei modelli e in cosa consiste.

L'addestramento di un modello è il processo attraverso il quale un modello di visione artificiale impara a interpretare i dati visivi. Esso analizza immagini o video e regola gradualmente i propri parametri interni per eseguire con precisione compiti di visione quali il rilevamento di oggetti, la classificazione delle immagini e la segmentazione delle istanze. Nel corso del tempo, il modello migliora apprendendo schemi direttamente dai dati che osserva.

La qualità dell'addestramento dipende in larga misura dai set di dati. Si può pensare a un set di dati come a una serie di schede didattiche che un insegnante userebbe per istruire uno studente, dove ogni esempio aiuta il modello a capire cosa cercare.

Un tipico set di dati per la visione artificiale comprende immagini, solitamente in formati come JPG o PNG, e annotazioni che descrivono ciò che è raffigurato in ciascuna immagine. Queste annotazioni, spesso memorizzate in file JSON o TXT, forniscono le etichette e il contesto necessari al modello per apprendere in modo efficace.

Ma l'addestramento non consiste semplicemente nell'inserire dati in un modello. Comprende diverse fasi fondamentali, dalla preparazione del set di dati alla scelta del modello più adatto, fino alla configurazione del processo di addestramento. Vediamo ora più da vicino alcune di queste fasi.

Uno sguardo alla preparazione dei set di dati

Si potrebbe pensare che, una volta ottenuto un set di dati, sia possibile iniziare subito ad addestrare un modello, ma prima è necessario seguire alcuni passaggi, come ad esempio la suddivisione del set di dati.

In genere, un set di dati viene suddiviso in tre parti: set di addestramento, set di validazione e set di verifica. Le immagini del set di addestramento servono a insegnare al modello i modelli presenti nei dati, mentre il set di validazione aiuta a monitorare e ottimizzare le prestazioni durante l'addestramento. 

Il set di test viene utilizzato alla fine per valutare le prestazioni del modello su dati completamente nuovi e mai visti prima. Questa procedura contribuisce a garantire che il modello non si limiti a memorizzare i dati, ma sia in grado di generalizzare i risultati a scenari reali.

Scegliere il modello giusto per l'addestramento

Un altro passo importante prima dell'addestramento consiste nello scegliere il modello che si desidera utilizzare. In molti casi, ciò significa selezionare un modello pre-addestrato. Modelli comeYOLO Ultralytics sono già stati addestrati su grandi set di dati e hanno appreso schemi visivi generali, il che li rende un ottimo punto di partenza.

L'utilizzo di questi modelli è un esempio di apprendimento traslativo, in cui si parte dalle conoscenze esistenti per adattare il modello al compito specifico. Questo approccio contribuisce ad accelerare l'addestramento e a migliorare i risultati, soprattutto quando si lavora con una quantità limitata di dati.

Questi modelli sono disponibili anche in diverse dimensioni, ognuna delle quali rappresenta un compromesso tra velocità e precisione. I modelli più piccoli sono più veloci ed efficienti, mentre quelli più grandi tendono a garantire una maggiore precisione, ma richiedono una maggiore potenza di calcolo.

Configurazione dei parametri di addestramento per i modelli di visione

Una volta preparato il set di dati e selezionato un modello, il passo successivo consiste nel configurare le modalità di apprendimento del modello.

Un modello di visione artificiale viene addestrato utilizzando una serie di parametri che determinano il modo in cui elabora i dati, aggiorna i propri pesi e migliora nel tempo. Queste impostazioni influiscono direttamente sia sulla velocità di addestramento che sulla precisione finale, rendendole fondamentali per ottenere risultati eccellenti.

Ecco alcuni dei parametri di allenamento più comunemente utilizzati:

  • Epochi: indicano quante volte il modello analizza l'intero set di dati durante l'addestramento. Aumentando il numero di epoche, il modello ha più opportunità di apprendere modelli dai dati.
  • Dimensione del batch: si tratta del numero di immagini elaborate contemporaneamente in una singola fase di addestramento. Batch più grandi possono accelerare l'addestramento, ma richiedono una maggiore quantità di memoria.
  • Dimensione dell'immagine: specifica la risoluzione delle immagini di input utilizzate durante l'addestramento. Risoluzioni più elevate possono migliorare la precisione del rilevamento, ma aumentano il carico di calcolo.
  • Velocità di apprendimento: si tratta della velocità con cui il modello aggiorna i propri parametri interni durante l'addestramento. Valori troppo alti o troppo bassi possono rendere instabile l'addestramento.
  • Ottimizzatore: è l'algoritmo incaricato di aggiornare i parametri del modello in base all'errore calcolato durante ogni iterazione di addestramento.

Nei flussi di lavoroYOLO Ultralytics , queste configurazioni vengono solitamente definite in un file YAML. Questo file specifica i percorsi dei set di dati, i nomi delle classi e le modalità di suddivisione dei dati. Funge da configurazione centrale che indica al modello come interpretare il set di dati.

Da flussi di lavoro frammentati a un'esperienza unificata con Ultralytics

Abbiamo appena illustrato alcune delle fasi fondamentali dell'addestramento di un modello di visione artificiale, dalla preparazione dei set di dati alla scelta del modello e alla configurazione dei parametri di addestramento. Nella pratica, il processo spesso va oltre e comprende esperimenti di monitoraggio, il confronto tra diverse sessioni di addestramento e il continuo perfezionamento dei modelli nel tempo.

Queste fasi vengono raramente gestite in un unico posto. I set di dati possono essere preparati con uno strumento, le sessioni di addestramento eseguite in un altro ambiente e il monitoraggio degli esperimenti gestito separatamente. Man mano che i progetti crescono, questa frammentazione aumenta la complessità, rallenta il processo iterativo e rende più difficile mantenere tutto in ordine.

Ultralytics elimina questa complessità riunendo l'intero flusso di lavoro di addestramento in un unico ambiente. Invece di passare da uno strumento all'altro, è possibile gestire i set di dati, configurare l'addestramento, eseguire esperimenti e monitorare i risultati, il tutto da un'unica piattaforma.

Vediamo ora in che modo Ultralytics rende più efficiente l'addestramento dei modelli. 

Opzioni di allenamento supportate dalla Ultralytics

Nelle applicazioni pratiche, l'addestramento di un modello di visione artificiale richiede spesso ambienti flessibili. A seconda delle dimensioni del set di dati, della complessità del modello e dell'hardware disponibile, è possibile scegliere di eseguire l'addestramento nel cloud, su una macchina locale o tramite ambienti notebook esterni.

Ultralytics offre le seguenti opzioni di formazione per soddisfare tali esigenze:

  • Formazione su cloud: la formazione viene eseguita su unità di elaborazione grafica (GPU) Ultralytics. Questa opzione è ideale per set di dati di grandi dimensioni o modelli più complessi che richiedono notevoli risorse di calcolo.
  • Addestramento locale: questa opzione utilizza l'hardware disponibile sul tuo computer ed è ideale per esperimenti rapidi, test di configurazioni o per lavorare con set di dati di piccole dimensioni. Per carichi di lavoro più scalabili, l'addestramento può essere eseguito anche nel tuo ambiente cloud, come AWS o GCP.
  • Google : grazie Ultralytics , è possibile eseguire l'addestramento nell'ambiente di notebook ospitato Google , garantendo un flusso di lavoro flessibile e basato su browser senza dover configurare un computer locale.

Scopri i corsi di formazione sul cloud sulla Ultralytics

Quando si tratta di progetti di visione artificiale, addestrare i modelli in locale o tramite ambienti notebook non è sempre facile.

Ad esempio, nel caso dell'addestramento locale, le prestazioni dipendono interamente dall'hardware a disposizione, il che può limitare la potenza di calcolo e rallentare la sperimentazione. Le GPU sono fondamentali per un addestramento efficiente, ma non tutte le configurazioni dispongono di un accesso affidabile a tali risorse. 

Sebbene ambienti di notebook come Google offrano un'alternativa grazie alle GPU basate su cloud, le sessioni sono spesso temporanee e possono interrompere i processi di addestramento più lunghi. Con l'aumentare dei set di dati e la crescente complessità dei flussi di lavoro, queste limitazioni possono rapidamente trasformarsi in colli di bottiglia, rendendo l'addestramento più lento e meno affidabile.

Ultralytics risponde a questa esigenza con la sua opzione di addestramento su cloud. Offre un ambiente pronto all'uso in cui Python e i framework come PyTorch già preconfigurati, consentendo di avviare l'addestramento senza ulteriori configurazioni.

Da un'unica dashboard è possibile avviare processi di addestramento e monitorarne lo stato di avanzamento in tempo reale. Ciò consente di concentrarsi più facilmente sul miglioramento dei modelli, anziché sulla gestione dell'infrastruttura.

Vediamo ora come iniziare la formazione sul cloud sulla Ultralytics .

Passaggio 1: Scegli un modello base

Il primo passo consiste nello scegliere un modello di base per l'addestramento. È possibile selezionare un YOLO preaddestrato Ultralytics , clonare un modello della community oppure caricare i propri pesi preaddestrati per soddisfare esigenze personalizzate.

La piattaforma supporta tuttiYOLO Ultralytics , compreso Ultralytics , Ultralytics YOLO11, Ultralytics YOLOv8e Ultralytics YOLOv5, ciascuno disponibile in diverse varianti di dimensioni quali nano (n), small (s), medium (m), large (l) ed extra-large (x). Grazie alle diverse varianti di modello che offrono un compromesso tra velocità e precisione, è possibile scegliere un modello che soddisfi i propri requisiti in termini di prestazioni e potenza di calcolo.

Questi modelli supportano una serie di attività di visione artificiale con cuiYOLO Ultralytics YOLO hanno già familiarità, tra cui il rilevamento di oggetti, la segmentazione di istanze, la classificazione delle immagini, il rilevamento di bounding box orientati (OBB) e la stima della posa.

Se hai esigenze specifiche, puoi anche caricare i pesi del tuo modello preaddestrato. Ciò significa che puoi continuare ad addestrare o mettere a punto un modello esistente, come un rilevatore di oggetti, all'interno della piattaforma, invece di partire da zero. È particolarmente utile se hai già addestrato un modello altrove o se desideri adattare un modello a un caso d'uso più specifico.

Passaggio 2: Seleziona un set di dati

Il passo successivo consiste nello selezionare un set di dati per l'addestramento. Sulla Ultralytics è possibile utilizzare set di dati preesistenti, come il COCO , clonare set di dati dalla community oppure caricare un proprio set di dati personalizzato, adattato alla propria applicazione specifica.

La piattaforma supporta formati di annotazione comuni come Ultralytics YOLO COCO, ed è anche in grado di gestire il caricamento di immagini non elaborate, qualora si intenda annotare dati personalizzati direttamente sulla piattaforma.

Una volta caricati, i set di dati vengono elaborati automaticamente: ciò comprende la convalida, la normalizzazione, l'analisi delle etichette e la generazione di statistiche. Questo ti offre una visione immediata dei tuoi dati, comprese le distribuzioni delle classi e la struttura del set di dati, e ti aiuta a garantire che tutto sia pronto per l'addestramento.

I set di dati vengono inoltre collegati automaticamente alle sessioni di addestramento, consentendo di track dati sono stati utilizzati per ciascun modello e di garantire la coerenza tra i vari esperimenti.

Passaggio 3: Configurare i parametri di addestramento

Dopo aver selezionato il set di dati, è possibile configurare i parametri di addestramento che determinano le modalità di apprendimento del modello. Tra questi figurano il numero di epoche, la dimensione dei batch, le dimensioni delle immagini e il nome dell'esecuzione per il log di addestramento. Molti di questi parametri influenzano sia la durata dell'addestramento che le prestazioni finali del modello.

Per un addestramento più mirato, la piattaforma consente inoltre di regolare parametri avanzati quali la velocità di apprendimento, il tipo di ottimizzatore, le impostazioni di color augmentation e altre opzioni di addestramento. Queste impostazioni permettono di ottimizzare il processo di addestramento al fine di migliorare l'accuratezza e la stabilità del modello.

Passaggio 4: Seleziona una GPU

Successivamente, puoi selezionare la GPU per la tua sessione di addestramento. La scelta della GPU più adatta GPU da fattori quali le dimensioni del set di dati, la dimensione dei batch, la risoluzione delle immagini e la complessità del modello. Trovare il giusto equilibrio aiuta a mantenere l'efficienza dell'addestramento senza utilizzare più risorse di calcolo del necessario.

Ultralytics offre 22 GPU con diversi livelli di VRAM (memoria della GPU) e potenza di calcolo, in grado di gestire qualsiasi tipo di attività, dai compiti più semplici ai carichi di lavoro su larga scala.

In questo modo, potrai scegliere l'hardware più adatto alle tue esigenze specifiche, sia che tu stia addestrando modelli leggeri sia che tu stia lavorando con set di dati grandi e complessi. Per saperne di più, consulta l'elenco delle GPU disponibili nella paginadella documentazione sull'addestramento della piattaforma Ultralytics .

Fig. 2. Alcune delle GPU abilitate tramite Ultralytics (Fonte)

Passaggio 5: Inizia la formazione sul cloud

Una volta selezionati il modello, il set di dati, i parametri di addestramento e l'opzione di elaborazione, avviare una sessione di addestramento è un'operazione rapida. Dalla dashboard è possibile avviare l'addestramento con un solo clic e la piattaforma si occuperà del resto, inizializzando l'ambiente ed eseguendo il processo sulla GPU selezionata.

Una volta avviata la formazione, è possibile monitorarne i progressi direttamente dalla piattaforma. La scheda "Formazione" offre una panoramica in tempo reale delle metriche chiave, tra cui i dati sulle prestazioni, le curve di perdita, l'utilizzo del sistema e i registri di formazione in tempo reale.

Per saperne di più sull'addestramento a livello locale o sull'utilizzo Google con Ultralytics , puoi consultare gli altri tutorial disponibili nelladocumentazione ufficialedella piattaforma Ultralytics .

Valutazione e confronto dei modelli sulla Ultralytics

Una volta completato l'addestramento, il passo successivo consiste nel valutare le prestazioni del modello. Sulla Ultralytics è possibile confrontare più sessioni di addestramento all'interno di un progetto, ottenendo così un quadro chiaro delle prestazioni dei diversi esperimenti.

Durante lo sviluppo dei modelli, l'addestramento viene spesso ripetuto più volte con impostazioni diverse, come la modifica del tasso di apprendimento, della dimensione del batch o delle dimensioni del modello, al fine di migliorare i risultati. Ciascuna di queste esecuzioni produce un modello leggermente diverso, motivo per cui è fondamentale metterli a confronto.

I progetti fungono da piattaforma centrale in cui modelli ed esperimenti vengono organizzati insieme. È possibile track , esaminare i risultati e rimanere concentrati senza dover passare da uno strumento all'altro o da una schermata all'altra.

Da questa vista unificata è possibile analizzare anche i principali indicatori di prestazione, quali precisione, richiamo e mAP precisione media), per comprendere le prestazioni del modello nelle diverse classi. È inoltre possibile confrontare i cicli di addestramento affiancandoli tra loro, al fine di individuare le configurazioni che garantiscono i risultati migliori. 

A integrazione di questi parametri, è possibile utilizzare la scheda "Predict" per testare rapidamente i modelli addestrati su immagini o dati di esempio, il che consente di verificare visivamente le prestazioni e individuare eventuali problemi.

Grazie a queste informazioni, potrai selezionare il modello con le migliori prestazioni, solitamente salvato come checkpoint “best.pt”, e passare alla fase successiva, che si tratti di un’ulteriore valutazione, dell’utilizzo del modello per eseguire inferenze o della distribuzione del modello tramite la piattaforma.

Fig. 3. Un esempio di visualizzazione delle metriche sulla Ultralytics (Fonte)

Stima dei costi di formazione all'interno della Ultralytics

L'addestramento dei modelli di rilevamento di oggetti nel cloud comporta dei costi di elaborazione, soprattutto quando si utilizzano GPU ad alte prestazioni. Per rendere il tutto più conveniente, Ultralytics fornisce una stima dei costi prima dell'inizio dell'addestramento.

Ti offre una chiara panoramica dell'utilizzo previsto, aiutandoti a pianificare i carichi di lavoro, gestire i budget ed evitare spese impreviste prima di avviare un processo di addestramento. Ecco come puoi verificare i costi stimati prima di iniziare l'addestramento.

Come viene stimato il tempo di formazione

Per stimare il costo con precisione, la piattaforma calcola innanzitutto la durata di una singola epoch di addestramento. Ciò dipende da fattori quali le dimensioni del set di dati, le dimensioni del modello, la risoluzione delle immagini, la dimensione del batch e la velocità della GPU selezionata.

Sulla base di questi dati, il sistema determina la durata stimata per ogni epoca e la estende all'intero ciclo di addestramento. La durata totale viene calcolata sommando il tempo di tutte le epoche e aggiungendo un breve intervallo iniziale.

Il tempo di overhead comprende operazioni quali l'inizializzazione dell'ambiente, il caricamento dei set di dati e la preparazione della GPU, garantendo che la stima rifletta l'intero processo di addestramento, non solo il ciclo di addestramento.

Come viene calcolato il costo della formazione

Una volta stimata la durata totale dell'addestramento, la piattaforma la converte in costo utilizzando la tariffa oraria GPU selezionata.

Combinando la durata dell'addestramento con GPU , possiamo ottenere una stima precisa di quanto costerà l'esecuzione prima ancora che abbia inizio.

Avere una visione chiara fin dall'inizio semplifica la regolazione della configurazione, ad esempio la messa a punto dei parametri di addestramento o la scelta di una GPU diversa, consentendo di bilanciare in modo più efficace prestazioni e costi.

Fig. 4. Configurazione dell'addestramento del modello e stima dei costi all'interno Ultralytics (Fonte)

Principali vantaggi dell'utilizzo della Ultralytics per l'addestramento dei modelli

Finora abbiamo illustrato le fasi principali dell'addestramento dei modelli di visione artificiale e come queste si integrano nella Ultralytics . 

Oltre a queste funzionalità di base, sono disponibili ulteriori funzionalità che ottimizzano il flusso di lavoro di addestramento. Ecco una panoramica di alcuni dei principali vantaggi derivanti dall'utilizzo Ultralytics per l'addestramento dei modelli:

  • Riproducibilità degli esperimenti integrata: ogni sessione di addestramento viene automaticamente registrata con la configurazione completa, inclusi il modello, il set di dati, i parametri e l'impostazione di calcolo. Ciò semplifica il riesame degli esperimenti e garantisce una riproducibilità affidabile dei risultati.
  • Analisi dell'addestramento nel tempo: invece di limitarti a visualizzare i risultati finali, puoi track delle prestazioni nel corso delle epoche, il che ti aiuta a comprendere meglio il comportamento del modello durante l'addestramento.
  • Riduzione dei costi operativi: gestendo in background la configurazione dell'ambiente, la gestione delle dipendenze e l'infrastruttura, la piattaforma consente di concentrarsi maggiormente sullo sviluppo dei modelli e meno sulla configurazione.
  • Organizzazione centralizzata degli esperimenti: i progetti fungono da unico punto di riferimento per la gestione di modelli, set di dati e sessioni di addestramento, contribuendo a mantenere gli esperimenti ben strutturati man mano che i flussi di lavoro diventano più complessi.

Punti chiave

L'addestramento è una delle fasi più importanti nel ciclo di vita di un modello di apprendimento automatico. Determina il grado di precisione con cui un modello è in grado di riconoscere e interpretare i dati visivi. 

Combinando in un unico ambiente la configurazione dei dati di addestramento, il monitoraggio, il confronto tra esperimenti e la stima dei costi, la Ultralytics semplifica il processo di creazione di modelli di visione artificiale ad alte prestazioni e la loro preparazione per l'implementazione.

Dai un'occhiata alla nostra comunità in continua crescita e al nostro repository GitHub per saperne di più sulla visione artificiale. Se desideri sviluppare soluzioni di visione artificiale, consulta le nostre opzioni di licenza. Esplora le pagine dedicate alle nostre soluzioni per scoprire i vantaggi della visione artificiale nel settore manifatturiero e dell'intelligenza artificiale in agricoltura.

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning