主讲人:宋继强 | 英特尔中国研究院院长
主办方:北京大学人工智能创新中心
媒体合作:量子位
【视频回放合集】
https://c.m.163.com/news/s/S1521443845851.html
周三晚,北京大学“人工智能前沿与产业趋势”第四讲,本期英特尔中国研究院院长宋继强授课主题为“人工智能的丰富应用与芯片发展”,分享计算硬件与AI芯片的发展现状及趋势。
课程导师:雷鸣,天使投资人,百度创始七剑客之一,酷我音乐创始人,北京大学信科人工智能创新中心主任,2000年获得北京大学计算机硕士学位,2005年获得斯坦福商学院MBA学位,同时也是“千人计划”特聘专家。
主讲嘉宾:宋继强,英特尔中国研究院院长,于2008年加入英特尔中国研究院任清华大学-英特尔先进移动计算中心应用研发总监,是创造Intel Edison产品原型的核心成员。领导研发了基于Edison的智能设备开发套件来促进Edison技术在创客社区的普及,发明了称为交互式瓷器的新的设备类别。他目前大力推动基于英特尔技术的人工智能技术、智能机器人交互技术和智能基础设施研究。
人工智能的第三次浪潮
这次人工智能的兴起是第三次人工智能的热潮,跟前两次很相似:先从学术界突破,发现人工智能在某些方面能够比人做得强,再去产业界落地应用,而产业的应用只有在能够大规模地落地之后,才能真正地用产业来推动研究,才能形成一个正循环。前两次热潮过后进入了冬天正是因为没有完成这个正循环。而这次拥有绝好的机会,我们非常有信心可以通过各种各样的应用,通过芯片方面的探索,把这波浪潮持续下去,持续十年二十年甚至三十年。
人工智能的定义有好几种,其中一种被大家广泛认可的是:让一个算法、系统、或者机器,通过模仿人的智能的方式来对外界的输入产生反应。也就是用人工的算法、程序模拟人的反应。
人工智能里面会涉及到很多学科,比如神经学。研究范围也很广,涉及计算机视觉、自然语言处理、专家系统、控制系统等。
当前人工智能发展的重点
人工智能现在发展的重点,从应用层面出发,应用价值最大最广的,应该是无人驾驶、健康医疗这种覆盖面很广的应用,因为它和每个人的日常生活都息息相关。此外,像零售金融这种应用,虽然日常身边不会有很大的感受,但实际上在淘宝或者京东的业务里面已经有很多人工智能的应用。金融上,某些银行的理财服务,会根据客户情况,自动推荐一些理财服务给你,这就是智能投顾。
算法方面也仍然需要持续不断地提高。
一是用比较成熟的深度学习、深度神经网络的算法加上一些别的算法——基于知识的、基于模型的或者基于推理的,来弥补现在神经网络算法的不足,让它能够更好地满足业务的可靠性要求。
二是考虑部署成本,在保证效果的同时,怎么去减少资源成本。在硬件方面,这是非常重要的。还在科研阶段的时候,我们可以用各种方式做模拟、做算法验证,但到了部署在真正场景的时候,需要考虑到各个场景里需要资源的功耗、体积、价格要求等等。而芯片是基础,不同领域对芯片的要求也不一样。
从应用的角度来看,我们可以期望人工智能在很多方面都带来体验升级。除了现在帮助我们在看世界、听世界等这些方面达到提升之外,在最后希望可以放心地把一些决策都交给人工智能。无人驾驶就是一个典型例子,就是人类在开车时把很多决策都交给了人工智能。虽然这里面涉及到信任度、安全性等很多问题需要考虑,但前景是很好的。
如何看待人工智能
现在对人工智能一直有两种声音:乐观的和消极的,那么对人工智能应该怎么看待呢?我个人非常赞同Rodney Brooks的观点:AI和人对立在短期内是不会发生的,通用性也不会达到人的水平。举个例子:现在AlphaGo很牛,下围棋下得很好,但是它下军棋肯定下不过一个小孩,换一个领域它就更加不行了。
Rodney Brooks是人工智能行为学派的杰出代表,他参与创建了iRobot公司。行为学派不关注具体的算法、不关注模型,它关注每次迭代都有一个完整的系统、能够在真实的环境里完成一定的任务,所以他们也可以说是系统优化学派。
他认为人工智能在近十年主要在两大方向能给人提供最大价值:第一,五年左右(Rodney Brooks说这话大概在前年左右),人工智能会在辅助驾驶和自动驾驶方面带来很大的价值;第二,让机器人来帮助我们解决社会的重大问题,比如养老。
这次人工智能碰上了好时代
计算力的重大突破
为什么说这一次人工智能的浪潮碰上了好的时代呢?因为这次人工智能赶上了计算力的重大突破时期。计算力的突破主要靠最近这十年摩尔定律的发展,连深度学习这么耗时的计算都能让它在有限的时间内完成训练迭代,以达到可用的水平。
算法上的创新,加上很多资源的支持,参与的科研人员也非常多,这个事情就会发展得很快。到2020年,预估对AI计算力的需求会增长12倍,这个是在17年预估的。而这大部分会在数据中心增长。
AI的普及
现在很多AI仍然在To B的业务里面发生作用,比如金融领域、零售领域的后台、搜索网站的后台、新闻网站的后台,有很多AI算法在工作,如果它能够很顺利地往医疗、个人日常生活发展,就能够普及。这个普及的要求是性价比要高,这对算法、芯片都提出了很高的要求。
未来AI会在四大方面发生作用
对于AI能够在哪些方面发生重大作用,我们有一个总结,有四个方面:
第一是加速。
深度学习
深度学习在图像识别、语音识别上应用使其能力变得很强,在某些具体领域甚至超过了人。这里面的加速在哪里?它可以在某些方面代替人去做事。
举个电商的例子,电商的后台有很大的压力,特别是双十一、618这种特殊时期,会有上传大量的交易的图片、数据,而这些图片都需要被检查,检查其中是否有一些敏感、不当的内容,这些工作靠人是很慢的。Intel和京东在前年双十一合作过,用前年的技术就可以在图片检测上提升4倍,在图片版权保护应用上也有2倍多的提升,这就是完全替代人来做。
视觉的处理
对于视觉理解,现在人工智能算法可以识别一个图像里面有没有人、有没有车等等,但是我们希望识别以后还能够理解这里面发生了什么,这样才可以替代人去做更多的事情。
人实际上是从很多种信息中去获取一些感知、理解所需要的元素,视觉是一方面,声音是一方面,配合视觉里的文字——这种高度语义的线索,这些都结合起来还需要加上一些先验的知识。
比如一个无人驾驶的车,这个车要眼观六路,不同地方发生的事情要有不同的线索去理解,所以算法也要针对不同位置,不同时间发生场景进行描述。
上图图片底下的文字和视频内容的匹配,都是计算机程序自己产生的。不同场景会产生不同的说法,有一些描述不那么美,但信息都在,用这个信息就可以对视频进行场景分析。
第二是探索新领域。
举个例子:探索太空,每天科学家都会收集到非常多的来自太空的探测数据,这些数据杂乱无章,如果靠人去分析,工作量很大,但是如果建立一个模型,把数据导进去,或许很快就能够发现其中的端倪。
灵感
从人脸这个角度来分析,人脸是做算法用的最多的。首先看看跟艺术挂钩,比如风格转化,给定一张商务照或者标准照,再拿一幅画,对肖像里面各个部位进行很好的区分理解,并且把相应位置的一些风格特色提取出来,然后把它映射到这副画上,形成风格迁移。
还有二维进到三维,在二维里能够实时把人的轮廓、特征点检测出来,并且有办法把它映射到三维人脸上去,那么就可以用训练出来的这个三维人脸的模型去基于二维图像中的人脸做任意的叠加、变形和特效。
第三是扩展。
比如说对听力不好的人,可以转换成视觉信息来补足。通过智能翻译扩展人的外语能力。还包括制作外骨骼来帮助不能走路的人,等等;
增强
增强这一块,举一个关于衣服的例子。左边这一件叫蝴蝶衣,这件衣服中用了一些超小型处理器放在小的蝴蝶里,这些蝴蝶停靠在衣服里,当它检测到人的一些特殊生理信号时它就可以飞起来。这是一种非常好的展示,可以给服装增强时尚的魅力。
第四是自动化。
机器人、自动驾驶、无人机,这些都是在帮助人完成一些受体力限制,或者肮脏、有毒等一些环境不好的任务。
机器人时代
自动化是跟机器人时代有关系的,过去的时代我们统称为计算机时代(CT,Computer Technology)为主,然后到了Robot Technology时代,它需要在计算机时代里增加几样东西,感知能力要提升,所以有很多传感器技术要加上人工智能技术去帮它感知外部世界。
认知这个部分很重要,感知进来以后要知道发生什么,就需要认知,认知这方面对人工智能的挑战是最大的。下一步是执行,执行层面是借用以前机械电子这方面的积累,把它们都结合起来,让它们和人互动,形成一个交互的闭环,这样才能很好地把一个机器人技术串起来。
不管是无人车还是服务机器人,它们都需要把这个闭环做出来,都是要从计算机这样一个系统架构下增加这三样技术。
人机交互方式也需要有比较大的改变。现在我们的判断是这样:目前我们已经过了智能这个阶段,现在在朝着自主方面去进军。从智能到自主,我们需要有更多的传感器数据。但是数据多了,响应的延迟还不能放松,仍然需要保持很快的响应速度,所以对于计算的要求进一步提高。
同时还要考虑,有这样的计算要求、延迟要求,那设备是不是有相匹配的负载能力、电池能力。如果没有,怎么样能够利用外部的能力去达到?所以问题归结为:在设备端放多一点还是云端放多一点?
我们有更好的方案:在中间加入一层叫边缘计算,也就是可以在很靠近终端设备使用的场所的基础设施里加入计算和存储能力,称为边缘计算。边缘计算的好处是:离设备近,并且仍然具有数据中心里服务器这样的计算、存储能力;而因为离设备近,我们可以享受到5G带来的超低延迟。
大家对机器人应该有不同的理解。对于我们来讲,它需要有一个物理形态,虽然也有很多没有具体形态的聊天机器人存在于智能客服,但是物理形态的会带入更多的价值。这么多的机器人里,如果去对它们的智能程度进行分类,到中级是需要有一定的自主移动能力,高级的要有感知交互能力而且要比较强。
如果把机器人放到一个很大的消费市场中来讲,那一定要到家用的智能服务机器人这个级别。如果要做到家用的话,至少要在外观和能力上达到上述图片中的要求。
AI芯片
发展
市场上对AI芯片的要求很不一样:有的是做推导,有的是在后台做训练。那AI芯片有多少种呢?通过对上述芯片常用词的一些解读,来简单介绍一下。
摩尔定律是1965年提出的,53年的过程中,前面的30年,芯片渐渐地从很低的处理能力水平慢慢的提升,在最后的20多年,芯片从量变到了质变。到现在,很小的芯片可以做很强大的事情。
所以最近的15年,芯片发展非常关键。从2000年以后,经常有怀疑:摩尔定律是不是要死了?但是Intel一步步的将这个定律推了过来,特别是45纳米和22纳米,这两个节点推过来,真正是帮行业向前推动了一步。
目前来讲,计算能力上升,同时伴随着成本下降的趋势非常明显。摩尔定律正是说了这样一个规律:每隔18个月,单位成本可购买的计算力是翻倍的。这20年间,单位成本可以买到的计算力翻了15000倍;存储翻了30000倍。因此,这就是为什么我们说AI在这个时代是可以大肆发展的时代。
种类
AI芯片,大致可以分为CPU,GPU,FPGA,众核,ASIC和神经元芯片。其中CPU和GPU是我们常接触的:CPU是计算机中的中央处理器,GPU是专门用来做图形的加速,有内置在CPU里面的也有单独的。
FPGA是什么?FPGA是一种介乎于ASIC和CPU之间的一种芯片架构。它提供了可以被重新组织的门电路,在此基础上运用组合逻辑去实现一些功能,或者实现一些时序逻辑,把处理能力串联起来,通过硬件实现的方法把程序写到FPGA里。它的工作效率比CPU更高,因为它是专门为某些应用定制的硬件加速。FPGA还有一个好处:可以很方便的去定制一些IO接口。
但是,FPGA比ASIC要贵一些,因为ASIC是把功能固化了,生产批量大,比较便宜。比如,电脑和手机看高清视频,就用一块ASIC做编解码,但是这个芯片只能用来做这一个功能,一旦这个标准向前迈进,要使用一种新的技术,芯片就不能用了。FPGA的好处是:还可以重新再编写硬件功能,把它烧录进去,就可以支持新的应用。
FPGA需要用一些硬件编程的方式去实现功能,而CPU、GPU不需要,只要软件编程就搞定。
架构
关于架构我们刚才介绍了很多,比如冯.诺依曼架构,哈佛架构,非冯架构等,什么意思呢?其实就是指计算机中处理器和内存是分离的,指令和数据都是放在一起的,通过总线,把指令拿出来解码或者读写数据,大家是公用内存块和数据总线。
哈佛架构是把数据和指令的内存块分开了,取数据和取指令相互之间不冲突,效率更高。它会用在更多的诸如DSP还有一些要求功耗低,实时性强的嵌入式处理器里。
非冯架构,即非冯.诺依曼架构,就有很多种变种。最大的特点就是,不再把计算单元和存储单元分开,而是交织在一起。比如我们做ASIC的时候,很多时候不会去遵循冯.诺依曼架构。想在哪里放内存,靠近计算逻辑,就怎么放。就类脑芯片更是这样,计算和存储放在一起。
用Google的TPU来解读一下ASIC实例。右上角这块黄色的,专门用来作矩阵的乘和加,不能做别的,是专门设计的,非常快,所以它的效率非常高。里面有很多存储(buffer),也都是按照需要放的。
我们脑子里不会专门有做矩阵运算的地方,也没有专门有一块专门存某些算法的权值。因此,很多AI的加速芯片被称为脑启发的加速芯片,就是它里面的算法利用了人工神经元的简化结构,但是算法实现过程中和脑的结构和工作方式差别很大。因此,它只是受到脑科学的一些启发,最后实现的时候不类脑,所以我们称之为脑启发。
类脑是什么呢?类脑是指按照脑的结构设计芯片的架构。左上角是一位神经科学家手绘的一张脑里面的神经元的图,神经元有一大堆的突触,突触是它接收信息的地方。然后在神经元里面累积一些电刺激,累积达到一定阈值就会顺着这个轴突去放出一些信号。轴突是输出的,输出可以连接到别的神经元的树突上去,这样就构成了很大的一个网络。
类脑芯片的结构就是这样做的。下面的图是神经元的电路结构。输入部分是突触,突触这里面有一些树突结构的处理,这儿会用到一些学习机制来学习,再把学习结果反映到神经元的参数里。因此,它就是模仿人脑的设计,叫做类脑芯片。
分类对比
这么多的芯片,如何分类对比呢?CPU和众核处理器都是比较通用的处理器,适应性最强,靠软件变化来适应不同的任务。
GPU有约70%的灵活性,它基本上还是与处理图形绘制流水线和大量并发数据任务为主。FPGA适应性弱一些,不太适合做灵活的程序跳转,能适应一些运算规整、并发性比较好的任务。ASIC适应性更弱了,一旦做成了ASIC就会适应性非常小,除非设计时留了很多余量,能够通过软件来控制各种模块执行的状态。
部署成本方面,众核、GPU都偏贵,耗电成本也比较大。ASIC性价比最高,因为它是专门为一个任务设计的,多余的东西都不需要,所以成本最低,但研发成本较高。
近期的AI硬件解决方案的趋势方面来说,很明显要用异构的架构去支持。对于复杂的应用,我们可以选择用CPU+FPGA/GPU/ASIC做相应的方案;对于一些简单的应用,一般用CPU+ASIC最方便,比如智能音箱会专门做一个ASIC。虽然这个芯片只能做这一件事,但是这就够了,成本很低。再配上一个小的CPU,这件事情就可以做起来了。
所以AI芯片的使用模式会从最开始几年在学术上竞争的推动,到真正要落地到不同需求的实际场景,这是一个很明显的改变。判断一个AI芯片是否好用,一定要放在一个应用场景里去考虑。在这个应用场景里,考虑具体需要解决什么问题,加上部署的场所对功耗、体积、价格的要求,最后会形成一个对AI芯片评价的指标。
所以不能抛开应用场景、部署条件、解决问题这些角度去看AI芯片。AI芯片是一个很大的概念。
AI芯片的未来
最后,为大家介绍一下AI芯片未来会怎样。
刚才讲的AI芯片都是加速某些特定的应用,主要是机器学习方面的,机器学习的特点是:数据很多,可获取到并且可以标注,不同种类的数据分布可以对应于问题的实质。即样本里的分布代表着我的这个问题中的答案的分布。
如果说,这个问题里有一些隐藏的东西,比如场景中的一些知识,假设,在深度学习里标不进去怎么办呢?举例来说,一个小的台面有4个腿,它在有的场景中是凳子,在有的场景中是茶几或桌子,不在具体的场景中,很难说它是干什么的。所以这个时候需要自然智能进行场景推理。自然智能对于人来讲,是一个非常简单的事情,而机器学习则比较困难。因此必须要在人工智能研究中加入自然智能,还要让它从少量的数据中慢慢学起来。
传统编程方式是对问题找到解决的过程,然后编程实现。深度学习帮我们解决的是传统编程难以解决的问题。比如,我们都能识别人脸,但是识别人脸是一个怎样的流程,用怎样的程序编出来呢?这个工作学术界研究了十几二十年,也没有找到特别好的办法,而深度学习帮助我们突破了这个事情。
所以这就是,已经知道答案,通过训练把这个过程用一个模型去表示。但深度学习工作的方式和人脑不一样,首先是同时缺乏处理多种任务的能力,其次是没有持续学习的能力。我们下面介绍的神经拟态计算可以支持人的学习方式,其通过对于多种过程的支持来自适应地强化对于答案的匹配。
最后介绍一下LOIHI。这是第一个自我学习的芯片,属于类脑芯片。正如我们刚才所讲的类脑芯片的架构,它可以解决一些当前的深度学习不能解决的问题。比如,一些稀疏编码、词典学习、动态学习适应结果的一些问题。这种神经拟态芯片的一种好处是:它直接受到摩尔定律推动的加速的效应;同时,这款芯片还可以同时支持多种事件驱动的学习模式。
LOIHI是非常同构的扩展,每一个cell里都可以放很多神经元,每个神经元都和其他神经元有连接,这是一个片上的网络,如果有一个脉冲过来,比如我在看图像,听声音的时候,这个脉冲就会发送到神经元中,通过树突。如果这时候里面存了一些能量,再通过这个脉冲送进来的能量一加权,达到了一个放电的阈值,它就会放出这个脉冲,通过它的轴突送到了其它连接的神经元里。
这样就会形成一个网络学习的效应。当然我们需要在上面做一些算法和网络设计,把不同的神经元代表的含义放进去,这样就可以开始学习了。这就是目前最新、也是技术很领先的异步设计的网络。这个芯片在去年底已经在我们美国的实验室中流片回来,可以正常工作,现在已经开始软件和应用方面的合作探索。
Q&A
神经拟态芯片应该是一个比较新的一种尝试,这个芯片整个是构成一种比GPU更加先进的,未来用来做通用计算的一种芯片么?
实际上是朝着通用计算的方向在做,因为这个芯片是模拟人脑的结构和工作方式,提供了硬件的基础,在这个基础上,可以去试验各种应用在上面如何去做。它的特点是根据你在上面放的网络功能和互相连接的方式不同,能做不同的功能。
还有一个特点是功耗非常低,它是异步电路,每秒运行100Hz上下,和人脑真的很像,运行功耗很低。而GPU则是全部是一起运行的,针对具体的应用在加速,所以这两个差别还是很大。
我们知道GPU的崛起是因为深度学习起来之后,它在整个的真实场景的应用下性价比效能超过了CPU,现在我们从某种程度上来看,您提到这种新形式的芯片,有没有已经在一些我们看到的既定任务上他的性能已经表现出非常好的前景呢?
我们已经在一些实验上已经看到了很好的潜力。我举两个例子,我们做字符识别的时候,可以用很低的功耗,很少的训练和迭代就可以完成这项工作,这比深度学习要运行在很大系统上训练,要快很多。第二,它有自己学习新东西的能力。因此在这个芯片上不区分训练过程和识别过程,是融合在一起的。