Alterna · 学习资料
10.2 记录大小和准确度
两种格式可能采用相同的两个字节,但范围与准确性之间的区别。
本节学习内容
- 更少的比特不是相同的简化。
内容与核心概念
在上一页, 如何记录位数 。
两种格式可能采用相同的两个字节,但范围与准确性之间的区别。
数字具有最终准确性;它们必须储存和移动。 矩阵块产生许多独立的工作,但记忆和团体组织也会影响结果。
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
更少的比特不是相同的简化。
FP16有5个特效和10分位,BF16-8和7. BF16保留一个宽度的引号环,但接近1的网格比较少:步骤2至7=0078125,2至10=0009765625 FFL16。
最近的连系至偶数选择最近的表示数字,在精确的中间,一个更小的位数。FP16, 值1+2x-11位于1至1+ 2°-10中间,四舍五入到1+3°2.11四舍四入为1+2.10。
最小正次正次正常 FP16-2-24, 最高终局为 65504。 我们的代码支持逐渐的下流 。 H02 描述一个特定TPU, 其BF16 的冲洗为零 : 这是性能的特征, 而不是我们抽象存储器的行为 。
FP8是一个家庭。
E5M2
H03中的 E4M3 用于特殊编码; 你不能仅仅切开字段并声明结果 E4 M3 FNF。 对于INT8, 实验室中的对称量量计 q = cramp (回合( x/ 比例) ) - 127.127 127, 恢复 q * 比例。 它不是浮动点, 需要比例 。
研究。
比较 1.1.50000 000 和非常小的值。 安全根错误、 下流和溢出。 节省字节并不意味着累积也以同样的方式进行: 混杂精度往往将低投入与更精确的电池组合在一起。
import struct
half=lambda x:struct.unpack('>e',struct.pack('>e',x))[0]
assert half(1+2**-11)==1
assert half(1+3*2**-11)==1+2**-9
assert half(2**-24)==2**-24
代码重复了刚刚处理的操作
完全检查了 Python 示例章节
可用一个单独的文件; 显示的短片不会取代其执行 。
FP16:1/5/10;BF16:1/8/7。 储存代码没有界定所有性能特征。
这个问题如何继续?
第10章的皮顿实例
学术基础