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 ?

  1. AParce que l'ajout de petites mises à jour aux poids dans un format peu précis les fait disparaître par absorption
  2. BParce que FP32 calcule plus vite que FP16 et qu'on lui confie tous les calculs de poids
  3. 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.

S'entraîner sur ce thème Retour au thème

Autres questions sur Arithmétique des ordinateurs

  1. En virgule fixe non signée sur 8 bits dont les 4 bits de poids faible forment la partie fractionnaire, quelle valeur représente la suite de bits 0011 1000 ?
  2. Quelle combinaison donne correctement les trois parties d'un nombre à virgule flottante IEEE 754 ?
  3. En simple précision IEEE 754 (32 bits), quelle combinaison donne le nombre de bits attribués au signe, à l'exposant et à la mantisse ?
  4. En double précision IEEE 754 (64 bits), quelle combinaison du nombre de bits d'exposant et de mantisse est correcte ?
  5. En simple précision IEEE 754, si la valeur enregistrée dans le champ d'exposant vaut 130, quel est l'exposant réel (puissance de 2) ?