Arithmétique des ordinateurs
Dans l'entraînement en précision mixte en IA, pourquoi conserve-t-on la valeur originale des poids (poids maîtres) en FP32 tout en effectuant la plupart des calculs en FP16 ou bfloat16 ?
- AParce que l'ajout de petites mises à jour aux poids dans un format peu précis les fait disparaître par absorption
- BParce que FP32 calcule plus vite que FP16 et qu'on lui confie tous les calculs de poids
- CParce que FP16 et bfloat16 ne permettent pas d'enregistrer les poids en mémoire
Afficher la réponse et l'explication
Réponse : A. Parce que l'ajout de petites mises à jour aux poids dans un format peu précis les fait disparaître par absorption
L'entraînement ajoute de nombreuses fois aux poids des valeurs très petites, « taux d'apprentissage × gradient ». FP16 et bfloat16 ont une mantisse courte : si la mise à jour est trop petite par rapport au poids, la somme est arrondie au poids initial et la mise à jour disparaît (absorption). Les poids sont donc conservés en FP32 pour accumuler correctement les mises à jour, et des copies converties en basse précision servent aux passes avant et arrière. Le calcul est plus rapide en basse précision, et les valeurs basse précision peuvent aussi être enregistrées.
Continuer : 9 autres questions sur Arithmétique des ordinateurs