Glossaire

Taille du lot

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

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Dans l'apprentissage automatique, en particulier lors de la formation de modèles d'apprentissage profond, la taille des lots fait référence au nombre d'exemples de formation traités en une seule itération. La formation de grands modèles sur des ensembles de données massifs, fréquente dans des domaines comme la vision par ordinateur, rend souvent le traitement de l'ensemble des données en une seule fois infaisable sur le plan informatique en raison des limites de la mémoire. Au lieu de cela, les données sont divisées en groupes plus petits et plus faciles à gérer, ou "lots". Les paramètres internes du modèle sont mis à jour après le traitement de chaque lot, ce qui rend le processus de formation plus efficace et plus évolutif.

Importance de la taille des lots

La taille du lot est un hyperparamètre critique qui influence considérablement la dynamique de l'entraînement, l'utilisation des ressources et, en fin de compte, la performance du modèle final. Ses effets sont les suivants :

  • Vitesse de formation : Des lots plus importants peuvent utiliser plus efficacement les capacités de traitement parallèle du matériel comme les GPU, réduisant potentiellement le temps nécessaire pour terminer une époque (un passage complet sur les données d'apprentissage). Cela est dû à une meilleure utilisation du matériel et à moins de mises à jour des paramètres par époque. En savoir plus sur les concepts de l'informatique parallèle.
  • Utilisation de la mémoire : La taille des lots a un impact direct sur la quantité de mémoireCPU RAM duCPU ou VRAM GPU ) requise. Les lots plus importants ont besoin de plus de mémoire pour stocker les données, les activations et les gradients pendant la formation. Les techniques d'optimisation de l'utilisation de la mémoire sont cruciales lorsque l'on travaille avec des lots de grande taille ou un matériel limité.
  • Généralisation du modèle : Le choix de la taille des lots affecte le processus d'optimisation et la généralisation du modèle. Les lots plus petits introduisent plus de bruit dans l'estimation du gradient utilisée dans les algorithmes tels que la descente stochastique du gradient (SGD). Ce bruit peut parfois agir comme une forme de régularisation, en aidant le modèle à échapper à des minima locaux marqués et en améliorant potentiellement sa capacité à se généraliser à des données inédites, réduisant ainsi l'overfitting. À l'inverse, les lots plus importants fournissent une estimation plus précise du gradient global de l'ensemble de données, mais peuvent converger vers des minima plus nets, ce qui peut parfois entraver la généralisation, comme l'explique une recherche comme"On Large-Batch Training for Deep Learning"(Sur la formation par lots importants pour l'apprentissage profond).
  • Interaction du taux d'apprentissage : La taille du lot interagit souvent avec le taux d'apprentissage. En général, les lots plus importants permettent d'obtenir des taux d'apprentissage plus élevés et en tirent souvent profit. Les optimiseurs comme Adam peuvent aider à gérer ces interactions.

Choisir la bonne taille de lot

La sélection d'une taille de lot optimale implique un équilibre entre l'efficacité des calculs, les contraintes de mémoire et la généralisation du modèle. Il n'existe pas de taille de lot universelle "optimale" ; elle dépend fortement de l'ensemble de données spécifique (par exemple, l'ensemble de données COCO), de l'architecture du modèle (comme ceux utilisés par Ultralytics YOLO) et des ressources matérielles disponibles. Les choix courants se situent souvent dans les puissances de 2 (par exemple, 16, 32, 64, 128) en raison des optimisations de l'alignement de la mémoire matérielle. L'expérimentation et des techniques telles que l'ajustement des hyperparamètres sont généralement nécessaires. Des outils comme PyTorch et TensorFlow offrent une certaine flexibilité dans la définition de la taille des lots.

Taille des lots et autres termes connexes

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

  • Itération/étape : Une seule mise à jour des paramètres du modèle basée sur le traitement d'un lot de données. Cela implique une passe avant, un calcul de perte et une passe arrière (rétropropagation).
  • Époque : Un passage complet sur l'ensemble du jeu de données d'apprentissage. Si un ensemble de données comporte 1000 échantillons et que la taille du lot est de 100, une époque consiste en 10 itérations (1000 / 100 = 10).
  • Descente de gradient par mini-lots : L'approche de formation la plus courante, où la taille du lot est supérieure à 1 mais inférieure à la taille totale de l'ensemble de données. Cela contraste avec la descente de gradient par lots (qui utilise l'ensemble des données, taille des lots = N) et la descente de gradient stochastique (qui utilise un seul échantillon, taille des lots = 1). Le terme "taille du lot" fait généralement référence à la taille utilisée dans la descente de gradient par mini-lots. En savoir plus sur les variantes de la descente de gradient.

Applications dans le monde réel

  • Détection d'objets : Lors de la formation d'un Ultralytics YOLO pour la tâche de détection d'objets, la taille du lot détermine le nombre d'images traitées simultanément. L'entraînement de YOLO11 sur un grand ensemble de données comme ImageNet peut nécessiter d'ajuster la taille du lot en fonction de la mémoire du GPU . Une taille de lot plus importante (par exemple, 64) peut accélérer la formation par époque sur les GPU haut de gamme, tandis que des tailles plus petites (par exemple, 16) peuvent être nécessaires sur des appareils disposant de moins de mémoire ou peuvent potentiellement améliorer la généralisation. Des plateformes comme Ultralytics HUB peuvent aider à gérer et à suivre ces expériences de formation.
  • Traitement du langage naturel (NLP) : La formation de grands modèles de langage comme BERT implique le traitement de séquences de texte. La taille du lot affecte le nombre de séquences traitées ensemble. Étant donné que les séquences peuvent varier en longueur et que les modèles sont volumineux, l'utilisation de la mémoire est un problème important. Des techniques comme l'accumulation de gradient (traitement séquentiel de mini-lots plus petits avant la mise à jour des paramètres) sont souvent utilisées pour simuler des lots plus importants lorsque la mémoire est limitée. Explore les concepts dans les cours de NLP.

Comprendre et sélectionner soigneusement la taille du lot est fondamental pour former efficacement les modèles d'apprentissage profond. Pour une étude plus approfondie, pense à des ressources comme la spécialisation en apprentissage profond ou à explorer des techniques comme la normalisation des lots qui peut parfois réduire la sensibilité à la taille des lots.

Tout lire