Noseparte 2018-09-21
记者 | 非主流
出品 | AI科技大本营
9 月 12 日,英特尔与南京大学宣布成立英特尔-南京大学人工智能联合研究中心,双方将在人工智能技术创新、人才培养以及生态建设方面进一步加强合作。英特尔中国研究院院长宋继强、南京大学人工智能学院院长周志华等人参加了此次揭牌仪式。
会后,周志华和宋继强这两位同窗 9 年的南大校友接受了AI科技大本营等媒体的采访。以下是采访实录,AI科技大本营整理。
▌双方合作的意义
问:英特尔为什么选择和南京大学合作,有什么渊源或者契机?
宋继强:英特尔的核心业务是做硬件,主要是芯片产品,在往上是一层层的软件的堆栈。因为硬件的设计周期很长,需要预先知道哪些潜在运算的模块是非常重要的。通过跟各个产业和学术界建联合实验室,运行他们认为比较重要的或者前瞻性的一些工作负载(workload),可以给硬件架构的设计提供很好的指导。学术界专注于某一些具体算法的性能指标,比如准确率和计算效率,而工业界的联合实验室那么会更专注于落地时的功耗、尺寸和价格,这对架构设计就有很好的指导意义。我们会提前去跟产业界或者学术界的领军的企业或者机构去合作,做出更合适的硬件,在合适的时间点提供给我们的客户。
第一,找到最好的团队去做突破性的创新的合作,第二,利用他们已经有的形成产业化的合作关系和验证出来的效果,为硬件产生提供指导。这是英特尔看到的非常大的一些价值。
问:怎样看待双方的合作?有哪些意义?
周志华:关于南京大学和英特尔的合作,可以从三个方面去讲。
一是具体的研究内容。我们去年提出深度森林技术之后,在人工智能的学术界和工业界引起了很多同行的关注。这个技术现在在一些初步的结果上已经有很好的效果,比如和蚂蚁金服合作,把深度森林算法用在非法套现的检测上,取得了比深度神经网络更好的结果。但是它和现在的深度神经网络不太一样的是,它不适合用 GPU 来加速。我们现在认为做更大的模型,能够带来更好的效果,那么我们就需要尝试怎样(把模型)做得更大。这个方面有两种尝试,一种是我们在工业界的合作伙伴通过分布式计算技术做出更大的模型;另外一种是有没有可能通过硬件加速提高它的可扩展性。我们通过前期的调研发现,英特尔的多核处理器对加速这样的模型特别有帮助,有助于把我们在深度森林的研究再往前推进一步,反过来在这个方面的研究对英特尔今后的芯片设计方面也有一些启发性的意义。
第二方面,从我们整个的科研的角度来说,原来我们南京大学人工智能的研究团队主要是做理论和算法方面的一些工作,在应用技术的突破上面也有一些研究,但是主要都是在软件方面。而南京大学作为一个综合性大学,我们的硬件还需要加强,这次通过跟英特尔的合作,能够使我们在软硬件结合方面能够往前走一步,而这一步原来光靠我们自己是很难往前再迈进的。
第三方面是人才培养。南京大学成立了人工智能学院,我们希望能够培养出人工智能领域的高水平人才。其中有一条,希望他们软硬件、人工智能相需要的能力都能够兼备。我们会引进一些有关芯片设计方面的课程,通过和英特尔合作,为我们这方面的人才培养提供补充和支持。
▌深度森林和 AI 芯片
问:深度森林的框架在训练阶段和运算处理阶段对算力的需求和具体哪些特点?它跟英特尔的不同的硬件是怎样匹配的?
周志华:现在的深度学习的技术主要是基于神经网络的,我们的深度森林主要是基于树的架构,训练阶段有更多的分支的选择和任务级的并行,在预测的时候主要是任务级的并行,这个并行很难在 GPU 的架构上去做,因为中间会产生很多分枝选择这样的架构,特别适合于一个片上有多个 CPU 的结构。我们在前期做过一些基本的试验,我们的深度森林的一个比较特殊的版本,利用英特尔 KNL 芯片可以实现 64 倍的加速。
另外一个问题,其实就是这样加速下去有没有好处?会不会带来收益?从我们前期的研究来看应该是好的。因为现在来看,如果我们有计算设备把这个东西做得更深,做得更大,就会带来更好的性能。我们很早的时候做这件事受限于计算力,没有办法做太大,如果有芯片级加速之后,我们就可以做更大的任务。单从计算开销来说,建一个深度森林,它的计算开销比建一个深度神经网络要小,但是深度神经网络通过用 GPU 加速之后,速度一下子就上去了。如果我们能够利用一些合适的芯片架构,是不是也能带来像 GPU 给神经网络带来的帮助。如果是这样的话,就可能给我们打开一个全新的空间。但是另外一方面,也有可能现在的这些芯片都不能够非常完美地适应这样的应用,那么这反过来就会给芯片设计的下一步提供一点启发。
问:人工智能的行业应用场景是不一样的,没有一个通用的解决方案解决所有的场景的应用要求,英特尔是怎样满足深度森林的计算要求的?
周志华:在人工智能的场景里面,可能不是一套解决方案解决所有问题的,这在机器学习里面非常明显。我们有一个定义叫没有免费的午餐,任何一个模型都只适用于一定的范围,现在深度神经网络在图像、视频、语音的问题上特别有效。我们的前期研究发现,比如像森林这样的结构,可能在符号数据、离散数据、混合建模上面有它的特长,但怎么样做进一步的优化,怎样把它做得更大更强还需要考虑。和英特尔合作之后,有可能做到指令级的优化,或者直接芯片布局的优化,这时候可能可以做的事情更多。但是具体有哪些影响,还要等到工作开展一段时间之后才能看到。
问:英特尔在 AI 芯片上的有哪些进展?您觉得未来 AI 的芯片市场会是怎样的格局?
宋继强:关于 AI 芯片,英特尔给出的是端到端的策略。因为前端的一些设备,像汽车、无人机、摄像头等,基本上是需要功耗相对较低的芯片,例如Movidius。如果在云端做训练和推理,我们是至强加 FPGA 或者加 ASIC。在 Edge 端,则是根据应用的需求。
▌AI 人才培养
问:培养市场上需要的一个 AI 人才,需要学习哪些知识和具备哪些能力?
周志华:关于人工智能的人才培养,南京大学的定位就是要培养高水平的人工智能人才:第一,应该具有源头创新的能力;第二,应该具有能够解决企事业单位关键技术难题的能力。达到这两点,是我们认为我们培养的目标对象。
那这样的目标对象应该具有什么样的知识结构?其实有三个方面:第一,要有扎实的数学基础;第二,有扎实的计算和软件程序的基础;第三,要有全面的人工智能的专业知识。现在大家看到的课表是我们大一第一学期的学生的课表。我们的数学课程要求非常高,要学数学分析和高等代数,这样的课程在现代中国的理工科设置里面只有数学系才开。同时,我们还要学离散数学,离散数学只有计算机学科才开。
随着这个课程不断往下进行,第二年级开始会看到很多计算理论、机器学习等方面的核心的课程,再往上就会看到有很多全面的人工智能专业知识。而且我们还有一门课是关于智能芯片的,所以这样的课程我们会跟英特尔密切合作。但是这个课程不是直接请英特尔的工程师去开,而是通过合作,我们的老师在准备开设这样的课程的时,就不光能够用到经典教科书里的内容,还可以跟学生讲述现在最新的发展甚至动向,这对我们培养人才有很大的优势。
宋继强:很多人对于 AI 芯片只有一个模糊的认识,认为 GPU 就代表 AI 芯片,或者谁家公司做了一个语音的芯片就叫 AI 芯片,其实不是的。AI 芯片的历史可以追溯到 60、70 年代都。而且有很多的门类,所以这个如果开设一门课,让大家知道历史,知道发展的趋势,才知道未来会怎么去演进。比如说在开始的学术界去发展深度学习的时候,发现 GPU 是很好的利用的一个工具,可以快速地使用 CUDA 去做训练,看到一些结果,大家有一个同样的平台去比拼,但是真正到落地应用的时候我们看到越来越多的公司,在实际大规模使用的时候并没有采用 GPU,而是用 FPGA,因为他需要实时性。然后像谷歌自己做 TPU 等都是出于自身业务运营。
大家看到真正的 AI 的芯片有好多种不同的形态,有这种 CPU 类型的,我们称为叫多核多线程,有的是 FPGA 类型,有 ASIC 类型,有混合的,有我们正在做的神经拟态芯片,种类很多,你怎么选择?当然根据应用去选择,所以对于未来的高水平的学生来讲,他不光要知道算法,还要知道这个算法要落到这个应用的时候,跟什么样的硬件结合才是最好的解决方案。
▌深度学习的局限性和未来
问:怎样看待深度学习的局限性?深度学习的下一步可能是什么样的形态?
周志华:有些人可能会有一些误解,觉得这一波人工智能的浪潮完全是由深度学习带起来的,其实深度学习只是其中一部分,比如说 AlphaGo 下棋是强化学习,深度学习、强化学习都是不同类型的技术,但是他们是可以结合,具体到深度学习,大家又会进一步的认为,可能它就是深度神经网络。所以现在我们的探索,就是告诉大家这一件事,深度学习不光是深度神经网络,还有很多别的东西。所以如果从未来来看,狭义的深度学习,就是完全基于深度神经网络的东西,它的空间可能会逐渐的变小。这个变小不是说它没有用,而是说他有用的东西,比如说在图像、视频、语音方面,可能我们都会用它,那以后在别的方面,是不是用它也能够用得那么好呢?可能不一定, 那就需要别的技术。
第二方面,从广义的深度学习来说,现在我个人判断,广义的深度学习会长期存在下去,而且可能会变成以后机器学习系统的基本配置。所谓的广义深度学习,就是指要把这个模型做深做大。以后解决复杂问题的模型,不管是基于神经网络还是森林,或者别的什么东西,可能都需要把它做深做大。
宋继强:深度学习需要大量的数据来驱动,而且需要经验来做配合。真正的人工智能的发展,实际上是不能止步于这一块的。因为我们知道,真正你要想完成一个智能系统,它除了能够处理一些确定性的问题,还要处理一些不确定性的问题,处理不确定性的任务更是智能的体现。现在很多通过深度神经网络解决的一些感知的这种任务,人脸识别、语音识别都是确定性任务,做得还不错,但是它不能处理很多复杂性的因素。
我们更需要的是自然智能,这就需要这个系统能够处理歧义,比如你看到了一个平平的台子,但它到底是桌子还是茶几还是凳子,这要放在一个场景来看,要有场景的认识,才能做推理,或者从人怎么使用它推出它是什么。然后还要能持续学习,去适应。这一块是后面需要大力发展的,而深度学习在这儿可以发挥很强的作用,很多认知层的东西可以通过它获得,后面很多的其他技术要靠探索,比如说靠一些概率计算的一些技术。
我们身处不确定性的世界,你必须知道看到的一个东西,它背后可能会衍生的一些情况,而不是只是看到一个东西,直接就做了一个反应,那是不够的。比如说我们说无人驾驶这个场景,通过深度学习,能识别物体和人,那我看到地面滚一个球过来,识别出这是一个球,但继续这么开行不行呢?人不会这样,人看到这个球,他会想,这是一个彩色的小孩玩的球,有可能有小孩会过来拣,概率是多少?人就会想很多,可能会减速,有目的地寻找会不会有小孩跑过来。
这不止是深度学习的事情,深度学习可以帮到你更快速检测这是什么东西,但是后续需要和这些其他的技术结合起来,让智能系统自己能够学习,处理一些复杂的问题。所以我觉得大家一定是要清楚地认识到深度学习的好处和它的局限性。未来还有很长,我们觉得这波人工智能往后发展的机率很大,现在只是一个婴儿期,不管是算法,还是芯片。