A. Smyntyna / Code
ENRU

экспонента

exponent

Часть числа с плавающей точкой, задающая его масштаб, отдельно от мантиссы, в которой лежат цифры. Больше бит экспоненты — шире диапазон порядков, прежде чем число переполнится в бесконечность или схлопнется в ноль. BF16 тратит сюда 8 из своих 16 бит; FP16 тратит 5 — поэтому обучение в FP16 переполняется, а в BF16 нет.

В терминах фотографии экспонента — это динамический диапазон: сколько ступеней вообще удаётся снять. Мантисса — это битность внутри ступени: насколько мелко каждая из них нарезана.

Ставка Google Brain в BF16 была в том, что нейросеть переживёт грубую нарезку и умрёт на значении, которое не может представить. Значит, надо сохранить все ступени и нарезать их грубее. MXFP4 делает свою версию той же ставки на четырёх битах, позволяя блоку весов делить одну экспоненту на всех.

Читать дальше