本期主讲人:宋继强 | 英特尔研究院副总裁、英特尔中国研究院院长
主办方:北京大学人工智能创新中心
2022年4月20日,北京大学“人工智能前沿与产业趋势”第五讲邀请到了英特尔研究院副总裁、英特尔中国研究院院长宋继强博士,分享了英特尔神经拟态智能计算芯片领域的相关内容。
课程导师:雷鸣,天使投资人,百度创始七剑客之一,酷我音乐创始人,北京大学人工智能创新中心主任,智慧基石资本创始合伙人,2000年获得北京大学计算机硕士学位,2005年获得斯坦福商学院MBA学位。
主讲嘉宾:宋继强,英特尔研究院副总裁、英特尔中国研究院院长。宋继强博士带领的英特尔中国研究院团队提供了一系列有影响力的研究成果,直接支持和推动英特尔在人工智能与图形学,5G,智能自主系统和机器人技术领域的增长。在加入英特尔之前,他历任香港中文大学博士后研究员,香港应用科技研究院首席工程师,北京简约纳电子有限公司研发总监。宋继强博士是IEEE的高级会员,中国计算机学会(CCF)杰出会员,在国际期刊和会议上发表了40余篇学术论文,并拥有30多项专利。在中国学术界和产业界享有很高的声誉,是中国自动化学会(CAA)和中国计算机学会(CCF)委员会委员。同时也是英特尔中国首席技术发言人,英特尔中国首席工程师社区的顾问。
以下为课程筹备组整理的宋继强老师课程内容全文及 PPT。
今天要讲的内容主要有以下四个部分:
第一部分,计算芯片领域内部架构创新的基本概念;
第二部分,神经拟态计算的基本介绍;
第三部分,介绍我们英特尔自己做的神经拟态计算芯片;
第四部分,介绍这种芯片将在哪些领域发挥作用,以及它们如何能够被应用领域内的人使用;
第五部分,做一个全景的比较,看目前世界上有哪些正在进行的神经拟态计算的工作。
希望通过这堂课大家能够对这个领域有足够的了解。
Architecture Innovation
首先,从趋势说起,目前整个世界正在加速数字化转型。
数字化转型始于上世纪八九十年代PC的普及,早期由于计算力有限,大家追求准确性。到现在这个阶段不只是追求准确,还力求在内部构造能够沉浸式体验的数字化事件,比如VR领域追求的就是栩栩如生的游戏场景,这需要更高的计算量。按照这个趋势,现在这波元宇宙做起来了,在2030年左右,我们就可能看到虚拟世界中出现大量智能的化身,它们需要大量的人工智能计算驱动。同时,也将出现大量的“机器人”,它们既可以作为有形的机器人完成虚拟的事情,也可以作为纯粹虚拟的机器人来完成一些流成性的任务。当这些都成熟之后,就可以更多地进入我们的日常生活,诸如工作、交易等,虚拟经济就都在虚拟世界中完成,这对计算量的要求会更大。并且一旦将这些连接起来,对通讯、存储都会有巨大的要求。
我们将以下四个方面称为数字化转型的四个超级力量:无处不在的计算、从云到边缘的计算基础设施、泛在连接(包括手机、无线连接、有线连接等)、最后就是人工智能,人工智能技术已经成为生产力,而构造数字化底层的基础设施就是芯片。
从芯片的设计架构或者功能特点来讲,至少有以下几类,我们称之为XPU,X代表有很多种。CPU,最通用的计算机芯片,其设计的颗粒度最小,是标量处理器,很灵活但运行度和模块性都不高。GPU,多媒体时代发展而来,因为很多图像处理都是矢量数据,GPU就是做并行计算的。AI,深度学习,基于卷积核的操作,它的计算单元将矩阵运算作为基本构成。FPGA,可以在其内部定制数据和各个方面的连接存储,是稀疏型的,可以定义各种非规整的运算连接。
接下来看看跟AI相关的智能芯片的发展,它得益于两方面的进展,分别是半导体方面的创新和架构创新,今天我们主要关注它的架构创新这一部分。
在架构层面有很多不同的概念。橙色的是一些不同的处理器架构,比如冯诺伊曼架构、非冯诺伊曼架构、哈佛架构,还有各种PU,比如DPU、NPU、GPU,我们通常是根据它们所支持的应用领域去定义名字。比如VPU支持视觉运算,BPU支持数据的程序编译GPU,CPU是中央处理器和图形处理器,ASIC是固定的硬件加速器。
因此在架构层面有很多种不同的设计方法,其不同的设计方法所带来的性能、功耗、灵活度也都是不一样的。比如ASIC,它可以深度优化计算单元,性价比最高但也不好改动。如果要灵活度更高的需求,有FPGA,它可以根据需求的变化改造内部的硬件设计,因为其具备预先准备好的计算资源,可以通过重新连接它们来改变其功能。GPU和CPU则是将资源都设计好,不能做直接更改,但是可以通过软件编程来改变它的工作方式,具有较高的灵活性,但由于GPU内部计算资源过多,它的功耗也相对比较高。
在AI的商业化应用中,通常有两类组合方式。图上右边这种简单的小型化使用场景的功耗要求较为严格,是采取CPU+ASIC的方式来完成智能化功能,比如自动驾驶有多个任务,就需要组合起来完成。
Neuromorphic Computing
Introduction
神经拟态计算不同,它是根据人脑神经元的解剖结构来模拟人脑的功能,从仿生的角度出发定制设计硬件的组成元素。左图是神经元连接的形态图,右图是功能的抽象图。神经元收到输入信号,在做完累加之后向外放出脉冲传递到下一级神经元。
在这个硬件的设计框图中,我们可以看到它很好地模拟了这种结构,通过突触部分可以学习、累加、反馈。传递信号多的话,也会加厚它的连接。在这个设计中,看不到传统的加法器等等,看到的是一种类似于神经元结构的架构,这就是神经拟态计算。
我们看看神经拟态计算带来了什么价值呢。第一,它做了非常细腻的并行后有大量的输出,可以形成很大的网络来训练和学习一些能力。第二,它支持不确定性的存在,符合人的处理模式。第三,它会考虑不同脉冲之间到达时间点的差距,并将其作为计算的参数。第四,正如前面提到的,它会根据数据情况增厚和简化,具备自适应能力。
总结一下三种不同的计算模式。
第一种,传统的标准计算模式。完全由程序员操控,形成解决问题的模型,很有用并得到大量的使用。
第二种,深度学习。构造神经网络,依靠训练路径和参数来表征和解决问题,它是基于数据训练出来的模型,要做大量的并行计算,需要大量的数据。
第三种,神经拟态计算。不需要大量数据,模拟人的自适应性,使用持续调整的学习方式,同时也使用模型或者网络来解决多种不同输入的识别问题或判断问题。我们希望实现在一个神经迭代计算的网络里,可以分别有负责不同功能的部分,就像人不同的脑区有不同的输入并互相影响一样。
Intel Labs Neuromorphic Chip
——Loihi
接下来我们再介绍2017年出来的这个新的计算架构的主要特点。
我们在一个芯片里设计了128个核,每个核有1024个神经元,每个神经元又和其他神经元发生连接。在这个芯片上一共有130万个神经元,有1.3亿的突触,把它们互相连接起来。其数据输入的工作方式模拟了神经元的工作模式,是基于脉冲神经网络的设计,同时,它像路由表一样,发消息包而不用真的硬连接。
经过四年的发展,现在已经有了Loihi2代,而它有哪些新的能力呢?首先它的制造工艺提升有了10倍的加速。同时,在一个核内设计了比以前多8倍的神经元,现在是8K的神经元。在新工艺的支持下,其尺寸只有原来的一半,并有可能放进更多的芯片形成节点的系统,因此,神经元的编程能力也更强了。同时,脉冲有了更通用的表示,学习能力上也加入了第三因素,在反馈里增强,其提高了学习的训练效率,现在也支持在数值层面做链接。
这就是刚才所提到的,核的数量更多了,里面的微处理器也比以前多。CPU里的任务调度、与上层的通信、与外部的连接、多片互联方面都比以前做得更好。
这幅图是尺寸缩小的具象认识,我们可以清晰地看到它比以前小了一半,从正方形变成了长方形。比起以前只能多片集联来做平面连接,现在可以在垂直方向六个方向上做扩展,其改善使得在同样面积上支持连接更大量的芯片,也支持了研究人员做更大量的类脑计算实验。
增加了新的神经元发射模式,现在可以用复数来表示输入的量,更好地进行信号处理,可以完成共振发射,带来应用方面的创新。
新的芯片的出现,也会推动新的算法的开发以及应用的开发。目前尚未出现完美的通用框架,我们希望可以从现在这些不算完美的框架基础上能提供更高的整合开发的能力,虽然事实上软件框架的能力已经够了。
在新的框架之下,主要有三个特点。
第一,多范式。支持多种类脑计算常用的科学问题的实验。
第二,多抽象。即多层的抽象,一方面它支持用传统解法来做,另一方面也可以通过类脑计算的多重抽象方式。第一层级,用神经的process构建行为模式。第二层级,如何构建互相连接的神经网络。第三层级,如何落实到具体的硬件上,将这个神经元的模型设计进去。
第三,多平台。在实施时,支持多种平台去执行运算功能,即它的问题处理框架中整合了多个平台。
新的硬件也需要一套好的软件,我们现在有英特尔的Lava软件栈。上面是一些开放的社区,右侧是一些必须要使用的开发调试过程的工具,然后下面是三部分工具,也有第三方接口和其他常用开发框架对接。最下面就是与具体的静态计算硬件的对接,有了这层接口,编译器可以去根据硬件的组合特点去产生相应的硬件实施方案,这是关键的核心能力,需要不断跟随硬件升级。
人脑在进行感官感知的时候是分层的,包括嗅觉、视觉、听觉、触觉和味觉,这些是我们的感知系统,它其实也是一种由神经系统构成。真正处理它们都是在不同脑区,不同脑区的大脑皮层至少就分成两层了,感知层和处理层。
举例说明,最近发表在Nature子刊上的通过仪器硬件处理嗅觉的方法,就是软硬件结合把嗅觉功能模拟出来,它能够识别十种不同的气味,非常准确,并且功耗很低。嗅觉系统包括几层,首先是传感器——嗅球,就是各种各样的这种对化学气体感受体,感受体经过一些预处理后进入外围知网,对一些信号在神经回路做处理,最后把这个结果送到皮层去做最后的处理。如何把生物结构变成能够在一个神经形态计算芯片上实施的方案呢?
学校一个团队跟英特尔的团队一起联合做这个实验。左边有一个气味发生源,在一个腔体里面有气味传感器去识别气体分子,把它采集到的信号变成脉冲送到右边的处理部件去,在集成的硬件里面进行感知层和识别层的处理过程,并且识别精度有比较高的要求。这里有两类的神经元,MC是僧帽细胞,GC就是颗粒细胞,它们互相作用完成识别过程。
知道了这个过程,我们再看看怎么样去进行训练。MC会产生出很多脉冲把它发射到GC去,针对不同的气体分子产生的不同的脉冲,还要能够训练出不同的模式做快速判决,并且整个输入过程是高噪声的。为了保证在这个情况下能够分辨气味,最大的要求其实就是训练出这样的一个前面提到的分层网络结构,把它信号里面的一些吸收特征提取出来,这里用了兴奋刺激学习规则,其主要的效果其实就是在输入信号它的延迟阈值上面去做一定的调节,只收进去效果最好的脉冲,反复迭代,这样两条链路就被训练的越来越粗了,下边这个就比较明显变成尖峰,可以比较好的在噪声情况下把真正的信号过滤出来。
除了抗噪能力,必须还要有很好的避免遗忘的能力。通过调节不同细胞之间在输入方面的一些关系,能够让他们在合适的时间把需要激励的脉冲发出去,后边的神经元能够在相应时间里进行数据采集。这其实模拟了类似于人类神经震荡的一个模式,叫伽马节律,它的有效性在于它是可以比较好的去调节这些不同细胞和神经元之间的前馈反应。另外,还需要通过反复的迭代去训练出一个好的抑制机制。当然,开始的时候噪音还是挺多的,只有比较少量的MC可以发出正确的脉冲,但是也能够激发GC产生正确的结果,之后进行抑制效应的迭代,从而逐渐训练出来让更多的MC可以去发出正确的脉冲。
这是从原来的学习机制启发出来的,把它放在算法和仪器上去实现,因此这是一个非常典型的工作。通过这样的一个机制,其算法获得最后的这个成果,模拟EPL这一层比其他算法的精度要高出很多,可以达到92%,同时和深度学习使用大量数据去训练不一样,它只需要十几个数据就行了。另外,学了一个新的气体之后,它不会像深度学习这种模型把旧的气体忘掉,所以通过好的学习模式可以形成抗遗忘、抗噪声的这样好的机制。
接下来再来讲大家更熟悉的触觉。我们人身体上是遍布触觉传感器,但真正使用的时候通常只是一小部分在使用,但是很灵敏,能够感受到很多比如说压力、滑动等。怎么样能够用类似于神经的方式去实现触觉的传感器完成识别?右图就是展示了手指上的触觉神经元是通过更粗的一些神经传递到触觉皮层,而后让它做触觉各种功能的判断。
具体的案例首先是传感器。它早期是通过一些各种各样的金属片形成一个阵列从而来做触觉的信号采集。初期是同步模式,就是在一定面积上同时把信号采集进来。但数量做多了之后效率很低,而且不需要全部去采集,就变成异步模式。虽然触觉传感器的量很大,但是只在需要的有真正触觉产生的位置才把数据传出来。这就是典型的事件驱动。
上图这种传感器的特点是做了一个有好多个不同的感应区的金属片,模拟人手指头的感应区,在不同的压力下电阻会有变化,通过检测电阻变化来检测位置有没有接触到东西。如果要做这样的触觉感知加上识别系统,那就不光需要有触觉的感受器,还要有它后面识别、计算的硬件。
这是一个把视觉和触觉融合的例子。底下是前面展示的触觉传感器,上边加了两种不同的视觉传感器,一种是普通的RGB,就是现在常用的彩色的摄像头,另外一种是事件相机,它很高速,但只有有光强变化的时候才去产生事件序列,帧率就很高。
把这些都输入进来之后在这里做了一个融合网络的设计,有一层是专门把它们整合起来,再去做相应的任务判别。这个任务目前可以是识别滑动。结果发现,如果把视觉和触觉这两个脉冲神经网络整合起来以后,那就比原来单独的触觉或者视觉有更高的准确度。
这是中科院自动化所做的一个触觉传感系统,它用视觉能力去做这个事,具体是用一个硅胶半圆做外壳,内部有一些点标记,当外壳被按下去的时候里边的这些标记也会发生位移,因此里边的摄像头就被挡住了。这样它就可以用一个双摄像头去检测位置和深度的信息,从而判断到底这个压力有多大、在哪里。
这幅图就更清楚地展示了,相关工作我们现在也是跟他们在合作的。他们在前端做传感器部分,我们在后端看怎么样才能在一体的硬件上用SNN模型训练出一个较好的网络来做滑动的识别。
最后我们讲视觉。光进来之后到视网膜,上面有很多视觉细胞的受体,比如视杆细胞、视锥细胞,在不同的光强下响应,有的识别彩色,有的不带彩色,这就形成了不同的动态范围反应,而后再把这些反应以输入脉冲的方式传递到大脑视觉皮层去处理数据。
现在如果想把视觉传感器做的帧率非常高,又能够以事件的方式而不是以RGB彩色的方式传输的话,也有不少方案。事件相机是动态视觉,它主要是对每个观测像素点强度的变化去收集反应,像青蛙的眼睛一样。所以并不是所有的信息都往后送,没有事件产生的时候这里面就没有信号输出,这样事件相机的帧率就可以做的很高。
另外一种做法是黄铁军教授做的视网膜相机,通过检测光子流的方式去产生输入脉冲。它里面有好多不同的位置点,会定位产生光子比特。当光的强度累积到了一定阈值的时候,它就会往后发出一个脉冲,之后降为零。当某个位置光强较强的时候,它就会持续不断地产生脉冲。如果这个位置光比较弱甚至没光的时候,脉冲之间的间隔就会很长,甚至就不产生脉冲。在整个处理过程中会持续不断地产生光子流再去做相应的处理,比如做运动识别、形状识别,帧率可以达到数万帧。
这个视频是在高帧率下拍把一个带水的气球给戳破,它把这个过程还原得特别长,因此输出的数据量其实也很大,但实际上很多时候不一定需要这么高的帧率,因为它对后边做任何识别的处理也都会有很大的压力,所以对于计算的硬件来讲要设计很好的计算处理结构去支撑它。
最后看一下目前世界上有哪些做的比较好的神经拟态计算的硬件。美国是斯坦福大学的Neurogrid和Brain drop做的比较好;IBM是五六年前做的TrueNorth不错;欧洲是Spinnaker和BrianscaleS还在非常活跃的进行着;中国是清华的天机和浙大的达尔文在类脑计算方面都有着硬件和其应用。
这是一张对比表,因为不同的硬件拿到最新的开放数据的时间点不一样,所以这不是一个直接拉平的时间线对比。图上有用传统的处理器连接起来模拟神经计算架构的,也有清华天机这种混合架构,其既有神经拟态计算的一部分,又有专用的硬件结构,例如深度神经网络的设计。现在最新有发布做到了比较大的1亿级别的神经元,是一个大的机会。
图中的参考文献,大家如果有兴趣可以去看看。
生物智能来源于自身感知系统,对软件信息的获取通过神经系统传送到大脑进行处理、决策和控制。我们的行动受生命体的启发,一直在探索把生命机制实现到电子系统中来。
英特尔神经拟态计算研究社区是从17年开始逐渐搭建的,这个方向是一个比较前沿的一个学术领域,目前还没有到产业化,也算是一个很典型的跨界学科,所以大家感兴趣的话可以在这些方面多了解一下去做一些探索。
下一讲内容预告
主讲人:晶泰科技联合创始人赖力鹏博士
主题:人工智能药物研发的行业观察与企业实践
时间:5月18日(周三) 晚上18:40--20:30
地点:北大理教306教室