大数据文摘出品
整理:牛婉杨
12月1日,GTIC 2020 AI芯片创新峰会在京举办,本次峰会聚集了AI芯片以及各个细分赛道的产、学、研精英人士,共议AI芯片在中国半导体黄金时代的创新与未来。
2020年对于AI芯片来说,是充满坎坷的一年,被芯片“卡脖子”也是我们不得不面对的一个难题。因此,文摘菌在会上就特别关注了清华大学微纳电子系副主任、微电子所副所长尹首一教授的主旨演讲“中国AI芯片的创新之路”,看看我们的中国“芯”发展到了什么程度。
“AI芯片已经发展了五六个年头,现在进入攻坚阶段。今天我想跟大家分享一下我对整个目前中国AI芯片发展的梳理,概述一下今天AI芯片在中国发展创新的情况。
以下为对尹首一教授大会演讲实录的整理,一起看看吧。
芯片是人工智能时代的核心基石和战略制高点
我们耳熟能详的AlphaGo、自动驾驶、手机上面的人脸解锁、智能拍照,包括日常用的无线耳机人机交互都离不开AI芯片的支撑。
AI芯片在推动智能化发展方面有两个最核心的作用:
一是芯片的绝对算力实际上决定了目前达到的智能化最高水平,或者说今天人工智能的上限是由芯片的算力决定的。最近一段,美国微软公司联合推出的GPT3非常火,成为今年在自然语言处理里面最强大的模型。这个模型的成功得益于巨大的算力支持,有1700亿个参数,需要一万张GPU卡,没有这样大的算力不能达到今天这么高的智能化能力,绝对的算力决定了今天智能化的数据。在绝对的算力增长和人工智能对算力需求上巨大的差距,芯片平均每两年大概性能翻一番,模型的增长大概每3.4个月对算力的需求翻一番。这是绝对算力的问题。
二是,今天我们非常关注芯片的能效。计算能效实际上直接决定了今天人工智能能够延伸到的范围有多大。在很多场景底下,我们需要超低能耗的AI计算能力,比如大家用的智能耳机,我们感受到智能耳机的续航时间长短,没有低功耗高能效的芯片,难以在便携穿戴设备上支持人工智能的应用。AI产业发展成有巨大潜力的产业,全球AI市场规模据预测到2025年将会达到6.4万亿美元,在这里面全球AI芯片市场将在2025年达到700亿美金,今天中国的AI芯片市场已经达到75亿人民币。AI芯片伴随人工智能产业的发展有巨大的发展潜力,未来也有非常强劲的增长潜力。
AI芯片的分类
从应用场景角度划分AI芯片
关于今天AI芯片的分类,大家经常问AI芯片用在哪里,AI芯片属于什么类别的产品。我们可以从两个维度来对AI芯片做一个分类,最简单的可以从应用场景角度做一个划分。
大家很熟悉今天的AI芯片至少可以分成云端、边缘端两类。云端可以进一步细分成推理应用和训练应用,推理应用很多是每天都在使用的感受到的智能化服务,比如自然语言处理,电商系统里面的用户推荐系统,包括现在很多地方在建的城市大脑,对交通状况预测,都依赖于云端推理。训练自然不用讲了,今天能用到的所有AI模型训练基本都来自于云端服务器。边缘侧的应用场景非常繁多,比如手机里面的拍照,智能音箱、安防监控、智能驾驶包括各种无人系统,在终端边缘上更多使用的是推理方式。
今天我们看到在不同的应用领域场景底下都有一个非常快的成长速度,简单总结一下从2017年到2022年过去几年的发展和未来两年的预测。五年间基本上每个场景底下AI芯片的复合增长率都接近50%,综合来看差不多以55%的年均复合增长率发展。这是一个简单的维度,从应用场景的角度可以对AI芯片做一个划分。
从技术路线的角度如何看今天的各种AI芯片?
经常有朋友问到某一种芯片的架构有什么特点,有什么样的优势,今天我们听到的AI芯片概念很多,包括有深度学习、处理器、神经网络处理器、神经形态计算、类脑计算,这都是实现AI不同的技术路线,今天从技术路线的维度,把AI芯片尤其中国AI芯片的发展情况做一个简单的概述。
从技术路线角度来讲,至少可以把今天的AI芯片分成两大类,一类是深度神经网络处理器,它的特点或者作用对今天的深度学习算法里面的最核心部分深度神经网络进行计算。另一类,神经形态处理器,类脑计算归为神经形态处理器,通过对人脑结构的复制或者模仿,去实现一定的智能处理能力。
下面将从这两个维度简单介绍一下今天中国AI芯片的发展,中国的AI芯片发展起步和国际产业基本同步,我对中国的AI芯片企业做了不完全的统计,非常有限,非常不完整,挂一漏万。据不完全统计,今天在做AI芯片的企业超过100家,像我们非常熟悉的寒武纪、地平线机器人、清微智能、灵汐科技等,从地域划分来看,北京、上海、长三角、深圳、珠三角是最为活跃的区域。
按照技术路线角度来看,从深度神经网络处理器的角度做一个介绍,深度神经网络处理器里面可以实现计算的芯片从计算架构的角度分成四种不同的类型:
指令集处理器
数据流处理器
存内计算处理器
可重构处理器
无论哪种技术路线,最终目标都是实现对深度神经网络的计算加速。
指令集处理器
指令集架构的处理器可以定义为一种采用完整神经网络指令集来进行神经网络计算加速的一类人工智能处理器。说到指令集大家熟悉的CPU是最典型的指令集处理器的例子,它的特点是采用一些预定义好的定长或者变长的指令作为处理的基本单元,通过对这些指令的组合构成指令流,由指令流来完成任意的计算任务。对于指令来讲,它的基本处理过程是取值、移码的处理过程。无论是CPU、GPU还是新型的NPU都有很多成功的案例在使用指令集的方式支持不同的计算任务,通过对神经网络的计算特征抽象,构造神经网络专用的指令集,就实现了专用的AI处理器。非常典型和知名的几家企业,包括寒武纪有专门的寒武纪指令集,包括燧原科技、壁仞科技,大家在做通用GTU,这里面也会用到类似的GPU或者神经网络专用指令,通过这样的方式来实现人工智能计算。
通过寒武纪的例子简单进一步解释一下,神经网络的专用指令集处理器会是什么结构。寒武纪公开发表的电脑架构结构示意图,这里面典型的计算部件有三个NFU就是神经功能单元,分别完成乘法、加法数、激活函数三类计算,另外还有三个不同的存储单元,分别存储着输入的特征数据、模型权重、输出的数据。寒武纪电脑架构的运行受到CT控制器的控制,典型指令集的指令示例,对于存储器来讲有LOAD、READ,还有运算指令MULT,对于NBout存储单元来讲有WRITE指令。典型的神经网络就会通过这样一通指令的组合完成计算。
数据流处理器
第二类比较重要的技术路线,数据流处理器。通过数据流调度决定张量的架构,特点是优化数据复用和计算的并行度。简单的一个示意图可以看到,在典型的数据流阵列里面,会对神经网络的张量划分成不同的Tile,映射到计算单元当中,典型的数据流包括两种,一种称为WS数据流,一种OS数据流,分别对应着充分复用权重数据或者充分复用部分数据,通过不同的数据流提高数据复用的程度,减少缓存,提高计算的并行度,从而最终提高系统的处理能力和提高处理的能效。
中科院微电子所研究的FlexFlow,还有清华大学研究的STICKER,处理一个张量的时候,通常把这个张量做一个划分,切分成小的Tile,张量被分成16×16为单位的不同Tile。基本的运算示意图,在PE计算单元阵列里面,它的每行PE会共享一个权重,每列PE会共享一个特征数据。通过这样的数据共享方式提高计算的并行度,减少数据传输,减少缓存等等。
存内计算处理器
很多研究机构、创业公司还是投资机构大家都对今天的存内计算非常感兴趣,什么是存内计算?逻辑电路或者处理单元被放置到存储器的内部,以便使数据更接近处理单元,或者我们直接在存储电路中执行计算,而不进行数据传输,这个就是我们今天所说的存内计算的概念。
它解决什么问题?传统的计算架构,处理单元和存储器之间是分离的结构,在每次计算中处理单元和存储器之间要进行一定的数据搬移。存内计算的架构,把一定的存储器,把一定的计算单元放到存储器内部,在计算过程里面不需要大量在存储器和计算单元搬移数据,从而解决了今天面临的传统计算架构中的存储墙的问题。
存内计算的研究非常火热,在存内计算根据我们使用的存储器类型不同分成不同的技术路线,比如采用主变存储器RRAM做存内计算,或者Flash闪存做存内计算,也可以通过SRAM做存内计算。由于采用不同的存储器,每个芯片的特点有所差异。
RRAM和Flash存储器最大的特别是非易失性存储,以RRAM为例,为什么在存储器内我们能够实现神经网络或者一定的AI计算。在每个存储单元里面的电阻值通过电流来调节,每个单元可以调节多种阻值,典型的忆阻器的结构交叉开关的形式,每个交叉点上代表代表一个权重值,当我们进行AI计算的时候,AI计算的本质是张量×张量,在神经网络里面在RRAM里面把权重以电脑的形式存储,再把特征图以电压的形式输入到横向的存储器的自线上去,当电压施加到电阻上的时候,就有电流流过,这些电流按照纵向位线的形式自然被加强。实际上这就形成了在矩阵或者张量计算里面的乘法累加过程,把数学上面的矩阵计算转化成物理上通过基尔霍夫定律和欧姆定律形成电压和电流的关系,也就是用物理定律的方式完成数学计算,这也是今天采用RRAM、Flash的方式做存内计算最吸引人的地方,我们没有再采用传统的数字计算部件,而采用模拟的方式、物理的方式去实现计算。
除了前面提到的RRAM、Flash非易失存储以外,芯片里面用到最多的是SRAM易失性存储器,制造工艺最简单,跟今天所有的制造工艺是兼容的,有制造商的优势,可以在SRAM里面实现存内计算,也是通过模拟的方式实现数字的计算通过模拟方式实现的神经网络计算免除数据搬移,降低了计算功耗,提高了计算效率。
可重构处理器
最后一类是基于可重构架构的AI处理器,用简单的词来概括可重构架构的特点,可以说它是一种空间阵列。示意图里面计算单元在空间排成一个阵列结构,具有计算并行性。另一方面,是近存计算,每个计算单元附近有一个存储单元,这样减少了数据搬移的距离。另外具有弹性粒度的特点,通过电路上的重构提高计算的位宽,随着算法的需求变化。从结构来讲可以动态重构,最终的计算由数据流驱动。
基于这样的结构可以实现很好的特性,适配神经网络计算中的需求。比如今天的神经网络里面有一个典型的需求就是多数据位宽,我们可以通过量化的方式把神经网络量化成不同的位宽,甚至在同一个神经网络里面不同的神经层上面都可以量化成不同的位宽。带来计算速度的增加,带来计算能效的提升,计算功耗的降低,这样就可以通过可重构的方式在运算部件、处理单元、计算阵列、互连网络等方面实现分层次重构,各个层次在运算中进行协同。能够实现多元的编程机制,这样的架构可以扩展今天看到传统计算结构里面数据位宽固定或者数据流固定的不足,提升AI计算里面的能效和算力。
另外,它可以作为非同计算,架构本身是一种微整结构,每个PE都可以采用不同的预制预构的技术实现,比如前面提到的存内计算,无论是Flash还是RRAM都可以放到计算阵列里面,把近存计算的技术加入其中,使得可计算的架构更丰富,充分发挥不同计算模式的优势。
能够实现类脑计算的神经形态处理器
下面看神经形态的处理器,从技术路线角度来讲,可以分为两类,一类是实现脉冲神经网络处理器,一类是设计一些真正的神经形态系列。
很多时候大家会看到脉冲神经网络这样一个概念或者看到类脑计算的概念,本质从实现脉冲神经网络的角度来讲,实现了模拟人的神经网络中脉冲放电机制这样一套模型。脉冲神经网络本身也是对我们的人脑神经网络抽象,在实现中把脉冲神经网络里面的典型数学模型,通过链路的方式实现出来,在运行中处理器就实现了模拟人脑计算特点的功能,实现了所说的类脑处理器。
清华研究的天机芯片,除了实现了脉冲神经网络以外,通过一些电路上的优化设计,也能同时支持深度神经网络,实现神经神经网络和脉冲神经网络的二合一的功能。大家看过一段演示视频,在天机芯片上通过智能控制实现自行车的自动驾驶(超链接),这是一个非常好的例子,通过脉冲神经网络和自然神经网络去实现人工智能的功能。
设计神经形态器件,前面一种脉冲神经网络实际上还是对人脑活动的一种数学抽象,到了神经形态器件,真的去设计一种物理的器件,在物理上模拟我们的神经原的行为。比如这里面有几个例子,可以应用例子动力学逼真模拟生物突触的可塑性以及神经原的工作模型。通过物理的方式实现能够模拟人的神经原之间放电过程的器件。假如我们把大量的模拟人的神经行为的器件互联起来,就有机会制造一个非常接近于人脑神经网络的网络,通过一定的刺激能够实现一定的智能。
中科院微电子所和其它团队合作的成果,有一个很好玩的例子,通过新材料氧化铌制备,设计出来一种器件结构,这个器件结构当施加电脉冲以后,它的响应曲线和人脑神经原受到的电脉冲以后的响应曲线非常接近。大量的器件联起来,就构造了非常有前景的去实现人脑智能的系统。这就是通过神经形态器件的方式去实现人工智能计算的技术路线。
结论
最后做一个简要的总结,到今天我们可以把AI芯片的发展做一个阶段性的回顾:
尽管经过五六年的发展,AI芯片已经取得非常大的成绩,但它仍然处于起步阶段。无论在科研还是在产业上,都具有非常广阔的创新空间。
另一方面,AI从算法角度来讲,从应用角度来讲,为我们芯片提出很多新的需求,它将促使我们的集成电路去探索很多颠覆性的技术,彻底突破传统架构的性能和能效瓶颈,实现集成电路的跨越式发展。
最后,回到中国,我们的AI芯片产业创新与国际同步,我们今天可以讲中国AI芯片的技术路线是最全面的,我们的应用领域是最丰富的,伴随着中国的人工智能产业快速发展,AI芯片领域一定大有可为。
谢谢大家!
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”