Choisir un GPU pour l'ajustement fin de LLM (guide VRAM)
De 7B à 70B : nous calculons la VRAM requise pour l'ajustement fin complet et LoRA ; nous expliquons l'impact de la taille de batch, de la longueur de séquence et de la quantification sur le budget.
01
Pourquoi la VRAM est-elle déterminante ?
Pendant l'ajustement fin, la mémoire contient ensemble les poids du modèle, les gradients, l'état d'optimisation (environ le double des poids pour Adam) et les activations. Si cette somme ne tient pas dans la VRAM, l'entraînement ne démarre pas ; même si elle tient, les charges qui tournent au bord s'écroulent sous la pression mémoire et le rendement GPU s'effondre.
Le choix du GPU est donc avant tout un problème de mémoire : une carte de vitesse moyenne avec la bonne VRAM est toujours plus efficace qu'une carte rapide avec trop peu de VRAM.
02
Besoins réalistes selon la taille du modèle
Les valeurs ci-dessous sont des fourchettes pratiques pour l'entraînement bf16 et des longueurs de séquence typiques ; à mesure que la longueur de séquence et la taille de batch augmentent, tu te rapproches de la borne supérieure.
- 7B ajustement fin complet : poids ~14 Go + état Adam ~56 Go + gradient ~14 Go → en pratique 2 × 80 Go confortable, 1 × 80 Go juste.
- 13B ajustement fin complet : 2 × 80 Go recommandés.
- 34B ajustement fin complet : il faut la classe 4 × 80 Go.
- 70B ajustement fin complet : la classe 8 × 80 Go (A100/H100) et le parallélisme multi-GPU sont indispensables.
- LoRA/QLoRA : un modèle 7–13B tient sur une seule carte de 24–48 Go ; pour le 70B, le QLoRA sur une carte de 80 Go est une pratique courante.
03
Budget avec LoRA et quantification
LoRA gèle les matrices de poids et n'entraîne que de petites matrices de mise à jour de faible rang ; la part de paramètres entraînables se situe typiquement entre 0,1 % et 1 %. Cela élimine l'essentiel de l'état d'optimisation et de la mémoire des gradients.
QLoRA va plus loin : le modèle de base est quantifié à 4 bits (NF4) et relevé sélectivement à 16 bits pendant le calcul. Pour les équipes relativement petites, c'est la méthode standard pour ajuster finement des modèles de la classe 70B sur une seule carte ; la perte de qualité dépend de la tâche et de la qualité des données et doit toujours être mesurée.
04
Impact de la taille de batch et de la longueur de séquence
La mémoire d'activations croît à peu près linéairement avec la longueur de séquence, et de manière quadratique dans la couche d'attention. Passer d'une séquence de 2 048 à 8 192 tokens ne change rien aux poids du modèle mais augmente nettement la mémoire d'entraînement.
Taille de batch effective = batch par carte × étapes d'accumulation de gradient. Quand la mémoire ne suffit pas, réduis d'abord la longueur de séquence et le batch par carte, puis reviens à ta batch effective souhaitée avec l'accumulation de gradient.
05
Recommandations pratiques
- Classe 24 Go (ex. RTX 4090) : ajustement fin 7–13B avec QLoRA ; idéal pour les tests rapides et les cycles de développement.
- Classe 48 Go (ex. L40S/A6000) : ajustement fin complet 7B ou QLoRA 13–34B.
- Classe 80 Go (A100/H100) : QLoRA 70B, ajustement fin complet 13B ; standard par nœud pour les travaux multi-GPU.
- Si l'entraînement multi-GPU est nécessaire, loue les cartes ensemble, sur le même nœud/cluster, et non séparément ; NVLink et un réseau à faible latence sont critiques.
06
Liste de contrôle
- Nombre de paramètres du modèle et méthode cible (complet / LoRA / QLoRA).
- Longueur de séquence maximale et taille de batch effective cible.
- Taille du jeu de données et besoin de stockage persistant sur disque.
- Mesure l'utilisation mémoire réelle avec une courte location de test et valide le tableau de calcul sur le terrain.
Les articles de cette page sont du contenu d'exemple ; ils sont marqués comme brouillons non publiés en attendant le branchement d'un CMS.