Choisir un GPU pour les LLMs : de combien de mémoire GPU ai-je besoin ?
Traduction automatique
Cet article a été traduit automatiquement depuis la version originale en anglais.
Estimez la mémoire nécessaire aux poids, au KV cache et au runtime avant de comparer la vitesse des GPU. Mesurez ensuite la bande passante, la puissance de calcul et les interconnexions avec la distribution de requêtes prévue. Un modèle dont les poids tiennent en mémoire peut tout de même dépasser la capacité disponible lorsque plusieurs requêtes longues s’exécutent simultanément.
Utilisez le nombre de requêtes simultanées et les longueurs de séquence requis dans le calcul de mémoire.
Établir l’estimation de mémoire
Un modèle de 7 milliards de paramètres stocké en FP16 utilise environ 14 GB pour les seules valeurs des poids. INT4 réduit ces valeurs à environ 3.5 GB, mais les facteurs d’échelle, les tenseurs non quantifiés et les allocations du runtime ajoutent de la mémoire. L’allocation réelle de l’artefact est la valeur pertinente.
Estimez ensuite la mémoire du KV cache en fonction de l’architecture, de la précision du cache, des longueurs des séquences actives et de la taille du lot. Enfin, incluez les activations temporaires, les tampons, le surcoût de l’allocateur et une réserve fondée sur des mesures.
Dans un exemple simple de planification, 14 GB de poids plus une allocation KV mesurée de 4 GB nécessitent déjà 18 GB avant les autres allocations. Il reste donc peu de marge sur une carte de 24 GB si le surcoût du runtime ou des requêtes plus longues consomment le reste. Cela ne démontre pas que chaque modèle de 7 milliards de paramètres possède un cache de 4 GB.
La bande passante et les liaisons entre GPU modifient la comparaison
| Variante de GPU | Mémoire annoncée | Bande passante mémoire annoncée |
|---|---|---|
| H100 SXM | 80 GB HBM3 | 3.35 TB/s |
| H200 SXM | 141 GB HBM3e | 4.8 TB/s |
| B200 SXM | 180 GB HBM3e | Jusqu’à 8 TB/s |
Ces valeurs proviennent de l’architecture de référence HGX de NVIDIA. Elles décrivent des variantes précises, et non des spécifications interchangeables pour toutes les cartes portant le même nom de famille.
Lors du décodage avec de petits lots, la lecture des poids et de l’état d’attention peut rendre la bande passante mémoire plus déterminante que le débit maximal des opérations matricielles. Des lots plus grands, de longues phases de prefill et des kernels optimisés peuvent changer la ressource qui limite les performances. Lorsqu’un modèle nécessite plusieurs GPUs, incluez le temps de communication collective et les liaisons disponibles entre les appareils.
Comparez le coût réel par requête réussie avec les mêmes objectifs de qualité et de latence. Incluez les groupes de GPU nécessaires et la capacité inutilisée ; le prix de location actuel ne suffit pas à indiquer l’efficacité du serving.
La section sur le choix des GPU du LLM Engineering Guide compare d’autres appareils. Utilisez la planification de mémoire du KV cache pour estimer l’allocation variable.