Pile matérielle et logicielle de l'IA
Lors du calcul de la fonction softmax exp(xi)/Σexp(xj), pourquoi soustrait-on souvent le maximum de chaque xi avant le calcul ?
- APour remplacer le résultat par une valeur approchée et accélérer le calcul
- BPour que le plus grand élément vaille toujours 0
- CParce que le résultat reste identique tout en évitant que les valeurs d'exp ne deviennent trop grandes et ne débordent (infini)
Afficher la réponse et l'explication
Réponse : C. Parce que le résultat reste identique tout en évitant que les valeurs d'exp ne deviennent trop grandes et ne débordent (infini)
exp croît très rapidement ; en FP16, par exemple, exp(x) dépasse la valeur maximale représentable dès que x dépasse environ 11. Soustraire une même constante m à tous les x multiplie numérateur et dénominateur par exp(−m) et ne change pas le résultat. En soustrayant le maximum, les exposants deviennent négatifs ou nuls et les valeurs d'exp restent inférieures ou égales à 1, sans débordement. Cette technique est particulièrement importante en IA, où l'on calcule en faible précision, et elle est aussi utilisée dans les implémentations rapides de l'attention.
Continuer : 9 autres questions sur Pile matérielle et logicielle de l'IA