物联网芯片是什么与普通芯片有那些不同之处
作者:卡卡落
【Techweb】从今年的中兴事件,一直到中美贸易持续升温,我国芯片行业受制于人的问题已经被大多数人悉知。因此一波造芯热潮来了,但造芯片并不是那么容易的事情,而且对于中国来说,除了手机用的SoC和PC使用的CPU之外,还有很多芯片制造能力技不如人。比如存储颗粒也是其中之一,还需需要长时间的艰苦奋斗才能追赶上。
在芯片领域除了刚才说的这些之外,其实还有一个新名词,叫做物联网芯片,这个名词之前并不存在,直到近些年Internetofthings(IoT物联网)火爆之后才有这这种说法。
什么是物联网芯片?
芯片我们知道有很多种,那么什么是物联网芯片呢?首先得知道什么是物联网,简单点说就是物物相连的互联网,他的核心依然是互联网,但在基础上衍生和拓展,不仅仅是基于人而是打通了物和物之间的连接通道。物联网也被普遍认为是信息产业发展的第三次浪潮,将带动整个世界的变化。
物联网芯片其实最终还是芯片,只不过作用更加细分化,与传统芯片相比有一定区别,尤其是在商业化方面。因为传统的芯片智能用在特定的需要有计算处理的地方,而物联网芯片更加灵活,主要是基于日常生活的,比如门窗、家电、甚至衣服鞋帽等等,对技术的要求更高,也更注重应用场景的针对性。
当然了,本质上它还是集成电路,只不过更有指向性,需要应用到特定的环境当中,对于企业来说,也提出了更高的需求,因为物联网芯片的用户需要的更多是一套解决方案,往往不仅仅是单一的芯片产品。
物联网芯片面临的两大难题
根据智研咨询的数据显示,2015你啊你全球物联网连接大约60亿个左右,预计2020年将增长到270亿个,这还是比较保守的预计数字。而根据工信部发布的数据显示2017年物联网产业规模已经突破万亿,到2020年,仅仅中国的物联网整体规模就会达到1.8万亿,而其中最重要的物联网芯片,将会在2025年之前一致保持高增长和高产业价值。
但是要想站稳物联网芯片的脚跟可不容易,面临这两个非常严重的问题。
1、针对性
无论是PC处理器还是手机SoC,对于大公司来说,一款产品或者一系列产品一旦打造完成,通常可以大量出货。比如高通公司的骁龙660处理器出货量是几千万片或者上亿片。华为麒麟处理器虽然只供给自己家的产品,但手机销量也是以百万台计数的,这就意味着这些SoC的出货量都是百万级起步。而物联网是万物互联,意味着要面临各种各样的产品提出很多种解决方案。这就面临这严重的细分化问题,虽然有些芯片的需求量很大,但总体来说种类散乱,虽然整体规模很大,但摊下来单一产品或者系列产品的需求量可能并不大。
一次就要求企业需要能够控制成本,及时的推出更有针对性的芯片来解决问题,否则通用型芯片虽然也可以解决问题,但功耗、性能等等很难匹配,并不是长久之计。当企业需求芯片只是几万、几十万片的时候,厂商如何满足他们,并保证自己盈利?现在看的确是个难题。
2、安全
物联网时代面临的最大问题首先就是安全,安全其实不仅仅是物联网芯片造成的,而是整个物联网时代是万物互联网,终端越多、链接通路越多,就越容易遭到攻击,尤其是廉价的设备接入其中,很难保证物联网是安全的。
因此物联网芯片就有了更多要求,至少要保证安全。今年年初的熔断和幽灵两大漏洞让英特尔、AMD在内的半导体公司殚精竭虑,至今舆论和恐慌还没有完全消退。物联网芯片将会拥有更广阔的市场,一旦出现问题,影响会更加严重。尤其是刚才提到的,针对用户推出的产品种类更多、但单一产品总出货量降低,这就意味着产品后续可能得不到厂商有效的技术支持和维护,给了恶意者可乘之机。如何解决这一问题,也是当前必须解决的。
5G发展带来更多机会
现如今4G网络已经带来了几十兆甚至上百找兆的贷款速度,高清晰视频在移动过程中都可以完美体验。也正是因为4G网络的普及,才开启了物联网时代。
到了5G时代,速度从量变的积累最终会让我们的生活产生质的变化。原本4G时代,主要是人到终端、互联网到人的通路,而5G网络面对这些游刃有余,还可以物物互联,这就给了物联网以更大的施展空间,物联网芯片也是如此,需要更小的功耗、适应更高速度,保证对应的处理能力。
因此5G的发展将会极大刺激物联网芯片的发展速度,甚至直接影响出货量,预计2020年全球开始逐步向5G网络过渡,而这一时间段也是芯片企业需要关注的关键节点。
虽然国内物联网芯片的发展速度很快,在汽车、手机、智能硬件、家居家电等领域已经有了一些进展,但主要供应商和技术还是靠国外公司,而到2020年时间已经不多了。
AI芯片和传统芯片到底有何区别
另外,除了脉动阵列,还有其他模块,比如激活等,这些里面也有乘法、加法等。
所以,看看TPU1一秒钟的巅峰计算次数至少是=128KX700MHz=89600Gops=大约90Tops。
对比一下CPU与TPU1,会发现计算能力有几个数量级的差距,这就是为啥说CPU慢。
当然,以上的数据都是完全最理想的理论值,实际情况,能够达到5%吧。因为,芯片上的存储不够大,所以数据会存储在DRAM中,从DRAM取数据很慢的,所以,乘法逻辑往往要等待。另外,AI算法有许多层网络组成,必须一层一层的算,所以,在切换层的时候,乘法逻辑又是休息的,所以,诸多因素造成了实际的芯片并不能达到利润的计算峰值,而且差距还极大。
可能有人要说,搞研究慢一点也能将就用。目前来看,神经网络的尺寸是越来越大,参数越来越多,遇到大型NN模型,训练需要花几周甚至一两个月的时候,你会耐心等待么?突然断电,一切重来?曾经动手训练一个写小说的AI,然后,一次训练(50轮)需要大约一天一夜还多,记得如果第一天早上开始训练,需要到第二天下午才可能完成,这还是模型比较简单,数据只有几万条的小模型呀。
修改了模型,需要几个星期才能知道对错,确定等得起?突然有了TPU,然后你发现,吃个午饭回来就好了,参数优化一下,继续跑,多么爽!
计算速度快,才能迅速反复迭代,研发出更强的AI模型。速度就是金钱。
GPU的内核结构不清楚,所以就不比较了。肯定的是,GPU还是比较快的,至少比CPU快得多,所以目前大多数都用GPU,这玩意随便一个都能价格轻松上万,太贵,而且,功耗高,经常缺货。不适合数据中心大量使用。
总的来说,CPU与GPU并不是AI专用芯片,为了实现其他功能,内部有大量其他逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以,自然造成CPU与GPU并不能达到最优的性价比。
谷歌花钱研发TPU,而且目前已经出了TPU3,用得还挺欢,都开始支持谷歌云计算服务了,貌似6点几美元每小时吧,不记得单位了,懒得查。可见,谷歌觉得很有必要自己研发TPU。
目前在图像识别、语音识别、自然语言处理等领域,精度最高的算法就是基于深度学习的,传统的机器学习的计算精度已经被超越,目前应用最广的算法,估计非深度学习莫属,而且,传统机器学习的计算量与深度学习比起来少很多,所以,我讨论AI芯片时就针对计算量特别大的深度学习而言。毕竟,计算量小的算法,说实话,CPU已经很快了。而且,CPU适合执行调度复杂的算法,这一点是GPU与AI芯片都做不到的,所以他们三者只是针对不同的应用场景而已,都有各自的主场。
至于为何用了CPU做对比?
而没有具体说GPU。是因为,我说了,我目前没有系统查看过GPU的论文,不了解GPU的情况,故不做分析。因为积累的缘故,比较熟悉超标量CPU,所以就用熟悉的CPU做详细比较。而且,小型的网络,完全可以用CPU去训练,没啥大问题,最多慢一点。只要不是太大的网络模型。
那些AI算法公司,比如旷世、商汤等,他们的模型很大,自然也不是一块GPU就能搞定的。GPU的算力也是很有限的。
至于说CPU是串行,GPU是并行
没错,但是不全面。只说说CPU串行。这位网友估计对CPU没有非常深入的理解。我的回答中举的CPU是IBM的POWER8,百度一下就知道,这是超标量的服务器用CPU,目前来看,性能已经是非常顶级的了,主频4GHZ。不知是否注意到我说了这是SIMD?
这个SIMD,就代表他可以同时执行多条同样的指令,这就是并行,而不是串行。单个数据是128bit的,如果是16bit的精度,那么一周期理论上最多可以计算八组数据的乘法或加法,或者乘加。这还不叫并行?只是并行的程度没有GPU那么厉害而已,但是,这也是并行。
不知道为啥就不能用CPU来比较算力?
有评论很推崇GPU。说用CPU来做比较,不合适。GPU本来是从CPU中分离出来专门处理图像计算的,也就是说,GPU是专门处理图像计算的。包括各种特效的显示。这也是GPU的天生的缺陷,GPU更加针对图像的渲染等计算算法。但是,这些算法,与深度学习的算法还是有比较大的区别,而我的回答里提到的AI芯片,比如TPU,这个是专门针对CNN等典型深度学习算法而开发的。另外,寒武纪的NPU,也是专门针对神经网络的,与TPU类似。
谷歌的TPU,寒武纪的DianNao,这些AI芯片刚出道的时候,就是用CPU/GPU来对比的。
看看,谷歌TPU论文的摘要直接对比了TPU1与CPU/GPU的性能比较结果,见红色框:
这就是摘要中介绍的TPU1与CPU/GPU的性能对比。再来看看寒武纪DianNao的paper,摘要中直接就是DianNao与CPU的性能的比较,见红色框:
回顾一下历史
上个世纪出现神经网络的时候,那一定是用CPU计算的。
比特币刚出来,那也是用CPU在挖。目前已经进化成ASIC矿机了。比特大陆了解一下。
从2006年开始开启的深度学习热潮,CPU与GPU都能计算,发现GPU速度更快,但是贵啊,更多用的是CPU,而且,那时候GPU的CUDA可还不怎么样,后来,随着NN模型越来越大,GPU的优势越来越明显,CUDA也越来越6,目前就成了GPU的专场。
寒武纪2014年的DianNao(NPU)比CPU快,而且更加节能。ASIC的优势很明显啊。这也是为啥要开发ASIC的理由。
至于说很多公司的方案是可编程的,也就是大多数与FPGA配合。你说的是商汤、深鉴么?的确,他们发表的论文,就是基于FPGA的。
这些创业公司,他们更多研究的是算法,至于芯片,还不是重点,另外,他们暂时还没有那个精力与实力。FPGA非常灵活,成本不高,可以很快实现架构设计原型,所以他们自然会选择基于FPGA的方案。不过,最近他们都大力融资,官网也在招聘芯片设计岗位,所以,应该也在涉足ASIC研发了。
如果以FPGA为代表的可编程方案真的有巨大的商业价值,那他们何必砸钱去做ASIC?
说了这么多,我也是半路出家的,因为工作需要而学习的。按照我目前的理解,看TPU1的专利及论文,一步一步推导出内部的设计方法,理解了TPU1,大概就知道了所谓的AI处理器的大部分。
然后研究研究寒武纪的一系列论文,有好几种不同的架构用于不同的情况,有兴趣可以研究一下。然后就是另外几个独角兽,比如商汤、深鉴科技等,他们每年都会有论文发表,没事去看看。这些论文,大概就代表了当前最先进的AI芯片的架构设计了。
当然,最先进,别人肯定不会公开,比如谷歌就不曾公开关于TPU2和TPU3的相关专利,反正我没查到。不过,没事,目前的文献已经代表了最近几年最先进的进展了。
来源:知乎返回搜狐,查看更多
AI 芯片和传统芯片有何区别
什么是AI芯片当前AI芯片设计方案繁多,包括但不限于GPU/FPGA/ASIC/DSP等。目前市场上的对于AI芯片并无明确统一的定义,广义上所有面向人工智能(ArtificialIntelligence,AI),包括Training(训练)和Inference(推理)应用的芯片都可以被称为AI芯片。[1]
IntelNervana来源:https://www.eetimes.com/ai-silicon-preps-for-2018-debuts/
不同IC设计公司推出的应用于不同场景的AI芯片名字也各不相同,比如寒武纪的NPU(Neural-networkProcessingUnit),地平线的BPU(BrainProcessingUnit),天数的GPGPU等。
普通芯片和AI芯片架构对比
当前AI运算指以“深度学习”为代表的神经网络算法,需要系统能够高效处理大量非结构化数据(文本、视频、图像、语音等)。这需要硬件具有高效的线性代数运算能力,计算任务具有:单位计算任务简单,逻辑控制难度要求低,但并行运算量大、参数多的特点。对于芯片的多核并行运算、片上存储、带宽、低延时的访存等提出了较高的需求。
针对不同应用场景,AI芯片还应满足:对主流AI算法框架兼容、可编程、可拓展、低功耗、体积及造价等需求。[2]
AI芯片产品定位目前来看,AI芯片并不能取代CPU的位置,正如GPU作为专用图像处理器与CPU的共生关系,AI芯片将会作为CPU的AI运算协处理器,专门处理AI应用所需要的大并行矩阵计算需求,而CPU作为核心逻辑处理器,统一进行任务调度。在服务器产品中,AI芯片被设计成计算板卡,通过主板上的PCIE接口与CPU相连;而在终端设备中,由于面积、功耗成本等条件限制,AI芯片需要以IP形式被整合进SoC系统级芯片,主要实现终端对计算力要求较低的AI推断任务。
AI芯片对CPU并非替代,而是与CPU共同满足新时代计算需求。来源:英伟达官网
AI芯片应用场景应用场景1:
自动驾驶自动驾驶汽车将改变我们生活、工作以及娱乐的方式,创造更安全和更高效的道路运输。为实现这些革命性的优势,未来汽车将需要强大的算力支撑。
根据美国汽车工程师协会(SAE)将自动驾驶按照车辆行驶对于系统依赖程度分为L0~L5六个级别,L0为车辆行驶完全依赖驾驶员操纵,L3级以上系统即可在特定情况下实现驾驶员脱手操作,而L5级则是在全场景下车辆行驶完全实现对系统的依赖。
自动驾驶汽车计算单元设计需要考虑算力、功耗体积等问题,出于硬件资源最优化应用,往往采取异构计算平台设计方案,及“CPU+XPU”(XPU包括:DSP/GPU/FPGA/ASIC),其中可采取DSP用于图像特征提取任务、GPU/FPGA/ASIC等计算单元用于目标识别、追踪任务等,而CPU则会用于定位、决策等逻辑运算任务。
来源:英伟达官网
应用场景2:
移动互联网市场目前,智能手机市场的竞争越来越激烈,各厂商加大手机AI功能的开发,通过在手机SoC芯片中植入AI芯片实现在低功耗情况下AI功能的高效运行。
移动端AI芯片市场不止于智能手机,潜在市场还包括:智能手环/手表、VR/AR眼镜等市场。AI芯片在图像及语音方面的能力可能会带来未来人机交互方式的改变并进一步提升显示屏、摄像头的能力,有可能在未来改变移动端产品。
图片来源:艾瑞研究院
应用场景3:
云计算、边缘计算边缘计算(EdgeComputing)是由云计算延伸发展出来的概念。边缘计算是5G网络架构中的核心环节,是指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用等核心能力的分布式开放平台。
边缘计算可以作为联接物理和数字世界的桥梁,使能智能资产、智能网关、智能系统和智能服务。典型应用场景包括5G应用、AR/VR、无人机、医疗保健和智能交通等。
边缘计算与云计算协同架构图,来源:工业互联网产业联盟
其余应用场景还包括智能安防,智能零售,智能家居等。
目前,AI芯片发展速度虽然很快,但是现在的人工智能新算法也是层出不穷的,这样一来就没有一个具体的标准,也没有对相应的规格进行固定。
从芯片发展的大趋势来看,现在还是AI芯片的初级阶段。无论是科研还是产业应用都有巨大的创新空间。从确定算法、应用场景的AI加速芯片向具备更高灵活性、适应性的通用智能芯片发展是技术发展的必然方向。
参考:
1.https://www.graphcore.ai/posts/machine-learning-processors-for-both-training-and-inference
2.艾瑞咨询2019AI芯片行业研究报告