Découvrez l'impact de la taille de lot sur l'apprentissage profond. Optimisez efficacement la vitesse d'entraînement, l'utilisation de la mémoire et la performance du modèle.
La taille du lot est un hyperparamètre essentiel dans le domaine de l'apprentissage automatique. dans le domaine de l'apprentissage automatique, qui détermine le nombre d'échantillons de données d'apprentissage traités avant que le processus ne soit terminé. nombre d'échantillons de données d'apprentissage traités avant que le modèle ne mette à jour ses paramètres internes. avant que le modèle ne mette à jour ses paramètres internes. Au lieu d'analyser l'ensemble des données en une seule fois, ce qui est souvent impossible en raison des limites de la mémoire, l'apprentissage en profondeur (deep learning) permet d'améliorer la qualité des données. de mémoire, les cadres d'apprentissageprofond divisent les données en divisent les données en groupes plus petits appelés lots. Cette division régit la stabilité du processus d'apprentissage d'apprentissage, la vitesse de calcul et la quantité de mémoire requise par l'algorithme. GPU pendant l'apprentissage. Le choix de la taille de lot correcte constitue un équilibre entre l'efficacité du calcul et la qualité de la convergence du modèle. convergence du modèle.
La sélection d'une taille de lot modifie fondamentalement le mode d'apprentissage d'un réseau neuronal. d'apprentissage d'un réseau neuronal. Lorsque la taille du lot est définie à une valeur inférieure, le modèle met à jour ses poids du modèle plus fréquemment, ce qui introduit du bruit dans dans le processus de descente de gradient. Ce bruit peut être bénéfique, car il aide souvent l'algorithme d'optimisation à échapper aux minima locaux et à trouver des solutions plus robustes. minima locaux et à trouver des solutions plus robustes, ce qui contribue à ce qui permet d'éviter l'overfitting. Inversement, des lots de plus grande taille fournissent une estimation plus précise du gradient, ce qui conduit à des mises à jour plus lisses et plus stables. Cependant, elles nécessitent beaucoup plus de mémoire matérielle et peuvent parfois entraîner un "écart de généralisation", c'est-à-dire que le modèle fonctionne bien sur les données d'apprentissage mais moins bien sur les données d'évaluation. est performant sur les données d'apprentissage, mais moins efficace sur les données non vues.
Les capacités matérielles dictent souvent la limite supérieure de ce paramètre. Les accélérateurs matériels modernes, tels que ceux détaillés dans le le guide des performances de l'apprentissage profond deNVIDIA, s'appuient sur l'informatique parallèle pour traiter simultanément de grands blocs de données. de données simultanément. Par conséquent, l'utilisation d'une taille de lot alignée sur l'architecture du processeur - généralement des puissances puissance de deux, comme 32, 64 ou 128, peut maximiser le débit et réduire le temps total d'apprentissage par époques. époques.
Il est essentiel de comprendre comment régler ce paramètre pour déployer des solutions d'IA efficaces dans différents secteurs d'activité. différents secteurs d'activité.
Lors de l'utilisation du Paquet Ultralytics PythonLa configuration de la taille du lot est simple.
est simple. La taille du batch vous permet de spécifier exactement le nombre d'images que le modèle
doit voir avant de mettre à jour les poids. S'il est défini à -1la bibliothèque peut également utiliser un
Fonction AutoBatch pour déterminer automatiquement la taille
la taille maximale du lot que votre matériel peut prendre en charge.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)
Il est important pour les praticiens de distinguer la "taille du lot" de la terminologie similaire que l'on trouve dans les cadres d'apprentissage profond. dans les cadres d'apprentissage profond.