全新的数字格式——‘bf16’,专为人工智能(ai)/深度学习(dl)应用优化发展而来,有时也称为‘bfloat16’或‘brain float 16’。它一开始是由google brain团队发明,并用于其第三代tensor processing unit (tpu),如今已被google、英特尔(intel)、arm等许多公司的ai加速器广泛采用。
采用16位脑浮点(brain floating point)格式的bf16,主要概念在于透过降低数字的精度,从而减少让张量(tensor)相乘所需的运算资源和功耗。「张量」是数字的三维(3d)矩阵;张量的乘法运算即是ai计算所需的关键数学运算。
如今,大多数的ai训练都使用fp32,即32位浮点数。尽管这表示可以达到非常准确的计算,但需要强大的硬件而且极其耗电。推论一般使用int8¬¬,即8位整数精度的运算模式,虽然是较低精度的数字系统,但在相同硬件上提供了更高的传输效率,因而能够更省电,只是计算结果(预测)的准确性较低些。
bf16的基本概念是为精度和预测准确性之间的权衡进行优化,从而提高吞吐量。
浮点数字解析
在运算中的二进制数字可以表示为:
尾数x基数指数,基数为2
在fp32浮点格式中,每个数字都表示为:
1位代表符号(+或-),其后为8位指数,接着是23位尾数(总共32位数字)
至于bf16浮点格式,google brain团队建议将fp32数字的尾数缩减到7位,以稍降低精度。
因此,bf16数字则可表示为:
1个符号位,然后8个指数位,接着是7个尾数位(共16位数)
浮点数字格式(来源:google)
由于指数大小相同,这些16位数字提供了google所追求的更高吞吐量,同时又能保留fp32的近似动态范围(该系统可以代表整个数字范围)。
使用bf16的算法预测准确度相当于fp32——google解释这是因为神经网络对于指数的大小要比尾数更敏感)。对于大多数应用来说,这已经是可以被接受的折衷方案了。
为什么不使用fp16?
目前普遍用于行动绘图应用中的fp16,同样也是16位浮点数字格式。那么,为什么不直接使用呢?
fp16包括:
1个符号位,5个指数位,然后10个尾数位(共16位数字)
使用这种格式时,由于指数小于fp32,因而动态范围大幅缩减。此外,将fp32数字转换为fp16比起转换为bf16更困难——相较于仅截去尾数,fp16更麻烦,而bf16的操作相对上较简单。
另一个要点是计算所需要的芯片实体面积。由于硬件乘法器的实体尺寸会随着尾数宽度的平方而增加,因此从fp32转换到bf16可以大幅节省芯片面积——这也就是google之所以为其tpu芯片选择使用bf16。bf16乘法器比fp32乘法器的尺寸更小8倍,而且也只有fp16同类型芯片约一半的尺寸。
还有哪些dl运算格式?
bf16并不是唯一一种被提议用于深度学习的新数字格式。例如,ai软件新创公司nervana在2017年曾经提出一种称为‘flexpoint’的格式。其概念是透过结合定点和浮点数字系统的优点,从而减少运算和内存的需求。
定点数(fixed point number)使用固定位数来代表整数和分数(小数点后的部分)——相较于上述的浮点格式,使用定点数字执行运算通常更简单,也更快捷。然而,针对特定的位数,定点数的动态范围比浮点数更小得多。
flexpoint数字共享相同的指数,让张量更易于相乘(来源:nervana/neurips)
flexpoint张量中的所有(浮点)数字都使用相同的指数(不只是相同的指数大小,而且是完全相同的指数值)。张量中的所有数字之间共享指数,从而可以在整个张量中共同分担指数的通讯。
然后就可以让张量相乘作为定点运算,因为每次计算的指数都是相同的——这比起浮点数所需的数学更简单。这些计算足以代表绝大多数的深度学习数学,因此所能节省的资源与功耗都相当可观。然而,管理这些指数极其复杂,而且动态范围(可以表示的数字范围)很低,因为所有的数字都拥有相同的指数。
然而,flexpoint却从未能起飞,甚至是nervana在卖给英特尔之前,其自家芯片都一直使用bf16。
德国3D金属打印机制造商正在帮助Czinger研发使21C车型成为现实的技术
北斗模块SKG12D/SKM81D助力电力设备实现高精度定位
电量变送器的工作原理_电量变送器的优点
N沟道MOSFET延长便携设备电池寿命
你知道IPhone的语音小姐姐为什么叫“Siri”吗?
BF16浮点格式 加快AI深度学习
小型商用机器人,如何做到小而强?
360N5明日发布:最具性价比的手机!猛料爆不停
Arm最强处理器架构技术解析
隔水式恒温培养箱的产品特点是怎样的
区块链商业应用系统“GHBaaS”使区块链真正从概念走向了应用
关于5G时代里的智能驾驶分析和介绍
苹果正在考虑通过AR来帮助用户解决导航问题
如何检测零线和地线是否相通
锐龙5 3500处理器曝光 售价约合人民币917元
软银一名前员工因泄露5G商业机密被捕
2017工业物联网现状解析,企业又该如何布局
智慧生活从传感器开始,软硬结合打造最佳应用系统
智慧联通遇见未来 带你领略5G黑科技
我们将学习调制技术的基础知识