vak: (Default)
[personal profile] vak
"FP64, FP32, FP16, BFloat16, TF32, and other members of the Zoo"



Библиотека Си++, реализующая плавающие числа с произвольным размером экспоненты и мантиссы: https://github.com/oprecomp/FloatX

К примеру, BFloat16 реализуется как тип float<8,7>. Размер экспоненты равен 8, размер мантиссы - 7.

Date: 2022-11-03 20:48 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Для всякого машинного лернинга годится или bfloat16, или вообще сразу брать логарифмы и не мучаться. (Я когда-то сразу в логарифмы перегонял, все равно на больших данных будут большие числа.)

Date: 2022-11-03 23:48 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Если логарифм не округлять до целого или 1/2, 1/4..., встаёт та же проблема: как его представлять?
Edited Date: 2022-11-03 23:48 (UTC)

Date: 2022-11-04 06:46 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

или bfloat16, или float16 - зависит от того, хватит ли пяти бит для порядка (вряд ли)

Date: 2022-11-04 03:28 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
bfloat16 удобен с точки зрения преобразования <-> float32, но для разных вычислений могут пригодиться и числа с 6 или 7 битами порядка. 3⏨38 кажется многовато, а 6.5⏨4 - маловато.

Date: 2022-11-04 22:32 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Немонотонность на w=5 очень удивительна.