Taille de lot effective
Données
| Lot par appareil | 8 |
|---|---|
| Appareils en parallélisme de données | 64 |
| Étapes d'accumulation | 4 |
| Longueur de séquence | 4 096 |
Taille de lot effective
Calculez la taille de lot effective (globale) pour un entraînement distribué à partir du micro-lot par appareil, du nombre d'appareils en parallélisme de données et des étapes d'accumulation de gradient, ainsi que les jetons par étape d'optimisation.
Données
Parallélisme
Séquence
Résultats
Saisissez une valeur pour afficher les résultats.
La taille de lot effective
La taille de lot effective est le nombre d'exemples d'entraînement qui contribuent à une seule mise à jour de l'optimiseur. Sur un appareil unique, elle égale le micro-lot, mais l'entraînement distribué répartit le travail sur de nombreux accélérateurs et somme souvent plusieurs passes avant chaque changement de poids : le lot global que voit réellement l'optimiseur peut donc être des centaines de fois plus grand que ce qui tient sur une seule puce. Ce calcul reconstitue ce chiffre global, et les jetons qu'il représente, à partir des trois facteurs qui le produisent.
Pourquoi le lot global importe
Presque tous les calendriers de taux d'apprentissage, longueurs d'échauffement et résultats de convergence de la littérature s'expriment en fonction du lot global, et non du micro-lot par appareil. Une équipe qui passe de 8 à 64 appareils sans recalculer le lot effectif modifie en silence la dynamique d'optimisation — le même code prend désormais un pas huit fois plus grand par mise à jour — et risque de diverger ou de stagner. Connaître le lot effectif est donc un préalable pour ajuster le taux d'apprentissage, reproduire une recette publiée ou comparer deux entraînements sur des grappes de tailles différentes.
La formule
Trois facteurs indépendants se multiplient. Avec un micro-lot par appareil , un nombre de copies en parallélisme de données et des étapes d'accumulation de gradient , le lot effectif et les jetons par étape d'optimisation à une longueur de séquence valent
BT=b⋅d⋅a=B⋅LChaque copie en parallélisme de données traite son propre micro-lot et les gradients sont moyennés : les copies multiplient donc le lot. L'accumulation somme passes successives avant une mise à jour, ce qui le multiplie de nouveau. Le nombre de jetons est simplement le nombre de séquences multiplié par la longueur de chacune.
Exemple chiffré
Soit un micro-lot de 8 séquences sur chacun de 64 appareils, avec 4 étapes d'accumulation et un contexte de 4 096 jetons :
BT=8×64×4=2048=2048×4096=8388608L'optimiseur voit 2 048 séquences — soit environ 8,4 millions de jetons — par mise à jour, alors qu'aucun appareil ne détient jamais plus de 8 séquences à la fois. Doubler les étapes d'accumulation, à 8, porterait le lot effectif à 4 096 sans modifier la mémoire par appareil, au prix de deux fois plus de passes entre deux mises à jour.
Limites
Ce modèle couvre la réplication en parallélisme de données et l'accumulation de gradient, les deux facteurs qui modifient le lot global. Il néglige délibérément les parallélismes de tenseur, de pipeline et de séquence : ceux-ci répartissent un même modèle ou une même séquence sur plusieurs appareils pour tenir en mémoire, mais n'agrandissent pas le lot global — les appareils entre lesquels une copie est fragmentée ne doivent donc pas être comptés dans . Le nombre de jetons suppose en outre une longueur de séquence fixe ; les lots de longueur variable ou compactés exigent un décompte de jetons distinct. Le versant mémoire du choix du micro-lot est traité par le Calculateur de mémoire pour l'accumulation de gradient, et la façon dont le débit évolue à mesure que des appareils s'ajoutent par le Mise à l'échelle en parallélisme de données.
Questions fréquentes (FAQ)
Qu'est-ce que la taille de lot effective ?
La taille de lot effective, ou globale, est le nombre d'exemples d'entraînement qui contribuent à une seule mise à jour de l'optimiseur. En entraînement distribué, elle vaut le micro-lot par appareil multiplié par le nombre de copies en parallélisme de données et par les étapes d'accumulation de gradient, car chacune de ces passes est sommée avant que les poids ne changent une fois.
C'est ce chiffre qui importe pour l'ajustement du taux d'apprentissage et la reproductibilité, et non le micro-lot plus petit qui tient sur un seul appareil.
Pourquoi recourir à l'accumulation de gradient ?
L'accumulation de gradient exécute plusieurs passes avant et arrière et somme leurs gradients avant d'appliquer une seule étape d'optimisation, ce qui augmente la taille de lot effective sans conserver davantage d'activations en mémoire à la fois. Elle permet à une configuration limitée en mémoire de reproduire le comportement à grand lot d'une grappe plus vaste, au prix d'un temps réel supplémentaire par mise à jour.
Le compromis échange du débit contre de la mémoire : chaque étape d'accumulation est un calcul réel, mais il n'y a qu'une mise à jour de l'optimiseur et qu'un seul échange de communication par cycle.
En quoi la taille de lot et les jetons par étape diffèrent-ils ?
La taille de lot compte des séquences, tandis que les jetons par étape comptent les jetons individuels qu'elles contiennent — le lot multiplié par la longueur de séquence. La planification du budget de jetons et nombre de calendriers de taux d'apprentissage publiés s'expriment par jeton : le chiffre en jetons est donc souvent le plus transposable.
Deux entraînements au même nombre de séquences mais à des longueurs différentes voient des nombres de jetons distincts par étape, raison pour laquelle les deux valeurs sont indiquées ici.
Mentions légales
Ce calcul ne couvre que la réplication en parallélisme de données et l'accumulation de gradient. Il ne modélise pas le parallélisme de tenseur, de pipeline ou de séquence, qui modifient la façon dont un lot global est réparti entre appareils mais non le lot global lui-même. Vérifiez que votre cadre logiciel compte les micro-lots et l'accumulation de la même manière.
Recommandations
Calculateur de mémoire pour l'accumulation de gradient
Calculez la taille de lot effective atteinte par accumulation de gradient et la mémoire d'activation qu'elle requiert, à partir de la taille du micro-lot, du nombre d'étapes d'accumulation, des répliques en parallélisme de données et du coût d'activation par échantillon.
Mise à l'échelle en parallélisme de données
Estimez le débit réel d'entraînement réparti sur des appareils en parallélisme de données à partir du débit par appareil et de l'efficacité de mise à l'échelle, avec le débit linéaire idéal et l'accélération obtenue par rapport à un seul appareil.