历史上的今天
返回首页

历史上的今天

今天是:2025年03月11日(星期二)

正在发生

2020年03月11日 | 人工智能拥有自己的数字系统

2020-03-11 来源:EEWORLD

翻译自——EEtimes

 

深度学习、AI人工智能等技术正在成为各大处理器的热点,虽然目前的主流是通过专用的NPU单元来加速AI指令,但在CPU中集成相应的指令集也会带来很大的改变,Intel在Cascade Lake及10nm Ice Lake处理器中就加入了BFlota16指令集(简称BF16),AI性能达到了前代的2.5倍以上。

 

See the source image

 

BF16是为深度学习而优化的新数字格式,它保证了计算能力和计算量的节省,而预测精度的降低幅度最小

 

BF16,有时也被称为BFloat16或Brain Float16,是一种针对人工智能/深度学习应用程序进行优化的新数字格式。它在谷歌Brain上获得了广泛的应用,包括谷歌、英特尔、Arm和许多其他公司的人工智能加速器。

 

BF16背后的想法是通过降低数字的精度来减少计算能力和将张量相乘所需的能源消耗。张量是一个三维的数字矩阵;张量的乘法是计算人工智能所需的关键数学运算。

 

现在大多数人工智能训练都使用FP32, 32位浮点数。虽然这意味着计算非常准确,但它需要强大的硬件和大量的电力。推理通常使用INT8, 8位整数(整数)。虽然使用诸如INT8这样的较低精度的数字系统可以在相同的硬件上提供更高的吞吐量,从而节省电力,但是计算(预测)的结果却不那么准确。

 

BF16的目的是优化精度和预测精度之间的权衡,以增加吞吐量。

 

解剖FP

 

计算中的二进制数表示为:

 

底数是2,尾数是x的基指数,

 

在FP32中,每个数字都表示为:

 

1位表示符号(+或-),后跟8位的指数,在后面是23位的尾数(总共32位)。

 

对于BF16,谷歌Brain提出通过将FP32的尾数截断为7位来降低精度。

 

因此,BF16数字表示为:

 

1个符号位+ 8个指数位+7个尾数位(总共16位)。

 

 

这些16位数字提供了谷歌所追求的高吞吐量需求,同时保留了FP32的近似动态范围(该系统可以表示的数字的整个范围),因为指数是相同的大小。

 

使用BF16算法的预测精度与FP32相似,但不如FP32精确(谷歌曾说过,这是因为神经网络对指数的大小比尾数敏感得多)。对于大多数应用程序,这种折衷还是被认为可以接受。

 

为什么不用FP16?

 

现有的FP16格式(在移动图形应用程序中很流行)也是16位浮点数格式。为什么不用它呢?

 

FP16包括:

 

1个符号位,5个指数位,10个尾数位(共16位)。

 

使用这种格式,指数比FP32小,因此动态范围大大缩小。此外,将FP32数字转换成FP16比转换成BF16要困难得多——这比直接截断尾数要多得多,而尾数截断是一个相对简单的操作。

 

另一个重点是计算所需的硅物理面积。由于硬件乘法器的物理大小随尾数宽度的平方而增加,因此从FP32切换到BF16可以显著节省硅面积(这足以说服谷歌在其张量处理单元(TPU)芯片中使用BF16)。BF16乘法器比FP32乘法器小8倍,但仍然是FP16的一半。

 

DL还有哪些格式?

 

BF16并不是为深度学习提出的唯一新数字格式。在2017年Nervana提出了一个名为Flexpoint的格式。这个想法是通过结合点和浮点数系统的优点来减少计算和内存需求。

 

定点数使用固定的位来表示整数(整数)和分数(小数点后的部分)—与上面描述的浮点格式相比,用定点数计算通常更简单、更快。但是,对于给定位数,定点数的动态范围要比浮点数小得多。

 

Flexpoint数字共享相同的指数,使张量更容易相乘

 

Flexpoint张量中的(浮点数)数使用相同的指数(不仅仅是相同的指数大小,而是完全相同的指数值)。这个指数是由张量中的所有数字共享的,所以指数的传递可以在整个张量中平摊。

 

张量相乘可以作为一个定点运算,因为每个计算的指数是相同的——这比浮点数所需的数学运算要简单。这些计算代表了深度学习数学的绝大部分,因此节省了相当大的费用。然而,由于所有数字都有相同的指数,所以导致管理指数很复杂,动态范围(可以表示的数字范围)很低。

 

可惜的是,Flexpoint从未成功,甚至Nervana自己的芯片在消亡前也使用了BF16。

 

Sally Ward-Foxton

 

延伸阅读——ARM下代处理器架构将支持BFloat16指令集 AI性能突飞猛进

 

ARM宣布将在下一版ARMv8架构中加入新的Non及SVE指令,以便支持BFloat16运算。

 

BF16运算还不是IEEE的标准,但与标准的FP32浮点、FP16半精度相比,BF16运算优点多多,它可以轻松取代FP32,而且还能保持正确的NN神经网络操作,这点是FP16做不到的,而且它占用的内存及带宽只有FP32一半,所以性能更高,而且不需要复杂的架构改变。

 

总之,支持BF16运算优点多多,根据ARM做的模拟,不同类型的运算中BF16带来的性能提升不等,少的有1.6倍性能,多的可达4倍性能,所以在AI方面性能变化是非常大的,是前代的数倍之多。

ARM下代处理器架构将支持BFloat16指令集 AI性能暴增数倍

ARM下代处理器架构将支持BFloat16指令集 AI性能暴增数倍


推荐阅读

史海拾趣

DCX-CHOL Enterprises公司的发展小趣事

在追求经济效益的同时,DCX-CHOL Enterprises也积极履行社会责任,倡导绿色环保。公司采用环保材料和生产工艺,减少生产过程中的污染物排放。同时,公司还积极推广节能减排的理念,鼓励员工和合作伙伴共同参与环保行动。这些举措不仅提升了公司的社会形象,也为公司的可持续发展提供了有力保障。

Gigavac LLC公司的发展小趣事

随着公司规模的扩大和市场竞争的加剧,DCX-CHOL Enterprises意识到品质管理的重要性。公司投入大量资源提升生产线自动化水平,引进先进的品质检测设备,并建立了严格的质量管理体系。这些措施有效地提高了产品的品质稳定性和可靠性,赢得了客户的信赖。同时,公司还注重员工培训和技能提升,培养了一支高素质、专业化的技术和管理团队。

Bipolar Integrated Technology Inc公司的发展小趣事

在市场竞争日益激烈的情况下,BIT意识到只有不断创新才能在行业中立足。于是,他们加大了在研发方面的投入,不断推出具有创新性的产品。其中,一款高性能、低功耗的双极型处理器成为了市场上的热销产品,引领了行业潮流。

Genesis Microchip公司的发展小趣事

随着第二次世界大战的爆发,全球对国防电子产品的需求激增。GI凭借其在电子技术领域的深厚积累,迅速调整战略方向,积极投身于国防电子产品的研发与生产。公司开发的潜水艇探测设备和其他关键国防电子产品在战争中发挥了重要作用,赢得了军方的高度认可。这一阶段的成功不仅为GI带来了丰厚的利润,也极大地提升了公司在电子行业中的知名度和地位。

ADPOW公司的发展小趣事

ADPOW公司始终将技术研发作为公司发展的核心驱动力。公司投入大量资源用于研发新技术、新产品,不断推陈出新。同时,公司积极与高校、研究机构等合作,引进先进技术和人才,为公司的持续发展注入新的活力。

E-Switch公司的发展小趣事

在E-Switch的发展历程中,品质一直是公司最为重视的方面之一。公司始终坚持严格的质量管理体系,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都严格把关。正是这种对品质的执着追求,让E-Switch的产品在市场上赢得了良好的口碑。

问答坊 | AI 解惑

钱不一定要多,感觉幸福就行!

我们打工的,无论怎么样和有钱人比,都是穷光蛋。还不如调整心态,钱不要多,感觉幸福就可以了饿…

查看全部问答>

关于keil的使用,请高手指教

我买了一块c8051f020DK的开发板,原来板上标配的液晶是不带字库的(控制芯片KS0108),然后我自己又去买了块带字库的(控制芯片st7920),我接在了板上的引出脚上。今天调试的时候发现,进入调试环境后,直接就跳入了汇编界面,我切换到C程序界面发 ...…

查看全部问答>

C51刚学习~~

昨天学习跑马灯~几乎没什么错误~~兴奋了一晚~~~ 今天试着写入按键的程序~都没有反应~郁闷了半天~~ 代码如下(书本上的代码) 编译没错也没警告~~ 下载到单片机~按了几下按钮 LED灯都没反应 郁闷啊~~~不知道是单片机的按钮坏了 还是其它原因~~ /** ...…

查看全部问答>

OH51.EXE 与oh51.exe有什么区别

在keil 的安装目录有 c51.exe 和cx51..exe OH51.EXE 与oh51.exe有什么区别…

查看全部问答>

ipc的培训课程哪里有

听说强博康公司做的非常不错   不知道是不是的   网上对这家公司的评价也很高…

查看全部问答>

顾名思“意”:Internet问与答

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 Q:Internet存在中心吗? A:虽然有时类似Microsoft和Netscape这样的公司认为自己是Internet的中心,但就像宇宙没有中心一样,Internet也不存在着一个中心。因为每一台计算机都连接着其它计算 ...…

查看全部问答>

求各位高手 大哥们 帮帮小弟

能不能给我发个  bc3.1     bc4.5    谢谢了  572058869@qq.com…

查看全部问答>

语音录放系统实验

做语音录放系统实验,录音的数字量存在flash中,如何将它们播放出去呢?我是用定时器输出PWM来实现播放语音的,那PWM的频率如何确定?PWM的占空比如何确定? [ 本帖最后由 zzbaizhi 于 2013-7-5 11:34 编辑 ]…

查看全部问答>

求助,关于RS232和TTL的转换

最近需要用一个条形码模块,输出是RS232的,我用232转USB的线连到电脑上,是可以读数据的。但是加上232转TTL,TTL再转USB就不能读数据了,VCC看过了,也是匹配的。 有没有人遇到过这样的问题啊?求大神解答。 …

查看全部问答>