Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Torna al glossario Ultralytics

Batch Size

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

Nell'ambito del machine learning e in particolare del deep learning, la Batch Size (dimensione del batch) si riferisce al numero di esempi di addestramento utilizzati in una iterazione dell'addestramento del modello. Invece di alimentare l'intera training data nella rete neurale in una volta sola — il che è spesso computazionalmente impossibile a causa dei limiti di memoria — il set di dati viene suddiviso in sottoinsiemi più piccoli chiamati batch. Il modello elabora un batch, calcola l'errore e aggiorna i suoi model weights interni tramite la backpropagation prima di passare al batch successivo. Questo iperparametro gioca un ruolo fondamentale nel determinare sia la velocità di addestramento che la stabilità del processo di apprendimento.

Link to this sectionLe dinamiche dell'addestramento con i batch#

La scelta della batch size altera radicalmente il modo in cui l'algoritmo di ottimizzazione, tipicamente una variante della stochastic gradient descent, naviga nel panorama della funzione di perdita.

  • Batch Size ridotte: L'utilizzo di un numero ridotto (ad esempio 8 o 16) porta ad aggiornamenti "rumorosi". Sebbene la stima del gradiente sia meno accurata per l'intero set di dati, questo rumore può talvolta aiutare il modello a sfuggire ai minimi locali, portando potenzialmente a una migliore generalizzazione. Tuttavia, i batch più piccoli richiedono più aggiornamenti per epoca, il che può rendere l'addestramento più lento in termini di tempo effettivo a causa dell'overhead.
  • Batch Size elevate: Un batch più grande (ad esempio 128 o 256) fornisce una stima più accurata del gradiente, portando a una convergenza più fluida della loss function. Ciò consente una massiccia parallelizzazione sull'hardware moderno, accelerando significativamente il calcolo. Tuttavia, se il batch è troppo grande, il modello potrebbe stabilizzarsi in minimi netti e subottimali, portando all'overfitting e a una ridotta capacità di generalizzare su nuovi dati.

Link to this sectionImplicazioni per l'hardware e la memoria#

Chi lavora nel settore deve spesso selezionare una batch size basandosi sui limiti dell'hardware piuttosto che su una preferenza puramente teorica. I modelli di deep learning, specialmente le architetture di grandi dimensioni come i Transformer o le reti convoluzionali avanzate, vengono archiviati nella VRAM di una GPU.

Quando si utilizza NVIDIA CUDA per l'accelerazione, la VRAM deve contenere i parametri del modello, il batch dei dati di input e i risultati dell'attivazione intermedia necessari per il calcolo del gradiente. Se la batch size supera la memoria disponibile, l'addestramento si arresterà con un errore di tipo "Out of Memory" (OOM). Tecniche come l'addestramento a mixed precision vengono spesso impiegate per ridurre l'utilizzo della memoria, consentendo batch size più grandi sullo stesso hardware.

Link to this sectionDistinguere concetti correlati#

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

  • Batch Size vs. Epoch: Un'epoca rappresenta un passaggio completo attraverso l'intero set di dati di addestramento. La batch size determina in quanti blocchi vengono suddivisi i dati all'interno di quell'epoca. Ad esempio, se hai 1.000 immagini e una batch size di 100, saranno necessarie 10 iterazioni per completare un'epoca.
  • Batch Size vs. Iteration: Un'iterazione (o passo) è l'atto di elaborare un batch e aggiornare i pesi. Il numero totale di iterazioni nell'addestramento è il numero di batch per epoca moltiplicato per il numero totale di epoche.
  • Batch Size vs. Batch Normalization: Sebbene condividano il nome, la Batch Normalization è un tipo di livello specifico che normalizza gli input del livello in base alla media e alla varianza del batch corrente. Questa tecnica si basa fortemente sulla batch size; se la batch size è troppo piccola (ad esempio 2), le stime statistiche diventano inaffidabili, degradando potenzialmente le prestazioni.

Link to this sectionApplicazioni nel mondo reale#

Regolare la batch size è una necessità di routine quando si implementano soluzioni di computer vision in vari settori.

  1. Imaging medico ad alta fedeltà: Nel campo dell'AI in healthcare, i professionisti lavorano spesso con dati volumetrici 3D come scansioni MRI o CT. Questi file sono incredibilmente densi e richiedono molta memoria. Per eseguire attività come l'medical image analysis o complesse image segmentation senza far bloccare il sistema, gli ingegneri riducono spesso la batch size a un numero molto piccolo, a volte persino a un batch di 1. Qui, la priorità è elaborare dettagli ad alta risoluzione piuttosto che la velocità di addestramento pura.

  2. Controllo qualità industriale: Al contrario, nell'AI in manufacturing, la velocità è fondamentale. I sistemi automatizzati che ispezionano i prodotti su un nastro trasportatore devono elaborare migliaia di immagini all'ora. Durante l'inference, gli ingegneri potrebbero aggregare i feed video in arrivo in batch più grandi per massimizzare l'utilizzo dei dispositivi edge AI, garantendo un throughput elevato per il rilevamento dei difetti in tempo reale.

Link to this sectionConfigurare la Batch Size in Python#

Quando utilizzi il pacchetto Python di Ultralytics, impostare la batch size è semplice. Puoi specificare un numero intero fisso o utilizzare l'impostazione dinamica batch=-1, che utilizza la funzione AutoBatch per calcolare automaticamente la batch size massima che il tuo hardware può gestire in sicurezza.

The following example demonstrates how to train a YOLO26 model—the latest standard for speed and accuracy—using a specific batch setting.

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 come le diverse batch size influiscono sulle tue metriche di addestramento, strumenti come la piattaforma Ultralytics forniscono un ambiente completo per registrare e confrontare le esecuzioni. Una corretta hyperparameter tuning della batch size è spesso il passaggio finale per ottenere le migliori prestazioni dal tuo modello.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

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

Scopri di più
Real-time AI that works with your team

IA 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 in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

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

Scopri di più
Real-time AI that works with your team

AI nella Robotica

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

Scopri di più
Real-time AI that works with your team

IA 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 in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

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

Scopri di più
Real-time AI that works with your team

AI nella Robotica

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

Scopri di più
Real-time AI that works with your team

IA 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 in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

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

Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning