Glossaire

Taille du lot

Découvrez l'impact de la taille des lots sur l'apprentissage profond. Optimisez efficacement la vitesse d'entraînement, l'utilisation de la mémoire et les performances du modèle.

La taille des lots est un hyperparamètre fondamental de l'apprentissage automatique qui définit le nombre d'échantillons de formation traités avant que les paramètres internes du modèle ne soient mis à jour. Au lieu de traiter l'ensemble des données d'apprentissage en une seule fois, ce qui peut s'avérer très coûteux sur le plan informatique, les données sont divisées en sous-ensembles plus petits ou "lots". Le choix de la taille des lots est une décision cruciale qui a un impact direct sur la dynamique d'apprentissage du modèle, la vitesse d'apprentissage et les performances finales. Il représente un compromis entre l'efficacité informatique et la précision de l'estimation du gradient utilisée pour mettre à jour les poids du modèle.

Le rôle de la taille des lots dans la formation des modèles

Au cours de la formation, un réseau neuronal (RN) apprend en ajustant ses poids en fonction de l'erreur qu'il commet. Cet ajustement est guidé par un algorithme d'optimisation tel que la descente de gradient. La taille du lot détermine le nombre d'exemples que le modèle "voit" avant de calculer le gradient et d'effectuer une mise à jour des poids.

  • Descente stochastique du gradient (SGD) : Lorsque la taille du lot est de 1, le processus est appelé descente stochastique du gradient. Le gradient est calculé pour chaque échantillon individuel, ce qui entraîne des mises à jour fréquentes mais bruyantes.
  • Descente de gradient par lots : Lorsque la taille du lot est égale au nombre total d'échantillons dans l'ensemble de données d'apprentissage, on parle de descente de gradient par lots. Cette méthode permet d'obtenir une estimation très précise du gradient, mais elle est coûteuse en termes de calcul et de mémoire.
  • Descente de gradient par mini-lots : Il s'agit de l'approche la plus courante, dans laquelle la taille du lot est fixée à une valeur comprise entre 1 et la taille totale de l'ensemble de données (par exemple, 32, 64, 128). Elle offre un équilibre entre la stabilité de la descente de gradient par lots et l'efficacité de la descente de gradient stochastique.

Le choix de la taille du lot influence considérablement le processus d'apprentissage. Une taille de lot plus importante permet d'obtenir une estimation plus précise du gradient, mais le coût de calcul pour chaque mise à jour est plus élevé. Inversement, une taille de lot plus petite conduit à des estimations de gradient moins précises, mais permet des mises à jour plus rapides.

Choisir la bonne taille de lot

La recherche de la taille optimale du lot est une partie cruciale de l'ajustement des hyperparamètres et dépend de l'ensemble de données, de l'architecture du modèle et du matériel disponible.

  • Des lots de grande taille : Le traitement d'un plus grand nombre de données à la fois permet d'exploiter pleinement les capacités de traitement parallèle des GPU, ce qui se traduit par des temps d'apprentissage plus rapides par période. Cependant, les recherches ont montré que les lots de très grande taille peuvent parfois conduire à un "écart de généralisation", où le modèle est performant sur les données d'apprentissage mais peu performant sur les données non vues. Ils nécessitent également beaucoup de mémoire, ce qui peut être un facteur limitant.
  • Petites tailles de lots : Ils nécessitent moins de mémoire et conduisent souvent à une meilleure généralisation du modèle, car le bruit dans les mises à jour du gradient peut aider le modèle à échapper aux minima locaux et à trouver une solution plus robuste. Cela permet d'éviter le surajustement. Le principal inconvénient est que la formation est plus lente car les mises à jour des poids sont plus fréquentes et moins de données sont traitées en parallèle.

Pour de nombreuses applications, les tailles de lots qui sont des puissances de deux (comme 32, 64, 128, 256) sont recommandées car elles s'alignent souvent bien avec les architectures de mémoire GPU. Des outils comme Ultralytics HUB permettent d'expérimenter facilement différentes tailles de lots lors de l'entraînement des modèles.

Taille des lots dans l'entraînement et l'inférence

Si la taille des lots est un concept fondamental pour la formation, elle s'applique également à l'inférence, mais dans un but différent. Au cours de l'inférence, la mise en lots est utilisée pour traiter simultanément plusieurs entrées (par exemple, des images ou des phrases) afin de maximiser le débit. C'est ce que l'on appelle souvent l'inférence par lots.

Pour les applications nécessitant des résultats immédiats, telles que l'inférence en temps réel dans un véhicule autonome, une taille de lot de 1 est utilisée pour minimiser la latence de l'inférence. Dans les scénarios hors ligne, comme le traitement d'une grande collection d'images pendant la nuit, une taille de lot plus importante peut être utilisée pour améliorer l'efficacité.

Applications dans le monde réel

  1. Analyse de l'imagerie médicale: Lors de l'entraînement d'un modèle YOLO11 pour la détection de tumeurs dans des images médicales, les images sont souvent à haute résolution. En raison des contraintes de mémoire sur un GPU, une petite taille de lot (par exemple, 4 ou 8) est généralement utilisée. Cela permet d'entraîner le modèle sur des données très détaillées sans dépasser la mémoire disponible, ce qui garantit un entraînement stable.
  2. Contrôle de la qualité de la fabrication: Dans un contexte d'IA dans la fabrication, un modèle peut être formé pour détecter des défauts sur une chaîne de montage. Avec un grand ensemble de données de millions d'images de produits, une taille de lot plus importante (par exemple, 256 ou 512) peut être utilisée sur un puissant cluster d'entraînement distribué. Cela accélère le processus d'apprentissage, ce qui permet d'accélérer l'itération et le déploiement du modèle.

Taille des lots et termes connexes

Il est important de distinguer la taille des lots d'autres concepts connexes :

  • Taille du lot par rapport à l'époque et à l'itération: Une itération est une mise à jour des poids du modèle. Une époque est un passage complet sur l'ensemble des données d'apprentissage. Le nombre d'itérations dans une époque est le nombre total d'échantillons de formation divisé par la taille du lot.
  • Taille du lot et normalisation du lot: La normalisation des lots (BatchNorm) est une technique utilisée dans une couche de réseau neuronal pour normaliser les entrées de chaque mini-lot. Bien que son efficacité puisse être influencée par la taille du lot (elle est plus performante avec des lots plus importants), il s'agit d'une couche distincte dans l'architecture du modèle, et non d'un paramètre de la boucle de formation. La plupart des cadres d'apprentissage profond modernes tels que PyTorch et TensorFlow fournissent des implémentations robustes.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers