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.
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.
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.
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.
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.
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é.
Il est important de distinguer la taille des lots d'autres concepts connexes :