Ultralytics YOLO27:
Torna al glossario di Ultralytics

Batch Size

Scopri come la dimensione del batch influisce sulla velocità e sulla precisione dell’addestramento nel machine learning. Approfondisci i limiti hardware e ottimizza Ultralytics YOLO26 con AutoBatch.

Nell'ambito dell'apprendimento automatico, e in particolare del deep learning, la dimensione del batch indica il numero di esempi di addestramento usati in una iterazione dell'addestramento del modello. Anziché fornire subito alla rete neurale tutti i dati di addestramento — cosa spesso impossibile dal punto di vista computazionale a causa dei limiti di memoria — il dataset viene suddiviso in sottoinsiemi più piccoli, chiamati batch. Il modello elabora un batch, calcola l'errore e aggiorna i propri pesi interni tramite la retropropagazione prima di passare al batch successivo. Questo iperparametro ha un ruolo cruciale nel determinare sia la velocità di addestramento sia la stabilità del processo di apprendimento.

Dinamiche di addestramento con i batch#

La scelta della dimensione del batch cambia radicalmente il modo in cui l'algoritmo di ottimizzazione, in genere una variante della discesa stocastica del gradiente, esplora il paesaggio della loss.

  • Batch di piccole dimensioni: usare un numero ridotto (ad esempio 8 o 16) genera aggiornamenti "rumorosi". Sebbene la stima del gradiente sia meno accurata per il dataset nel suo complesso, questo rumore può talvolta aiutare il modello a uscire dai minimi locali e potenzialmente generalizzare meglio. Tuttavia, con batch più piccoli servono più aggiornamenti per epoca, il che può rallentare l'addestramento in termini di tempo effettivo a causa dei costi di gestione.
  • Batch di grandi dimensioni: un batch più grande (ad esempio 128 o 256) fornisce una stima più accurata del gradiente e porta a una convergenza più regolare della funzione di loss. Consente un parallelismo massiccio sull'hardware moderno, accelerando notevolmente i calcoli. Tuttavia, se il batch è troppo grande, il modello potrebbe assestarsi su minimi stretti e non ottimali, causando overfitting e riducendo la capacità di generalizzare a nuovi dati.

Implicazioni per hardware e memoria#

Spesso gli esperti devono scegliere la dimensione del batch in base ai limiti dell'hardware, anziché a preferenze puramente teoriche. I modelli di deep learning, soprattutto le architetture di grandi dimensioni come i transformer o le reti convoluzionali avanzate, vengono memorizzati nella VRAM di una GPU.

Quando si usa NVIDIA CUDA per l'accelerazione, la VRAM deve contenere i parametri del modello, il batch dei dati di input e gli output intermedi delle attivazioni necessari per calcolare i gradienti. Se la dimensione del batch supera la memoria disponibile, l'addestramento si interrompe con un errore "memoria esaurita" (OOM). Per ridurre l'uso della memoria e consentire batch più grandi sullo stesso hardware, spesso si ricorre a tecniche come l'addestramento a precisione mista.

Per configurare efficacemente l'addestramento, è essenziale distinguere la dimensione del batch dagli altri termini temporali del ciclo di addestramento.

  • Dimensione del batch ed epoca: un'epoca rappresenta un passaggio completo attraverso l'intero dataset di addestramento. La dimensione del batch determina in quanti blocchi suddividere i dati all'interno di quell'epoca. Ad esempio, con 1.000 immagini e una dimensione del batch pari a 100, serviranno 10 iterazioni per completare un'epoca.
  • Dimensione del batch e iterazione: un'iterazione (o passaggio) consiste nell'elaborare un batch e aggiornare i pesi. Il numero totale di iterazioni nell'addestramento è pari al numero di batch per epoca moltiplicato per il numero totale di epoche.
  • Dimensione del batch e normalizzazione dei batch: nonostante il nome simile, la normalizzazione dei batch è un tipo specifico di livello che normalizza gli input del livello in base alla media e alla varianza del batch corrente. Questa tecnica dipende molto dalla dimensione del batch: se è troppo piccola (ad esempio 2), le stime statistiche diventano inaffidabili e le prestazioni possono peggiorare.

Applicazioni nel mondo reale#

Quando si implementano soluzioni di visione artificiale in diversi settori, è normale dover regolare la dimensione del batch.

  1. Imaging medico ad alta fedeltà: nel settore dell'IA in ambito sanitario, gli esperti lavorano spesso con dati volumetrici 3D, come risonanze magnetiche o scansioni TC. Questi file sono estremamente densi e richiedono molta memoria. Per svolgere attività come l'analisi delle immagini mediche o la complessa segmentazione delle immagini senza bloccare il sistema, gli ingegneri riducono spesso la dimensione del batch a un valore molto basso, talvolta persino a 1. In questo caso, la priorità è elaborare dettagli ad alta risoluzione, non raggiungere la massima velocità di addestramento.

  2. Controllo qualità industriale: al contrario, nell'IA applicata alla produzione, la velocità è fondamentale. I sistemi automatici che ispezionano i prodotti su un nastro trasportatore devono elaborare migliaia di immagini all'ora. Durante l'inferenza, gli ingegneri possono raggruppare i flussi in ingresso delle telecamere in batch più grandi per massimizzare l'uso dei dispositivi di IA edge e garantire un throughput elevato per il rilevamento dei difetti in tempo reale.

Configurare la dimensione del batch in Python#

Con il pacchetto Python di Ultralytics, impostare la dimensione del batch è semplice. Puoi specificare un numero intero fisso oppure usare l'impostazione dinamica batch=-1, che sfrutta la funzionalità AutoBatch per calcolare automaticamente la dimensione massima del batch che il tuo hardware può gestire in sicurezza.

L'esempio seguente mostra come addestrare un modello YOLO26, lo standard più recente in termini di velocità e accuratezza, usando un'impostazione specifica per il batch.

from ultralytics import YOLO

# Carica il modello YOLO26n (versione nano, per maggiore velocità)
model = YOLO("yolo26n.pt")

# Addestra sul dataset COCO8
# batch=16 è impostato manualmente.
# In alternativa, usa batch=-1 per la regolazione automatica in base alla memoria GPU disponibile.
results = model.train(data="coco8.yaml", epochs=5, batch=16)

Per gestire esperimenti su larga scala e visualizzare l'effetto delle diverse dimensioni del batch sulle metriche di addestramento, strumenti come la Ultralytics Platform offrono un ambiente completo per registrare e confrontare le esecuzioni. Una corretta ottimizzazione degli iperparametri della dimensione del batch è spesso l'ultimo passaggio per ottenere le migliori prestazioni possibili dal tuo modello.

Explore solutions

Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning