广告

加速AI深度学习,BF16浮点格式应运而生

2020-03-06 Sally Ward-Foxton,EE Times特派记者 阅读:
加速AI深度学习,BF16浮点格式应运而生
为了加速AI深度学习(DL)的效能,包括Google、英特尔和Arm等越来越多公司开始导入BF16,但这种新的浮点格式可能成为深度学习运算主流?

全新的数字格式——‘BF16’,专为人工智能(AI)/深度学习(DL)应用优化发展而来,有时也称为‘BFloat16’或‘Brain Float 16’。它一开始是由Google Brain团队发明,并用于其第三代Tensor Processing Unit (TPU),如今已被Google、英特尔(Intel)、Arm等许多公司的AI加速器广泛采用。rJNednc

采用16位脑浮点(brain floating point)格式的BF16,主要概念在于透过降低数字的精度,从而减少让张量(tensor)相乘所需的运算资源和功耗。「张量」是数字的三维(3D)矩阵;张量的乘法运算即是AI计算所需的关键数学运算。rJNednc

如今,大多数的AI训练都使用FP32,即32位浮点数。尽管这表示可以达到非常准确的计算,但需要强大的硬件而且极其耗电。推论一般使用INT8¬¬,即8位整数精度的运算模式,虽然是较低精度的数字系统,但在相同硬件上提供了更高的传输效率,因而能够更省电,只是计算结果(预测)的准确性较低些。rJNednc

BF16的基本概念是为精度和预测准确性之间的权衡进行优化,从而提高吞吐量。rJNednc

浮点数字解析

在运算中的二进制数字可以表示为:rJNednc

尾数x基数指数,基数为2rJNednc

在FP32浮点格式中,每个数字都表示为:rJNednc

1位代表符号(+或-),其后为8位指数,接着是23位尾数(总共32位数字)rJNednc

至于BF16浮点格式,Google Brain团队建议将FP32数字的尾数缩减到7位,以稍降低精度。rJNednc

因此,BF16数字则可表示为:rJNednc

1个符号位,然后8个指数位,接着是7个尾数位(共16位数)rJNednc

rJNednc

浮点数字格式(来源:Google)rJNednc

由于指数大小相同,这些16位数字提供了Google所追求的更高吞吐量,同时又能保留FP32的近似动态范围(该系统可以代表整个数字范围)。rJNednc

使用BF16的算法预测准确度相当于FP32——Google解释这是因为神经网络对于指数的大小要比尾数更敏感)。对于大多数应用来说,这已经是可以被接受的折衷方案了。rJNednc

为什么不使用FP16?

目前普遍用于行动绘图应用中的FP16,同样也是16位浮点数字格式。那么,为什么不直接使用呢?rJNednc

FP16包括:rJNednc

1个符号位,5个指数位,然后10个尾数位(共16位数字)rJNednc

使用这种格式时,由于指数小于FP32,因而动态范围大幅缩减。此外,将FP32数字转换为FP16比起转换为BF16更困难——相较于仅截去尾数,FP16更麻烦,而BF16的操作相对上较简单。rJNednc

另一个要点是计算所需要的芯片实体面积。由于硬件乘法器的实体尺寸会随着尾数宽度的平方而增加,因此从FP32转换到BF16可以大幅节省芯片面积——这也就是Google之所以为其TPU芯片选择使用BF16。BF16乘法器比FP32乘法器的尺寸更小8倍,而且也只有FP16同类型芯片约一半的尺寸。rJNednc

还有哪些DL运算格式?

BF16并不是唯一一种被提议用于深度学习的新数字格式。例如,AI软件新创公司Nervana在2017年曾经提出一种称为‘Flexpoint’的格式。其概念是透过结合定点和浮点数字系统的优点,从而减少运算和内存的需求。rJNednc

定点数(fixed point number)使用固定位数来代表整数和分数(小数点后的部分)——相较于上述的浮点格式,使用定点数字执行运算通常更简单,也更快捷。然而,针对特定的位数,定点数的动态范围比浮点数更小得多。rJNednc

rJNednc

Flexpoint数字共享相同的指数,让张量更易于相乘(来源:Nervana/NeurIPS)rJNednc

Flexpoint张量中的所有(浮点)数字都使用相同的指数(不只是相同的指数大小,而且是完全相同的指数值)。张量中的所有数字之间共享指数,从而可以在整个张量中共同分担指数的通讯。rJNednc

然后就可以让张量相乘作为定点运算,因为每次计算的指数都是相同的——这比起浮点数所需的数学更简单。这些计算足以代表绝大多数的深度学习数学,因此所能节省的资源与功耗都相当可观。然而,管理这些指数极其复杂,而且动态范围(可以表示的数字范围)很低,因为所有的数字都拥有相同的指数。rJNednc

然而,Flexpoint却从未能起飞,甚至是Nervana在卖给英特尔之前,其自家芯片都一直使用BF16。rJNednc

(原文发表于ASPENCORE旗下EDN姐妹媒体EETimes,参考链接:Artificial Intelligence Gets Its Own System of Numbers,编译:Susan Hong)rJNednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 为防被“中国芯”赶超,美国出台 756 页报告收紧芯片制 日前,美国人工智能国家安全委员会(NSCAI)向美国国会递交一份投票通过、长达756页的2021年度最终建议报告,其内容与人工智能和半导体领域的中美竞争相关。
  • 扫地机器人内部拆解与工作原理 介绍扫地机器人的拆解和系统构成。
  • ADAS和DMS可以协同工作吗? 汽车制造商总是将一些花哨的东西吹嘘为高级驾驶辅助系统(ADAS)的安全功能,希望驾驶员使用这些功能。但是,过分依赖自动驾驶会导致不安全的行为,而驾驶员监控系统(DMS)恰好处于这种危机四伏的人机关系之间。迫在眉睫的问题是,DMS是否可以调解这种陷入困境的关系。
  • 谷歌将推AI新功能:在手机上测量心率和呼吸频率 目前,测量心率和呼吸频率一般是用手表或者手环通过扫描手腕上的静脉来实现,不过谷歌将在它的手机上推出此功能:通过AI利用摄像头扫描实现测量心率和呼吸频率。
  • 视觉系统方案的有效整合,可使自动化生产线效率极大提高 本文介绍的三个应用案例展示了业界上先进的机器视觉软件和及其图像预处理技术如何促使2D和3D视觉检测的性能成倍提升。
  • 马斯克或在今年正式开始脑机接口人体试验(附脑机接口系 自从马斯克提出并在人的大脑试验植入芯片以来,受到业界的各种质疑和抵制,EDN曾报道了《大脑植入芯片,马斯克的 Neuralink 脑机接口距离佩戴还有多远?》,《周鸿祎PK马斯克,虽然人类数字化不可逆转,但强烈反对脑机接口技术的广泛应用》,《马斯克 Neuralink 公司的脑机接口被爆有安全隐患,或被黑客劫持删除记忆》,《又一脑机接口(BCI)与瘫痪患者成功实现交互学习》,《脑机接口专家观点:大脑植入芯片能否实现心灵感应?》等。尽管困难重重,但是,今天马斯克表示,在今年可能开始正式的脑机接口初步人体试验。有关脑机接口的专题,请移步文末。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了