Arithmétique des ordinateurs
Lors de l'entraînement d'un réseau de neurones en FP16 (demi-précision : 1 bit de signe, 5 d'exposant, 10 de mantisse), quel problème survient fréquemment et se traite en multipliant la perte par un facteur (loss scaling) ?
- ALa mantisse est trop longue et la consommation mémoire augmente
- BLa plage représentable est étroite et les petits gradients deviennent nuls
- CLes valeurs sont traitées comme des entiers et les fractions ne sont pas représentables
Afficher la réponse et l'explication
Réponse : B. La plage représentable est étroite et les petits gradients deviennent nuls
Avec seulement 5 bits d'exposant, FP16 ne représente que les valeurs positives d'environ 6 × 10⁻⁸ (dénormalisés compris) à 65504. Les gradients calculés pendant l'entraînement comportent de nombreuses valeurs très petites qui, en FP16, subissent un soupassement et deviennent nulles, ce qui bloque l'apprentissage. Le loss scaling multiplie la perte, par exemple par 1024, avant la rétropropagation afin de ramener les gradients dans la plage représentable, puis rétablit l'échelle avant la mise à jour des poids. La mantisse, de 10 bits, est plus courte que celle de FP32, et les fractions sont représentables.
Continuer : 9 autres questions sur Arithmétique des ordinateurs