Calculateur du nombre de paramètres d'un transformeur
Données
| Couches | 32 |
|---|---|
| Taille cachée | 4 096 |
| Expansion à propagation avant | 4 |
| Taille du vocabulaire | 32 000 |
Calculateur du nombre de paramètres d'un transformeur
Estimez le nombre total de paramètres d'un transformeur à décodeur seul à partir du nombre de couches, de la taille cachée, de l'expansion du réseau à propagation avant et de la taille du vocabulaire, grâce à une formule architecturale au premier ordre.
Données
Architecture
Résultats
Saisissez une valeur pour afficher les résultats.
Détails
Le nombre de paramètres d'un transformeur
La taille d'un grand modèle de langage est habituellement annoncée par un seul chiffre phare — sept milliards, soixante-dix milliards — mais cette valeur est entièrement déterminée par une poignée de choix architecturaux. Étant donné le nombre de couches, la taille cachée, l'expansion à propagation avant et le vocabulaire, le nombre total de paramètres découle d'une formule courte. Ce calculateur applique cette formule pour donner une estimation au premier ordre, le même raisonnement de coin de table employé pour dimensionner un modèle avant que le moindre poids n'existe.
Où résident les paramètres
Presque tous les poids d'un transformeur à décodeur seul se trouvent à l'un de trois endroits. La sous-couche d'attention de chaque bloc détient quatre matrices de poids carrées — les projections de requête, de clé, de valeur et de sortie — chacune de taille cachée par cachée. La sous-couche à propagation avant détient deux matrices qui dilatent le flux caché vers une dimension interne plus large puis le reprojettent. Et, à part de la pile de couches, la table d'embeddings de jetons stocke un vecteur de taille cachée pour chaque entrée du vocabulaire.
Compter ces éléments donne l'estimation architecturale. Le bloc d'attention apporte environ valeurs par couche, où est la taille cachée. Le bloc à propagation avant, se dilatant vers une largeur interne de , apporte environ . La table d'embeddings apporte la taille du vocabulaire fois .
La formule
Avec couches, une taille cachée , un multiplicateur de propagation avant et une taille de vocabulaire , le nombre total de paramètres vaut
N=L⋅d2⋅(4+2m)+V⋅dLe premier terme rassemble les poids d'attention et de propagation avant par couche sur toutes les couches ; le second est la table d'embeddings. Comme le terme par couche croît avec le carré de la taille cachée, la largeur du modèle importe bien plus que la profondeur : doubler la taille cachée quadruple à peu près le total, tandis que doubler les couches ne fait que le doubler.
Exemple chiffré
Prenons un modèle à 32 couches, d'une taille cachée de 4096, d'une expansion à propagation avant de quatre et d'un vocabulaire de 32 000 jetons. Le facteur par couche est , d'où
N=32×40962×12+32000×4096=6442450944+131072000≈6.57 milliardsLa pile de couches en représente presque la totalité ; la table d'embeddings n'ajoute qu'environ 131 millions, un peu plus de deux pour cent. Avec l'expansion courante de quatre, environ deux tiers de chaque couche résident dans les poids à propagation avant et un tiers dans l'attention.
Ce que l'estimation laisse de côté
Il s'agit d'un décompte au premier ordre. Il capture les matrices qui dominent le total mais omet les termes mineurs : les biais, les valeurs d'échelle et de décalage de la normalisation par couche, et tout embedding de position appris. Ensemble, ils représentent typiquement bien moins d'un pour cent d'un grand modèle, ils ne déplacent donc pas le chiffre phare. L'estimation suppose aussi que l'embedding d'entrée et la projection de sortie partagent une seule matrice — embeddings liés — de sorte que la table n'est comptée qu'une fois ; un modèle aux embeddings non liés porte cette table deux fois.
Une fois le décompte connu, il oriente les questions pratiques du déploiement. La mémoire nécessaire pour héberger les poids dépend du décompte et de la précision numérique, explorée dans le Calculateur de taille de modèle selon la quantification. La mémoire requise pour entraîner le même modèle, qui ajoute l'état de l'optimiseur et les activations par-dessus les poids, est traitée dans le Calculateur de VRAM pour l'entraînement de LLM.
Questions fréquentes (FAQ)
Qu'est-ce qui compte comme un paramètre ?
Un paramètre est une seule valeur de poids ou de biais apprise et stockée dans le modèle. Les contributions dominantes sont les matrices de poids des projections d'attention et des couches à propagation avant, ainsi que la table d'embeddings de jetons.
Cette estimation comptabilise ces matrices et la table d'embeddings. Elle omet les termes mineurs — biais, valeurs d'échelle et de décalage de la normalisation par couche, et tout embedding de position appris — qui, ensemble, représentent généralement bien moins d'un pour cent d'un grand modèle.
Quelle est la contribution de la table d'embeddings ?
La table d'embeddings de jetons stocke un vecteur de taille cachée pour chaque entrée du vocabulaire, elle contient donc la taille du vocabulaire fois la taille cachée valeurs. Pour un petit modèle doté d'un grand vocabulaire, cela peut représenter une part notable du total, mais pour un grand modèle les poids d'attention et de propagation avant par couche dominent et l'embedding devient une fraction mineure.
Lorsque l'embedding d'entrée et la projection de sortie partagent la même matrice — embeddings liés — la table n'est comptée qu'une fois au lieu de deux.
Les couches d'attention ou de propagation avant détiennent-elles plus de poids ?
Par couche, le bloc d'attention détient environ quatre fois le carré de la taille cachée, provenant des projections de requête, de clé, de valeur et de sortie, tandis que le bloc à propagation avant détient environ deux fois le multiplicateur d'expansion fois le carré de la taille cachée.
Avec l'expansion courante de quatre, le bloc à propagation avant détient environ huit fois le carré de la taille cachée contre quatre pour le bloc d'attention, soit environ deux tiers de chaque couche dans les poids à propagation avant.
Mentions légales
Il s'agit d'une estimation au premier ordre. Elle capture les projections d'attention, les poids à propagation avant et la table d'embeddings, mais omet les biais, les paramètres de normalisation par couche et les embeddings de position, et suppose des embeddings d'entrée et de sortie liés. Les valeurs publiées pour un modèle donné peuvent différer d'une faible marge.
Recommandations
Calculateur de taille de modèle selon la quantification
Estimez la taille sur disque et en mémoire d'un grand modèle de langage à partir de son nombre de paramètres et de sa précision de quantification, en gigaoctets décimaux et en gibioctets binaires.
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.