Ultralytics YOLO27:
Torna al glossario di Ultralytics

Batch Size

Scopri come la dimensione del batch influisce sulla velocità e sull'accuratezza dell'addestramento del machine learning. Esplora i limiti hardware e ottimizza Ultralytics YOLO26 usando AutoBatch.

Nel campo del machine learning e, in particolare, del deep learning, la dimensione del batch indica il numero di esempi di addestramento utilizzati in un'iterazione dell'addestramento del modello. Anziché fornire l'intero training data alla rete neurale in una sola volta — cosa spesso computazionalmente impossibile 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 del modello tramite la retropropagazione prima di passare al batch successivo. Questo iperparametro svolge un ruolo fondamentale nel determinare sia la velocità dell'addestramento sia la stabilità del processo di apprendimento.

La dinamica dell'addestramento con i batch#

La scelta della dimensione del batch modifica radicalmente il modo in cui l'algoritmo di ottimizzazione, in genere una variante della discesa del gradiente stocastico, attraversa il paesaggio della funzione di perdita.

  • Dimensioni del batch ridotte: l'utilizzo di un numero ridotto (ad esempio, 8 o 16) produce aggiornamenti "rumorosi". Sebbene la stima del gradiente sia meno accurata per il dataset nel suo complesso, questo rumore può talvolta aiutare il modello a sfuggire ai minimi locali, portando potenzialmente a una migliore capacità di generalizzazione. Tuttavia, i batch più piccoli richiedono più aggiornamenti per epoca, il che può rallentare l'addestramento in termini di tempo effettivo a causa dell'overhead.
  • Dimensioni del batch elevate: un batch più grande (ad esempio, 128 o 256) fornisce una stima più accurata del gradiente, portando a una convergenza più uniforme della funzione di perdita. Consente un massiccio parallelismo sull'hardware moderno, accelerando significativamente i calcoli. Tuttavia, se il batch è troppo grande, il modello potrebbe stabilizzarsi in minimi aguzzi e subottimali, causando overfitting e una ridotta capacità di generalizzare a dati nuovi.

Implicazioni per l'hardware e la memoria#

Spesso chi si occupa di machine learning deve scegliere la dimensione del batch in base ai limiti dell'hardware, anziché a una preferenza puramente teorica. I modelli di deep learning, soprattutto le architetture di grandi dimensioni come i Transformer o le reti convoluzionali avanzate, vengono archiviati nella VRAM di una GPU.

Quando utilizzi NVIDIA CUDA per l'accelerazione, la VRAM deve contenere i parametri del modello, il batch di dati di input e gli output delle attivazioni intermedie necessari per il calcolo del gradiente. Se la dimensione del batch supera la memoria disponibile, l'addestramento si interrompe con un errore di "Memoria esaurita" (OOM). Tecniche come l'addestramento a precisione mista vengono spesso impiegate per ridurre l'utilizzo della memoria, consentendo dimensioni del batch maggiori sullo stesso hardware.

Distinzione tra concetti correlati#

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

  • Dimensione del batch vs. epoca: un'epoca rappresenta un passaggio completo attraverso l'intero dataset di addestramento. La dimensione del batch determina in quanti blocchi vengono suddivisi i dati all'interno di quell'epoca. Ad esempio, se hai 1.000 immagini e una dimensione del batch pari a 100, saranno necessarie 10 iterazioni per completare un'epoca.
  • Dimensione del batch vs. iterazione: un'iterazione (o step) consiste nell'elaborazione di un batch e nell'aggiornamento dei pesi. Il numero totale di iterazioni nell'addestramento è dato dal numero di batch per epoca moltiplicato per il numero totale di epoche.
  • Dimensione del batch vs. Batch Normalization: sebbene condividano il nome, Batch Normalization è un tipo specifico di livello che normalizza gli input del livello in base alla media e alla varianza del batch corrente. Questa tecnica dipende fortemente dalla dimensione del batch; se la dimensione del batch è troppo piccola (ad esempio, 2), le stime statistiche diventano inaffidabili, con un potenziale peggioramento delle prestazioni.

Applicazioni nel mondo reale#

Modificare la dimensione del batch è una necessità ordinaria quando si implementano soluzioni di computer vision in vari settori.

  1. Imaging medico ad alta fedeltà: nel campo dell'AI nella sanità, spesso si lavora con dati volumetrici 3D, come scansioni MRI o CT. Questi file sono estremamente densi e richiedono molta memoria. Per eseguire attività come l'analisi di immagini mediche o la complessa segmentazione delle immagini senza causare l'arresto del sistema, gli ingegneri spesso riducono la dimensione del batch a un numero molto piccolo, talvolta fino a un batch di 1. In questo caso, la priorità è elaborare dettagli ad alta risoluzione anziché massimizzare la velocità grezza di addestramento.

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

Configurazione della dimensione del batch in Python#

Quando utilizzi il pacchetto Python di Ultralytics, impostare la dimensione del batch è semplice. Puoi specificare un numero intero fisso oppure utilizzare 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 — utilizzando un'impostazione specifica del batch.

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Train on the COCO8 dataset
# batch=16 is manually set.
# Alternatively, use batch=-1 for auto-tuning based on available GPU memory.
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 il passaggio finale per ottenere le migliori prestazioni possibili dal tuo modello.

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning