Calculateur de mémoire pour l'accumulation de gradient
Données
| Taille du micro-lot | 4 |
|---|---|
| Étapes d'accumulation | 8 |
| GPU en parallélisme de données | 1 |
| Activation par échantillon | 0,5 |
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.
Données
Lots
Mémoire
Résultats
Saisissez une valeur pour afficher les résultats.
Détails
La mémoire pour l'accumulation de gradient
Les grands modèles de langage s'entraînent mieux avec de grands lots, mais un grand lot signifie de nombreux échantillons maintenus en mémoire simultanément — et la mémoire d'activation est souvent la première à déborder d'un GPU. L'accumulation de gradient résout cette tension : elle atteint un grand lot effectif tandis que le pic de mémoire d'activation reste à la taille d'un seul petit micro-lot. Ce calculateur montre les deux faces de ce compromis — le lot effectif qu'une configuration atteint et la mémoire d'activation qu'elle conserve réellement.
Ce que fait l'accumulation de gradient
Habituellement, un entraîneur met à jour les poids après chaque lot. Avec l'accumulation, il exécute plusieurs micro-lots à la suite, additionne leurs gradients et n'applique une étape de l'optimiseur qu'une fois le nombre de micro-lots visé traité. Le gradient sommé est identique à celui qu'un unique lot de cette taille combinée aurait produit, si bien que la mise à jour est mathématiquement la même — seul son rythme change. Les poids ne bougent qu'une fois par cycle d'accumulation, et non une fois par micro-lot.
Pourquoi la mémoire reste stable
Le pic de mémoire d'activation est régi par la plus grande passe avant et arrière vivante à un instant donné, c'est-à-dire un seul micro-lot. L'accumulation traite un micro-lot à la fois et ne conserve qu'une somme courante des gradients, dont la taille correspond à celle des paramètres du modèle et ne grandit pas avec le nombre d'étapes. Augmenter le nombre d'accumulations élève donc le lot effectif sans toucher à la mémoire d'activation. C'est tout l'intérêt : un grand lot effectif sur un budget mémoire qui ne pourrait jamais le contenir en une fois.
La formule
Avec une taille de micro-lot , des étapes d'accumulation , des répliques en parallélisme de données et un coût d'activation par échantillon en gigaoctets,
EM=b⋅a⋅g=b⋅Aoù est la taille de lot effective et le pic de mémoire d'activation sur un GPU. Le lot effectif se multiplie sur chaque réplique et chaque étape d'accumulation, tandis que le terme de mémoire ne dépend que du micro-lot.
Exemple chiffré
Prenons un micro-lot de 4 échantillons, accumulé sur 8 étapes sur un seul GPU, chaque échantillon coûtant 0,5 Go d'activations :
EM=4×8×1=32=4×0.5=2 GoL'entraînement se déroule comme si le lot était de 32, alors que seuls 2 Go d'activations sont à tout moment résidents. Répartir la même configuration sur 4 GPU en parallélisme de données porte le lot effectif à , et la mémoire d'activation par GPU reste de 2 Go.
Lire le résultat
La taille de lot effective est la valeur en fonction de laquelle sont réglés les calendriers de taux d'apprentissage et les autres hyperparamètres, et non le micro-lot. Notez que la mémoire d'activation n'est qu'une partie du budget d'entraînement : l'état de l'optimiseur, les gradients et les paramètres eux-mêmes dominent généralement, et ce calculateur isole délibérément le terme d'activation pour rendre visible le compromis de lots. Pour le tableau mémoire complet, voir le Calculateur de VRAM pour l'entraînement de LLM, et pour réduire le nombre de paramètres entraînables avec des adaptateurs de faible rang, le Calculateur de paramètres LoRA.
Questions fréquentes (FAQ)
Comment fonctionne l'accumulation de gradient ?
Au lieu de mettre à jour les poids après chaque micro-lot, l'entraîneur exécute plusieurs micro-lots à la suite, additionne leurs gradients et n'applique qu'une seule étape de l'optimiseur une fois le nombre de micro-lots visé atteint.
Le gradient sommé est identique à celui qu'un unique grand lot de même taille totale produirait, si bien que le calcul de la mise à jour reste inchangé — seul le rythme diffère. Les poids ne bougent qu'une fois par cycle d'accumulation, et non une fois par micro-lot.
Pourquoi la mémoire reste-t-elle stable quand le nombre d'étapes d'accumulation augmente ?
Le pic de mémoire d'activation est fixé par la plus grande passe avant et arrière présente en mémoire à un instant donné, c'est-à-dire un seul micro-lot. L'accumulation traite un micro-lot à la fois et ne conserve qu'une somme courante des gradients, dont la taille égale celle des paramètres du modèle et ne grandit pas avec le nombre d'étapes.
Doubler les étapes d'accumulation double donc le lot effectif sans changer la mémoire d'activation — le compromis central qui rend abordables de grands lots effectifs sur une mémoire limitée.
Que signifie la taille de lot effective ?
La taille de lot effective est le nombre d'échantillons qui influencent une seule mise à jour des poids. Avec le parallélisme de données chaque réplique apporte son micro-lot, et avec l'accumulation chaque réplique apporte plusieurs micro-lots à tour de rôle ; le lot effectif est donc le produit du micro-lot, des étapes d'accumulation et du nombre de répliques.
Les calendriers de taux d'apprentissage et les autres hyperparamètres sont réglés en fonction de cette valeur effective, et non du micro-lot.
Mentions légales
Cette estimation modélise la mémoire d'activation à partir du seul micro-lot et omet l'état de l'optimiseur, les gradients, les paramètres et le surcoût du framework, qui dominent la mémoire totale d'entraînement. Utilisez-la pour raisonner sur le compromis de lots, non comme un budget mémoire complet.
Recommandations
Calculateur de VRAM pour l'entraînement de LLM
Estimez la VRAM GPU nécessaire pour affiner entièrement un grand modèle de langage à partir de son nombre de paramètres, du choix de l'optimiseur et de la mémoire d'activations, en appliquant la règle d'Adam en précision mixte de 16 octets par paramètre.