Calculateur du nombre de GPU pour un modèle
Données
| VRAM du modèle | 140 |
|---|---|
| Mémoire par GPU | 80 |
| Fraction utilisable | 90 % |
Calculateur du nombre de GPU pour un modèle
Estimez le nombre d'accélérateurs nécessaires pour héberger un modèle en mémoire, à partir de son besoin total en VRAM, de la mémoire par GPU et d'une fraction utilisable qui tient compte des surcoûts du framework et de la fragmentation.
Données
Modèle
Matériel
Résultats
Saisissez une valeur pour afficher les résultats.
Détails
Le nombre de GPU pour un modèle
Un grand modèle de langage doit tenir dans la mémoire des accélérateurs avant de pouvoir servir le moindre jeton. Quand le modèle est plus volumineux qu'un seul GPU, il est réparti sur plusieurs, et la première question de planification est simplement de savoir combien d'appareils sont nécessaires. Ce calculateur y répond à partir de trois nombres : la VRAM totale dont le modèle a besoin, la mémoire de chaque GPU et la fraction de cette mémoire qu'un déploiement réel peut effectivement utiliser.
Pourquoi un modèle s'étend sur plusieurs GPU
Un accélérateur moderne embarque une quantité fixe de mémoire à haute bande passante — 80 Go sur un H100, 141 Go sur un H200. Un modèle dont les poids et les tampons d'exécution dépassent ce chiffre ne peut pas résider sur un seul appareil : il est donc découpé. Le parallélisme de tenseurs est la méthode habituelle : chaque couche est répartie sur le groupe, chaque GPU détient une tranche des poids, et les résultats partiels sont recousus par une étape de communication collective à chaque couche. Le groupe se comporte alors comme un appareil plus grand. Le nombre produit par ce calculateur décrit ce groupe unique étroitement couplé, et non un ensemble de répliques indépendantes.
La mémoire utilisable est inférieure à la valeur nominale
Un GPU ne cède jamais la totalité de sa mémoire annoncée au modèle. Le contexte CUDA, l'allocateur à cache du framework, les tenseurs d'activation et la fragmentation entre allocations en prennent une part, et pendant le service le cache clé-valeur grandit avec la longueur de contexte et la taille de lot. Considérer environ 80 à 90 pour cent de la valeur nominale comme utilisable laisse une marge réaliste ; s'approcher du chiffre complet invite à des échecs par mémoire insuffisante sous charge.
La formule
Avec un besoin du modèle de gigaoctets, une mémoire par GPU de gigaoctets et une fraction utilisable , le nombre d'appareils et la mémoire totale valent
nT=⌈g⋅fM⌉=n⋅goù est le nombre de GPU et leur mémoire nominale combinée. Le plafond arrondit vers le haut car un modèle ne peut pas tourner sur un accélérateur fractionnaire.
Exemple chiffré
Prenons un modèle réclamant 140 Go de VRAM sur des GPU de 80 Go chacun, avec 90 pour cent de mémoire utilisable :
nT=⌈80×0.9140⌉=⌈72140⌉=⌈1.94⌉=2=2×80=160 GoDeux GPU suffisent, avec 160 Go de mémoire nominale face à un besoin de 140 Go — une marge confortable pour le cache clé-valeur. Un modèle de 350 Go sur le même matériel exige GPU.
Au-delà du minimum
Le nombre indiqué ici ne répond qu'à la question de l'adéquation. Ajouter des accélérateurs au-delà de ce point achète de la marge de mémoire — un cache clé-valeur plus grand, une taille de lot supérieure, de la place pour des contextes plus longs — et augmente le débit plutôt que de changer le fait que le modèle tienne, tandis que le surcoût de communication du découpage érode peu à peu l'efficacité par GPU. Le dimensionnement pour la performance est un exercice distinct. Pour estimer le besoin de mémoire sous-jacent qui alimente l'entrée , voir le Calculateur de VRAM pour l'inférence LLM, et pour transformer un nombre d'appareils en coût d'exploitation, le Calculateur de coût GPU cloud.
Questions fréquentes (FAQ)
Qu'est-ce que le parallélisme de tenseurs ?
Le parallélisme de tenseurs découpe chaque couche d'un modèle sur plusieurs accélérateurs : chaque GPU détient une tranche des poids et calcule une partie de chaque multiplication matricielle. Les résultats partiels sont recombinés par une étape de communication collective à chaque couche.
C'est la technique qui permet à un modèle plus grand qu'un seul appareil de tenir sur un groupe d'appareils, et c'est pourquoi le nombre fourni par ce calculateur décrit un unique groupe étroitement couplé plutôt que des répliques indépendantes.
Pourquoi la mémoire utilisable est-elle inférieure à la valeur nominale ?
Un GPU n'offre jamais la totalité de sa mémoire annoncée au modèle. Le contexte CUDA, l'allocateur à cache du framework, les tenseurs d'activation et la fragmentation entre allocations consomment tous de l'espace, et le cache clé-valeur grandit avec la longueur de contexte et la taille de lot pendant le service.
Considérer environ 80 à 90 pour cent comme utilisable laisse une marge réaliste ; s'approcher de la valeur nominale expose à des erreurs de mémoire insuffisante sous charge.
Que se passe-t-il si l'on ajoute plus de GPU que le modèle n'en a besoin ?
Les accélérateurs supplémentaires ajoutent une marge de mémoire qui peut accueillir un cache clé-valeur plus grand, autoriser une taille de lot supérieure ou laisser de la place pour des contextes plus longs. Au-delà du point où la mémoire cesse d'être la contrainte, ajouter des GPU augmente surtout le débit plutôt que l'adéquation, et le surcoût de communication lié au découpage peut éroder l'efficacité par GPU.
Le nombre minimal indiqué ici ne répond qu'à la question de l'adéquation ; le dimensionnement pour la performance est une décision distincte.
Mentions légales
Cette estimation ne couvre que l'adéquation mémoire et arrondit à des accélérateurs entiers. Elle ne dimensionne ni le débit, ni la latence, ni l'interconnexion, et la fraction utilisable varie selon le framework, la longueur de contexte et la taille de lot. Vérifiez sur le déploiement réel avant tout approvisionnement.