编程技术网,编程语言,IT新闻,code,代码审查

各大企业为何竞逐人工智能芯片?

2019-09-20 20:22

猴头菇的泡发,宫锁珠帘全集,百合果园

8月23日,华为宣布其自研的AI 芯片——Ascend 910(昇腾910)正式上市商用,与之一同发布的还有的新一代AI开源计算框架 MindSpore ,全面对标谷歌TensorFlow和FaceBook的PyTorch,并计划2020年第一季度全面开源开放。

据华为副董事长、轮值董事长徐直军介绍,昇腾910与MindSpore配合,相比现有主流训练单卡配合TensorFlow的组合显示出接近2倍的性能提升。在去年十月,公布技术参数时,徐直军就曾表示昇腾910是业界算力最高的AI处理器,相同功耗情况下,它的算力是业界最强AI芯片的2倍,最强CPU的50倍。可以看出,Ascend910的实力强劲,傲视业界AI芯片的同时竟然高出同期CPU计算能力数十倍。那么常规印象中被认为是计算机的“大脑”的CPU,性能最强的核心单元,现在只能用来衬托AI芯片的性能了吗?

其实不然,就目前情况,通用大规模集成电路的类型主要有CPU、DSP、GPU、FPGA几种:

CPU

一般来说CPU运算能力弱,虽然主频最高,但是单颗核心数量也有8核、16核,按单核3.5G主频计算,16核即就是56G的主频;再考虑指令周期,每秒最多执行30G次乘法。

DSP

DSP虽然主频不如CPU, 但是胜在乘法器多,动辄附带16个乘法器,而且是浮点的。再者,不论4核、8核,它还具有特定的算法硬件加速,所以虽然主频只有1-2G,但是运算能力还是比CPU强。当然现在出现了带专用乘法器的CPU,DSP也集成了ARM核,这两者的界限开始变得模糊。DSP所有计算均使用浮点算法,目前还没有位或整数运算指令。

GPU

GPU专为图像处理设计,主频一般在500MHz左右,但是核芯数量多,比如英伟达Titan, 有380多个流处理单元,主频和单元数相乘起来:500*400就是200G的计算量,这个量级,远大与于前面二者。

FPGA

FPGA的运算能力的,拿高端的来说:3000多个固定乘法器,用片上资源靠数字逻辑还能再搭建3000个,主频最快能到接近300MHz, 则总计算性能可达(3000+3000)*300M = 1800G这个量级。

因此不难理解,这几个类型的芯片适合的应用场合不同:

1.CPU虽然运算不强,但是擅长进行管理和调度,比如读取数据、管理文件、处理人机交互等。

2.DSP相较CPU而言管理变弱了,运算加强了。这两者都是靠高主频来解决运算量的问题,适合有大量递归操作以及不便拆分的算法。

3.GPU管理方面更弱,运算更强,由于是多进程并发,更适合整块数据进行流处理的算法。

4.FPGA能进行管理也能运算,但是开发周期很长,复杂算法开发难度大。适合流处理算法,不管是整块数据进还是一个一个进。还有就实时性来说,FPGA是最高的。前三种处理器为了避免将运算能力浪费在数据搬运上,一般要求累计一定量数据后才开始计算,因此产生群延时,而FPGA所有操作都并行,因此群延时可以很小。

了解了以上类型的芯片之后,就不难分析AI芯片如何得以超越CPU计算性能如此多倍。所谓AI芯片,一般是指为了进行人工智能相关的运算而进行有针对的优化过的专用芯片(ASIC芯片)。

例如,人工智能领域发展火热的自动驾驶,需要识别道路、行人、交通灯等状况, 如果使用CPU去进行计算,那么极有可能出交通事故。前面已经提到过,CPU擅长控制,并且其设计决定了在工作时为了减小数据传输对运算力的浪费,需要累积到一定数据量才进行计算,而这根本无法满足自动驾驶情景所需要的强实时性。而如果使用GPU计算,在承担高功耗的同时只能利用起其中部分的计算资源,不论是在云端还是终端,都不是一个具有良好能耗比的选择。而且,GPU不但能耗比低,其价格也一直高居不下,且供应不稳定;所以通用型芯片在进行人工智能相关计算时的功耗、效率、价格等因素一起促成了人工智能专用芯片的开发和商用。

目前,AI的应用并未在自动驾驶领域过多展开,主要还是集中在图像识别、语音识别、自然语言处理等领域。这些领域内的算法本质上来说都是矩阵或向量的加、乘运算。目前最先进的服务器CPU之一,IBM POWER8(目前该系列已有POWER9,性能提升1.5倍),拥有4G主频,128位位宽。假设处理8个16位的数据,一个周期最多执行8个乘/加计算。理论上一次最多执行16个操作,那么此CPU理论每秒巅峰计算次数是:16*64Gops=64Gops。

上一篇:利用人工智能升级中学考试制度 使教育无腐败

下一篇:在云端和边缘:人工智能芯片市场将在5年内翻番