人工智能芯片与传统芯片有何区别

胡薇 发表于 2018-06-20 16:33:58 收藏 已收藏
赞(0) •  评论(0

人工智能芯片与传统芯片有何区别

胡薇 发表于 2018-06-20 16:33:58

作为AI和芯片两大领域的交差点,AI芯片已经成了最热门的投资领域,各种AI芯片如雨后春笋冒出来,但是AI芯片领域生存环境恶劣,能活下来的企业将是凤毛麟角。

谷歌在I/O大会发布了其第三代TPU,并宣称其性能比去年的TUP 2.0 提升8倍之多,达到每秒1000万亿次浮点计算,同时谷歌展示了其一系列基于TPU的AI应用。

可以说,AI已经成为科技行业除了区块链之外最热门的话题。AI芯片作为AI时代的基础设施,也成为目前行业最热门的领域。

可以看到,AI芯片已经成为资本追逐的最热门领域,资本对半导体芯片的热情被AI技术彻底点燃。在创业公司未真正打开市场的情况下,AI芯片初创企业已经诞生了不少的独角兽,多笔融资已经超过亿元。

AI技术的革新,其从计算构架到应用,都和传统处理器与算法有巨大的差异,这给创业者和资本市场无限的遐想空间,这也是为什么资本和人才对其趋之若鹜的原因。

首先我们来分析下目前对AI芯片的需求主要集中在哪些方面。

先来讲讲AI目前芯片大致的分类:从应用场景角度看,AI芯片主要有两个方向,一个是在数据中心部署的云端,一个是在消费者终端部署的终端。从功能角度看,AI芯片主要做两个事情,一是Training(训练),二是Inference(推理)。

目前AI芯片的大规模应用分别在云端和终端。云端的AI芯片同时做两个事情:Training和Inference。Training即用大量标记过的数据来“训练”相应的系统,使之可以适应特定的功能,比如给系统海量的“猫”的图片,并告诉系统这个就是“猫”,之后系统就“知道”什么是猫了;Inference即用训练好的系统来完成任务,接上面的例子,就是你将一张图给之前训练过的系统,让他得出这张图是不是猫这样的结论。

Training 和 Inference 在目前大多数的AI系统中,是相对独立的过程,其对计算能力的要求也不尽相同。

Training需要极高的计算性能,需要较高的精度,需要能处理海量的数据,需要有一定的通用性,以便完成各种各样的学习任务。

对于芯片厂家来说,谁有数据,谁赢!

Inference相对来说对性能的要求并不高,对精度要求也要更低,在特定的场景下,对通用性要求也低,能完成特定任务即可,但因为Inference的结果直接提供给终端用户,所以更关注用户体验的方面的优化。

谷歌TensorFlow团队:深度学习的未来,在单片机的身上

Pete Warden,是谷歌TensorFlow团队成员,也是TensorFLow Mobile的负责人。

Pete 坚定地相信,未来的深度学习能够在微型的、低功耗的芯片上自由地奔跑。

单片机 (MCU) ,有一天会成为深度学习最肥沃的土壤。

为什么是单片机?单片机遍地都是

今年一年全球会有大约400亿枚单片机 (MCU) 售出。MCU里面有个小CPU,RAM只有几kb的那种,但医疗设备、汽车设备、工业设备,还有消费级电子产品里,都用得到。

这样的计算机,需要的电量很小,价格也很便宜,大概不到50美分。

之所以得不到重视,是因为一般情况下,MCU都是用来取代 (如洗衣机里、遥控器里的) 那些老式的机电系统——控制机器用的逻辑没有发生什么变化。

CPU和传感器不太耗电,传输耗钱、耗电!CPU和传感器的功耗,基本可以降到微瓦级,比如高通的Glance视觉芯片。

相比之下,显示器和无线电,就尤其耗电了。即便是WiFi和蓝牙也至少要几十毫瓦。

因为,数据传输需要的能量,似乎与传输距离成正比。CPU和传感器只传几毫米,如果每个数据都需要端管云这样传输,每个算法都需要输送到云端进行处理,自然代价就要贵得多。

传感器的数据很多,传输起来很费劲!传感器能获取的数据,比人们能用到的数据,多得多。例如:卫星的图片数据很多,但是传到地球很困难。

卫星或者宇宙飞船上的宇航员可以用高清相机来拍高清视频。但问题是,卫星的数据存储量很小,传输带宽也很有限,从地球上每小时只能下载到一点点数据。

地球上的很多传感器也一样,本地获得很容易,但是传输到远端的数据中心就需要很多的代价。

跟深度学习有什么关系

如果传感器的数据可以在本地运算,又不需要很多的代价和电力。

我们需要的是,能够在单片机上运转的,不需要很多电量的,依赖计算不依赖无线电,并且可以把那些本来要浪费掉的传感器数据利用起来的。

这也是机器学习,特别是深度学习,需要跨越的鸿沟。

相比之下,神经网络大部分的时间,都是用来把那些很大很大的矩阵乘到一起,翻来覆去用相同的数字,只是组合方式不同了。

这样的运算,当然比从DRAM里读取大量的数值,要低碳得多。

需要的数据没那么多的话,就可以用SRAM这样低功耗的设备来存储。

如此说来,深度学习最适合MCU了,尤其是在8位元计算可以代替浮点运算的时候。

1、深度学习很低碳

那么AI的计算,每次运算需要多少皮焦耳?

比如,MobileNetV2的图像分类网络最简单的结构,大约要用2,200万次运算。

如果,每次运算要5皮焦,每秒钟一帧的话,这个网络的功率就是110微瓦,用纽扣电池也能坚持近一年。

2、对传感器也友好

最近几年,人们用神经网络来处理噪音信号,比如图像、音频、加速度计的数据等等。

如果可以在MCU上运行神经网络,那么更大量的传感器数据就可以得到处理,而不是浪费。

那时,不管是语音交互,还是图像识别功能,都会变得更加轻便。

Training将在很长一段时间里集中在云端,Inference的完成目前也主要集中在云端,但随着越来越多厂商的努力,很多的应用将逐渐转移到终端。

目前的市场情况:云端AI芯片市场已被巨头瓜分殆尽,创业公司生存空间几乎消失。

云端AI芯片无论是从硬件还是软件,已经被传统巨头控制,给新公司预留的空间极小。不客气的说,大多数AI芯片公司、希望在云端AI做文章的初创公司几乎最后都得死。

数据越多,对应用场景越理解的公司,对算法、硬件的需求越清楚、越理解深入。

我们可以看到,芯片巨头Nvidia(英伟达)已经牢牢占据AI芯片榜首,由于CUDA开发平台的普及,英伟达的GPU是目前应用最广的通用AI硬件计算平台。除了有实力自研芯片的企业(全世界也没几家),如果需要做AI相关的工作,必定需要用到Nvidia的芯片。Nvidia的芯片应用普遍,现在所有的AI软件库都支持使用CUDA加速,包括谷歌的Tensorflow,Facebook的Caffe,亚马逊的MXNet等。

除了一骑绝尘的英伟达,其他老牌的芯片巨头都没闲着,特别是Intel通过买、买、买奋力的将自己挤到了头部玩家的位置。微软在最新的Build大会上公布了基于英特尔FPGA的 AI 方案,而英特尔的 FPGA 业务正是通过收购Altera获得的。

除此之外,我们可以看到像Google这样的互联网厂商也乱入了前五。这当然要归功于上面提到的TPU,虽然谷歌不直接售卖芯片,但是谷歌通过云服务提供TPU的调用服务。谷歌很早就开源了Tensorflow软件平台,这使得Tensorflow成为最主流的机器学习软件平台,已经成了事实上行业的软件平台标准。而Tensorflow最佳的计算环境必定就是谷歌自己的云服务了,通过软件、硬件(或者说云)环境的打通,谷歌妥妥的成为AI芯片领域的一方霸主。

现在业界争论的焦点是AI芯片的处理器架构用哪种是最好的,有前面提及的有GPU、FPGA、DSP和ASIC,甚至还有更前沿的脑神经形态芯片。现在GPU可以认为是处于优势地位,但其他几种的处理器架构也各有优势。Intel则是多方下注,不错过任何一种处理器架构。谷歌在TPU(其实就是一种ASIC)方面的巨大投入带来了硬件效能的极大提高,目前看来对GPU的冲击将是最大的,原因不单单是因为专用架构带来的效率优势,还有商业模式方面带来的成本优势。在半导体行业内的普遍观点是,一旦AI的算法相对稳定,ASIC肯定是最主流的芯片形态。看看挖矿芯片的进化历程,这个观点非常有说服力。

在云端,互联网巨头已经成为了事实上的生态主导者,因为云计算本来就是巨头的战场,现在所有开源AI框架也都是这些巨头发布的。在这样一个生态已经固化的环境中,留给创业公司的空间实际已经消失。

收藏

相关话题
文章来源专栏

评论(0)

加载更多评论

参与评论

分享到

QQ空间 QQ好友 微博
取消