Méthode de calcul

Entraîner un transformer coûte environ 6 opérations en virgule flottante par paramètre et par token d'entraînement : deux pour la passe avant et quatre pour la passe arrière. Un modèle 7B entraîné sur 140 milliards de tokens demande donc environ 6 × 7×10⁹ × 140×10⁹ ≈ 5,9×10²¹ FLOP. Ce nombre est fixé par le modèle et les données ; le GPU décide seulement de la vitesse à laquelle vous le parcourez.

La vitesse de chaque GPU est ici son débit tensoriel BF16 dense annoncé multiplié par le MFU (taux d'utilisation des FLOP du modèle) — la part du pic qu'un vrai entraînement maintient. Les grands entraînements bien réglés sur des grappes de type H100 annoncent environ 35–50 % ; les petits travaux, les cartes grand public et les configurations multi-nœuds sur réseaux lents sont plus bas, souvent 20–30 %. Déplacez le curseur MFU pour voir à quel point le résultat en dépend — généralement plus que du GPU choisi.

La mémoire fixe le nombre minimum de GPU. L'entraînement en précision mixte avec l'optimiseur Adam garde environ 16 octets par paramètre (poids, gradients, poids maîtres FP32 et deux moments de l'optimiseur) plus les activations, que des frameworks comme FSDP ou DeepSpeed ZeRO peuvent répartir entre GPU. Plus de GPU que le minimum ne change ni les heures GPU ni le coût dans ce modèle — cela raccourcit la durée réelle —, mais en pratique l'efficacité de mise à l'échelle baisse à mesure qu'on ajoute des GPU, surtout sans NVLink/InfiniBand.

Le chiffre de 20 tokens par paramètre est le ratio optimal en calcul de Chinchilla ; beaucoup de petits modèles modernes sont volontairement entraînés bien au-delà, car un modèle plus petit et plus longuement entraîné coûte moins cher en inférence. Pour affiner un modèle existant plutôt que d'entraîner de zéro, utilisez le calculateur du coût de fine-tuning — c'est des ordres de grandeur moins cher.