清华魏少军:剖析AI芯片两大技术痛点 3年内将现出局者 | GTIC 2018

LinaGITC 2018重磅报道 GTIC 2018全球AI芯片创新峰会 人工智能 头条 智东西人工智能芯片系列报道2018/03/22

智东西(公众号:zhidxcom) 文 | Lina 3月9日,由智东西主办,极果和AWE联合举办的中国首场A […]

智东西(公众号:zhidxcom)
文 | Lina

3月9日,由智东西主办,极果和AWE联合举办的中国首场AI芯片峰会在上海浦东成功举办。本次大会共吸引近万名观众参加,到场人数比预计翻了3倍。即使是下午场,依然爆满,有的观众宁愿站着也要听完全场。在大会现场,近40位人工智能及AI芯片业界翘楚共聚一堂,系统地探讨了AI芯片在2018年的技术前景和产业趋势。

图片640

作为GTIC 2018大会的开场主旨演讲嘉宾、AI芯片学术圈的代表人物,清华大学微纳电子系主任、微电子所所长魏少军教授发表了主题为《AI芯片发展需要应用和架构创新双轮驱动》的演讲,从四大角度剖析了当今AI芯片所面临的挑战、可能的解法、对AI应用与芯片架构的思考等,并分享了清华微电子所打造的Thinker系列AI芯片的历程。

/html/p/快讯1.jpg

以下为魏少军教授演讲的要点精析,文后将附上魏少军教授演讲全文速记+PPT。

一、应用和架构创新是AI芯片的必经之路

目前,AI芯片发展面临着两个现实的问题:一是人工智能新算法层出不穷、尚未固定;二是现在一个算法对应一个应用,没有一个算法能够覆盖所有应用,也没有出现一个杀手级的AI应用。因此相对应的,我们现在打造AI芯片也需要解决两大要素,第一要这款芯片要适应算法的演进,第二要做一个创新的芯片架构,使其能够适应所有的应用。

沿循着打造AI芯片的两大要素思考下来,一种新型的芯片技术被推到了聚光灯下——“软件定义芯片”,也称可重构计算。魏少军老师带领的清华微电子所团队在10年前就已经开展了这方面的研究。

屏幕快照 2018-03-13 16.11.36

“软件定义芯片”顾名思义就是让芯片根据软件进行适应与调整,这是一项专用芯片架构设计上的创新,简单来说就是将软件通过不同的管道输送到硬件中来执行功能,使得芯片能够实时地根据软件/产品的需求改变功能,实现更加灵活的芯片设计。硬件跟着软件不断变化,既能适应算法的演进,又能适应多个不同应用。

去年的时候,由美国国防部先进计划署(DARPA)推动的电子产业振兴计划(ERI)针对后摩尔定律(post-Moore’s-law)时代的新材料、架构与设计流程,其中一个课题就是软件定义硬件(software define hardware)。

二、打造超低功耗AI芯片Thinker系列

前年,一个偶然的机会,依照可重构计算芯片的框架,魏少军教授团队中的尹首一副教授带队设计研发了一款代号为Thinker 1的可重构混合神经网络计算芯片。这款芯片不仅可以动态地调整计算和内存需求,使得芯片能够支持人脸识别和语音识别的神经网络应用,而且芯片的功耗非常小。

thinker-chip-22

▲清华大学微电子所提供的Thinker芯片的显微照片

Thinker 1不仅在AI性能与算法通用性上取得了突破性的进展,还获得了学术界的重要认可,在2017 ACM/IEEE ISLPED国际低功耗电子学与设计会议上,Thinker1获得了设计竞赛奖,这是中国大陆单位首次以第一完成单位获得此奖项。

屏幕快照 2018-03-15 00.14.29

Thinker 1是一块实验性质的验证芯片,随后,可重构计算团队又打造了两款Thinker系列芯片,分别为Thinker 2人脸识别芯片,能够做到超低功耗的6ms人脸识别;以及Thinker S语音识别芯片功耗则更低,只有0.3毫瓦。这系列芯片在国际上广受好评,获得了众多奖项。

三、AI芯片2-3年内出现先烈

在演讲的最后,魏少军教授分享了几项总结与思考:

1、应用领域的确立是AI领域的确立前提,但是AI的杀手级应用还没有出现,因此AI发展有很长的路要走。

2、未来能否出现像通用CPU这样独立存在的通用AI处理器?如果存在的话,它的架构是什么样,如果不存在,如今的AI芯片公司又该何去何从?

3、2到3年内,AI芯片行业将会碰到一个低潮,今天的一部分、甚至大部分的创业者成为技术变革的先烈。

附:以下为魏少军教授演讲《AI芯片发展需要应用和架构创新双轮驱动》全文速记

魏少军:大家上午好,感谢主办方给我个机会介绍我们的工作。主持人说我们是做人工智能芯片,错了,我是做芯片设计的,研究芯片的设计和理论。两年前我们用前些年的研究成果尝试做了一些AI芯片,结果效果不错。后来我们在国际上连续发表了一些有影响力的论文,有些结果被一些引用,突然发现我自己成了AI芯片的专家,其实不是。今天我跟大家做一些沟通,主要希望提出一些可能跟在座的大佬们不太一样的观点,供大家批判和产生共鸣。我观点中如果有冒犯在座各位,请大家务必原谅。既然是双轮驱动,那就不是一个事情,我们今天谈四个方面的内容。

屏幕快照 2018-03-15 00.12.05

一、集成电路芯片是实现人工智能的当然载体。AI其实在50年代出现过,经过30年的发展后转移到机器学习、再经过30年发展到了深度学习。现在看深度学习是人工智能的主要内容,但其实深度学习只是人工智能一个窄面,之所以深度学习作为了主要内容,一个原因就是前年和去年AlphaGo下棋赢了人类高手。而在这个标志事件之前,早在2011年就进行过一个游戏比赛,其实比AlphaGo更有代表性,当然可能不一定大家同意我的观点。(2011年,IBM公司的Watson计算机参加综艺节目危险边缘Jeopardy,前两轮与对手打平,而在最后一轮中,Watson打败了最高奖金得主布拉德·鲁特尔和连胜纪录保持者肯·詹宁斯。)我们仔细分析两者的比赛的过程,大家会发现,(这场比赛)高于AlphaGo,只是它不够时尚而已。

中文有时候比较宽泛一些,“智能”包含“智慧”和“能力”,我们多数智慧的东西不是能力。人工智能这个词有问题,不清楚,英文叫人工智慧(Artificial Intelligence),不讲人工智能两者结合在一起。

屏幕快照 2018-03-15 00.24.51

芯片是实现AI的当然载体,无论是CPU、GPU、还是CPU加FPGA,或者其它出现的多个芯片平台,所有这些东西都离不开芯片。所以讲一句话,无芯片不AI,做AI一定要有芯片,芯片是不可或缺的基本内容。

既然人工智能芯片如此重要,那么怎么实现它?这里面我可能跟在场的嘉宾观点不太一样。我们先说AI面临两个现实的问题:第一、算法仍在不断演进,新算法层出不穷;第二、一种算法对应一种应用,没有统一的算法。(对于芯片来说)你希望找到一个架构能够适应所有算法,而不是一个应用做一个芯片。

现在的应用复杂程度不一样,但无一例外都使用的是一个专用的神经网络,在这样的情况,我们需要在芯片当中实现一个具备深度学习能力的引擎。我们今天的深度学习需要的计算量和参数量是非常大的数字。以前我们很少的运算量就可以完成一些小工作,参数有10万个就很多了;但是到了2017年,我们做到17层的神经网络做每秒196亿次的运算,有1.38亿个参数。我们需要一个好的计算引擎,没有好的计算引擎我们完成不了这些运算工作。

二、在这个情况下,我们看看AI芯片需要什么样的计算要素?它第一要适应算法的演进,第二我们要做一个架构适应所有的应用,就是架构的可变性,高效的架构变换能力。此外我们还要关注计算量和计算能效。计算能效要求是多少?大概每瓦10 Tflops,即每秒完成10万亿次的运算。并且某些应用功耗需要低于1mW,有些应用需要识别速度大于25fps、而且芯片体积小,达到低成本进入家电和消费电子,配在装备上,同时开发需要简易,一个人开发芯片设计难度很大。因此,我们需要探索架构上的创新。

接着我们谈到,应用和架构创新是发展应用创新的必由之路。

今天的AI应用涵盖了所有方面,无行业不AI,包括人脸识别、语音识别、机器翻译等等。我们看到屏幕上已经做到了即时的传译、无人驾驶、智能陪伴、能源、农业、或者生产,似乎AI涵盖了我们生活各个方面,这是给我们一个很重要的印象。但是我想问几个问题:哪些应用需要 AI?我们希望AI帮忙解决什么问题?什么是AI的“杀手级”应用?什么样的AI应用是我们每天都需要的?……我觉得这些问题到今天为止都没有答案,有些东西好像是AI,但是实际上并不是AI。

我给大家说一个笑话,今年是我本命年,我想买一条红围巾。我在网上搜了一下没买,然后在我的手机上的各种文件中不断出现红围巾的广告,让我感觉非常烦。它具备AI的性能,但是这个AI不是我需要的帮助。回想几年以前,(你在)买一个台灯之后,网页上就不断出现台灯的广告,今天的AI还没有达到我们所需要的程度。

三、应用和架构创新是发展人工智能芯片的必由之路。做应用确实很难。我们做芯片的人一直想架构是什么,架构创新很重要,从感知、传输到中间的处理,一直到后面的传输和执行,都不开的基本架构。反之大家知道这是一个传感器,通过执行器,传输中间有很发散的网络,基本的逻辑在这里。

屏幕快照 2018-03-15 00.12.50

智慧处理的根本架构是什么?我们不知道。因为我们不知道人怎么想问题,大概是什么样的结构,只能按照系统、软件、处理器、存储这么来模仿。毫无疑问我们碰到的都是多输入、多输出的系统、多任务、高度并行化的运行系统,

听着很有道理,但是我通过一个简单人类处理事情的流程举例,我们碰到一个事情,这个事情很多特征,比如我第一个看到这个人,我看看他长什么样子,我认识不认识他?我不认识他、没见过他怎么办,我要认识一下。我们握手交换一下名片,看你是在哪个单位、什么地方、加深一下印象。

屏幕快照 2018-03-15 00.13.17

也有可能我们第一次见过,没有交换名片,我们认识的时候就知道又见面了。在这个过程我们不断重复这个内容,有可能在中间出现偏差我不认识他,我要认识这个人,就需要把我的知识重新提升一下,这个不断重复的过程涉及大量内容,需要大量计算。

计算无处不在,计算本身是我们架构基本前提,没有好的计算量不要提,GPU因为有很好的计算量,别人赶不上它。但是由于计算非常丰富,我们不知道人脑怎么完全计算,因此我们只好通过这种我们知道的方式,构建一个所谓能够具备智慧处理能力的芯片,一个是智能的软件和硬件。

智能软件包含这几方面的内容:形成知识能力、组织能力、思维推理能力。这些东西不是芯片做的,是软件做的。我们可以看到芯片更多地是提供计算的平台、多任务并行的能力、极高的能效、和灵活高效的存储与实时动态能力。因此我们经常说,实现智能的核心其实是软件不是芯片,芯片不过是支撑智能的基础而已。我们要改变一些思路,就是我们做芯片的人、特别是做AI芯片的人,要把软件放在足够高的位置来看。

因此我们希望在这种情况下,硬件可以跟着软件不断变化,也就是所谓“软件定义芯片”的概念。(如果你说)芯片不能被软件定义,那你是做不好。这个概念我们在10年提出来了,但是阳春白雪,知道的人不多。由美国国防部先进计划署(DARPA)推动的电子产业振兴计划(ERI)针对后摩尔定律(post-Moore’s-law)时代的新材料、架构与设计流程,在科技领域寻求突破,每一个方向上设置2个课题,去年其中一个课题就是软件定义硬件(software define hardware)的概念,我把它中间一段话摘出来:打造可实时重新配置的软件和硬件,使其具备ASIC的性能表现,但不必在数据密集计算中牺牲可编程性。也就是说让硬件的功能和架构跟着软件实时变化,而所谓的实时所谓的即时指的是运行300~1000纳秒内。我只能笑一笑,这个工作我们10年前就已经在做,走在美国同行的前面。

大家说,软件定义芯片也没有很奇怪,FPGA早就可以做了。其实FPGA也不行。第一就是细粒度,由于要实现比特级的运算,运算颗粒度必须为细粒度。FPGA颗粒度是细力度,所以配置信息量非常大,需要几兆到十几兆字节,需要十几毫秒甚至更长时间。同时一旦配置完毕,不可更改。如果要改变FPGA的功能,只能下电或在线重新载入配置信息。FPGA的芯片面积效率很低,只有5%,千万面积的FPGA实现几十万,能量效率很低,而且功耗很大。同时FPGA需要非常先进的工艺,且需对工艺进行特别调整,应用者还必须具备电路设计知识和经验。最后就是FPGA成本非常高。

FPGA可以用来做一个简单的验证系统,但是实用系统?对不起恐怕很难,所以我们说FPGA无法承担软件定义芯片(Software defines Chip,SdC)的任务。那么什么样的系统可以完成SdC?

屏幕快照 2018-03-15 00.13.40

我们从架构上去考虑,如果我们像右边这样,给出一个和软件完全一致的硬件结构,没有考虑硬件本身的开销,这样的计算效率一定是最高,毋庸置疑。可软件可以无穷大,硬件总是有边界的。

屏幕快照 2018-03-15 00.13.56

但如果我们把软件分成若干块,一块一块搬过去,第一块运行完了以后,执行第二个模块,然后第三个模块搬过去,回来计算第四个、第五个、第六完成这样。这要求我们的硬件结构和功能必须是动态的,随时可以改变的。这就是软件定义芯片的基本概念。

至于工作难点则是怎么很快的实现它?我们过去10年当中的努力就是解决这个问题,图里的计算架构是非常经典的架构,我们可以看到这两者一个是所谓控制单元划分的内容,逐步送进去执行,要求根据要求配置计算单位并且完成执行。

屏幕快照 2018-03-15 00.14.06

问题是,要出现完全可重构的数据通道和可完成变成的控制单位,这样做到可变化的。这与传统结构是有差别,我们拿经典的计算模式做了一个比较,它是弓形的,可传播计算是函性的。经典架构当中,软件硬件不变,而在我们现在的架构当中,硬件和软件都在做动态的选择性的改变,经典架构用高度复用的方式,降低它的成本,而在我们这边是冗余应用。

至于我们是不是改变的计算模式,很遗憾告诉大家,我们还是在冯诺伊曼架构当中。有些人我说我们改变了模式,我做出了新型的计算架构,其实我说,你没有弄明白。

在这样的架构之下,我们实现AI芯片的时候,可以把硬件按照AI的算法来不停的变换,以达到最佳的计算效率,大家可以看到最下面这块,我们从AI的应用定义采用深度神经网络,再来决定硬件的功能,这样的结构我们认为是一个最佳的方式。(两年前)我们在无意当中决定尝试一下,构建一个AI芯片叫做“思考者(Thinker)”。

屏幕快照 2018-03-15 00.14.16

大家可以看到左边有一个阵列,有两种PE,一种是通用的,一个是超级的,代表不同的计算内容,包括卷积的计算,还有全理解的计算,还有池化等等。通过定义的方式,这块芯片把每个PE方式进行随时定义,再传输到往来网络运算/我们还可以把阵列上的众多的PE,通过定义的方式不断滴改变不同的层面的计算内容,也可以大大提升系统的能效。

屏幕快照 2018-03-15 00.14.29

在过去2、3年当中,我们(延循着软件定义芯片的技术)做出了AI芯片,在去年的ACM上做了相关的介绍,Thinker S也在MIT得到了很好的报道。Thinker 2做人脸识别的只需要6个毫秒,功耗极低,Thinker S的功耗则只有0.3个毫瓦。这块芯片获得了很多专利、(发表了)很多的论文、并且得到多个奖项。

屏幕快照 2018-03-15 00.14.21

我把跟AI的相关的内容都用红线画出来了,基本在曲线的第一个风波上。我们现在的AI太热了,有时媒体也起了不太好的作用。

屏幕快照 2018-03-15 00.14.37

最后,我想总结一下,提几个问题:1、应用领域的确立是AI领域的确立前提,但是AI的杀手级应用还没有出现,因此我们说AI的发展有很长的路要走。2、能否出现像通用CPU这样独立存在的通用AI处理器?如果存在的话,它的架构是什么样,如果不存在,我们今天的已满足特定应用的芯片恐怕只能做IP核了,我们AI公司何去何从呢?这些问题留个企业家们思考。可能大家不同意我的观点,但是2到3年内(AI芯片行业)一定会碰到一个低潮,今天的一部分、甚至大部分的创业者成为技术变革的先烈。对不起。(观众笑)但是毫无疑问,这将是AI芯片发展中,最令人钦佩、也最令人动容的伟大事件。谢谢大家!

zhidx

友情链接:16248   818   77848   44732   42139   55057   39498   52887   10591   39914   19748   18641   5857   40179   2424   50766   90449   96767   2567   50384