Uploads%2farticles%2f12566%2fimg 0710 w 2
|
2018-07-25

国芯凌云:AI 芯片成功的关键在于调动全行业积极性丨WARE 2018

从神经网络加速、NPU 工具链、SoC 集成等多个角度解析一款 AI 芯片诞生背后的基本过程和逻辑。

在由深圳湾 WARE 2018 AI 芯片与应用峰会上,杭州国芯人工智能事业部总经理凌云从 AI 芯片被重视的背景、国芯如何做 AI 芯片以及 AI 芯片的应用前景等方面做了分享。

凌云认为,深度学习技术的突破是这一波人工智能浪潮的主要驱动力。深度学习算法具有很高的通用性,同时计算架构又是统一的,并且未来对算力的需求越来越大,这些因素综合起来呼唤这专用 AI 芯片的到来。

凌云从神经网络加速、NPU 工具链、SoC 集成等多个角度解析了一款 AI 芯片诞生背后的基本过程和逻辑。

关于 AI 芯片的前景,凌云认为核心还是大家的积极性和创造力能不能充分被调动出来。目前,针对电视、故事机、白色家电等产品和场景,国芯也已经面向行业准备了包括语音电视、IoT、儿童机器人、智能音箱等在内的一系列解决方案。

以下是凌云在 WARE 2018 AI 芯片与应用峰会演讲及会后问答实录,由深圳湾整理发布。

深度学习技术呼唤新一波 AI 芯片热潮

我做芯片已经差不多有十五年了。十五年前,芯片行业是一个很火热的行业。随着互联网和移动互联网的兴起,芯片有很长一段时间进入一个挺冷的时期,或者说跟大众没有什么关系。我们现在看到这两年突然之间芯片又变成一个很火热的焦点,这背后到底是什么呢?这是我想跟大家探讨的第一个问题,也就是为什么 AI 芯片现在火了。

AI 芯片会火的根源首先是人工智能现在火了。

人工智能历史上起起伏伏有很多轮,这一轮人工智能的核心是因为深度学习的突破和在各个领域的效果。深度学习有什么特点呢?我认为最大的优势,它是一个非常通用的方法,可以用在很多很多地方,比如说我们熟知的语音识别、人脸识别,比如医疗领域的自动诊断、手势识别、智能家居等各方面。我们说深度学习是一个万能膏药,只要掌握这一个技术,就可以应用在各行各业里面。过去在各行各业都需要专业的科学家,这些科学家对这个行业有很多年积累才可以解决问题,但是今天只要掌握了这个技术,理论上你有数据,都可以很快的解决各行各业的问题。

深度学习依赖于两个东西,一是数据,二是它需要很大的计算力,不断地循环反复的运算和迭代。

有一个非常大的好处,深度学习里面用的神经网络的计算方法,虽然有各种变种,但是它的计算框架整体上是非常类似的。也就是说,不管是 DNN、RNN、LSRM 等各种神经网络,它的模型计算是非常类似的。

综合以上几点,大家会发现,既然这个算法是万能的,它的计算架构又是统一的,而且未来我们对算力的需求越来越大。既然是这样,为什么不做一个专用的芯片来解决这个问题呢?所以大家看到Google 做了 TPU,很多互联网公司、算法公司都会把芯片放在一个很重要的地位,因为它的确有非常大的价值。

以上几点,希望通过我个人的观点,能够帮大家了解AI芯片背后的逻辑,为什么现在它这么重要。

一款 AI 芯片的基本逻辑

做 AI 芯片,第一步是做神经网络的加速。Google 做了一个东西叫 TPU,更多的人叫它 NPU,也就是神经网络处理器。我们从 2016 年开始做神经网络处理器,第一版已经量产在卖了,我们内部在做第二个版本。

NPU 说起来很玄乎,其实内在原理比较简本,因为神经网络是高度并行的架构。如果用 CPU 来跑,需要写一个循环,不停地一遍一遍地跑。我们做 NPU 就可以做并行化,比如说做 64 路、128 路并行,通过硬件和流水线的结构,可以把效率提升上来。

当然,这里面有很多技巧和效率的问题,比如说神经网络运算的时候,一方面消耗计算力,另外一方面对内存计算的带宽要求很高。有一个技术很重要,我们叫做神经网络参数压缩的技术。前两天大家应该看到国内做压缩最有名的一家公司刚刚被一家美国公司收购了。在神经网络压缩这个领域,国芯也有很多积累,我们在后面的很多芯片里面也会把压缩的优势发挥出来。

是否完全可编程是神经网络加速器和处理器基本区别

过去有很多公司做 NPU,他们做的其实是神经网络加速器。神经网络加速器和处理器有什么区别?我认为最大的区别在于是不是完全可编程。有人质疑硬件 NPU 是不是不够灵活,这取决于架构,如果完全可编程就很灵活。

做完全可编程离不开一个 NPU 的工具链,或者叫神经网络的编译器。我们在这方面做了非常多的工作,我们现在的工具链可以做到和训练平台对接,你在平台上把程序编好,生成一个模型,通过我们的编译器,可以自动转到我们芯片上去跑。如果你做量化、压缩,我们的工具链都可以帮助你做。

SoC 集成产品落地全链条

光有 NPU 也不够,产品要落地是很长的链条。大家做产品都知道,AI 交互涉及到的环节很多,有输入、输出,语音和图像输入进来以后需要做增强,语音要做降噪,图像要做 3D、动态等等,需要做很多东西。传统算法会用信号处理,现在也会做信号增强,未来混合的框架会越来越多。信号处理完之后才可以做识别,比如语音识别、图像识别。还需要业务逻辑,需要跑操作系统,跟云端交互,最后给用户反馈。

这是一个复杂的链条,要做芯片就需要把这些东西全部集成在一起。在芯片行业我们叫 SoC,把整个系统做到芯片里面,这才是真正可以落地的产品。

我们去年推出的第一代产品里面把语音麦克风的通道 DSP、图像的接口、前处理和 NPU、CPU 全部集成在一颗芯片上,这就是我们的第一代芯片,代号叫 GX8010。

AI 芯片前景:被打开的 IoT 智能化市场

从 AI 这几年的爆发来看,它的应用做得好不好,核心还是大家的积极性和创造力能不能充分被调动出来。

这个应用肯定是要全行业一起来做。我认为有两件事情对整个 AI 行业的帮助非常大:第一件事情,AlphaGo 战胜了李世石,战胜了中国的围棋选手,让大家认为人工智能已经这么厉害了,一下把大众对人工智能的热情唤起来了。第二件事情,也就是今天深圳湾的主题里面讲的,通过大家对智能音箱的投入和销售,智能音箱对大众起到非常大的宣传和示范作用。过去我们认为人工智能离我们很远,但是今天我可花 99 块钱买一个智能音箱放在家里,我就发现原来人工智能可以已经做到这样,原来体验已经可以做到这么好。

有了这个概念之后,做很多传统电子产品的人,他的脑子里面就会突然冒出很多想法,既然智能音箱可以做到这样,那我的产品是不是也可以这样做,我原来的产品上是不是也可以加这种功能?所以在今年开始,我们看到越来越多行业用户开始拥抱 AI、拥抱语音。

举几个典型的例子,比如说电视。过去我们看电视都是用遥控器,但是当你的电视变成 OTT、IPTV 之后,要用遥控器按钮搜索一个电视节目变得异常困难,电视机厂商就想到要用语音。前段时间有一个产品,通过 USB 插到电视上,完全可以不用遥控器,远场进行语音交互,坐在沙发上用很自然的方式跟电视交互,电视的很多空间一下就打开了。

类似的例子非常多,应该说,AI 改变了交互和控制的模式,在很多 IoT 领域里面都能够得到应用。针对这些场景,国芯也准备了很多解决方案,包括语音电视的方案、IoT的方案、儿童机器人的方案、智能音箱的方案。

嘉宾问答

访谈嘉宾:SpeakIn COO 易鹏宇

云端 AI 芯片和端侧 AI 芯片的区别

易鹏宇:AI 需要算力、算法,后面还有很多数据的支持,一个 AI 芯片也许具有综合的素质能力会更好。国芯这边做的芯片,您觉得在处理算法、算力、数据上,相比传统的英伟达这种超强的芯片,对 IoT 芯片能力的认知是不是划一个清晰的边界?

凌云:云端与端侧 AI 芯片定义不一样,云端要处理很多用户的需求,性能越强越好,对单颗芯片的成本不敏感,考虑的是整台服务器或者整个部署的成本,所以单颗芯片规模比较大。我们做的 AI 芯片跟功耗成本息息相关,按照应用场景需要为原则来做。算力对芯片来说就是部署的问题,你需要部署很多,我就可以给你堆很多计算在里面,成本就会升高,就像一个玩具狗,我放了AlphaGo 的芯片进去你就买不起了,所以端侧一定要按照应用场景出发,跟云端比算力会低一些。

定制化芯片的投入产出衡量

易鹏宇:现在定制一个新的芯片,发现基本上做的是从 0 到 1 很多东西要做,列出来时间很长、投入费用很大。现在看到的方案大部分基于通用的模组和芯片来做,但对我们来说,定制化的芯片价值更大,可以用在特殊的产品里面。这里面的投入要怎么衡量?

凌云:定制芯片一定有一个原则,定制的东西一定要有足够大的量来平摊成本。如果定制一个芯片,量不够大的话,成本是无法收回的。你提到有一些私有化的需求,去定制的话,时间周期肯定会比较长。

芯片公司定义一款芯片的时候,通常都会尽可能覆盖更多的应用场景,其实你可以把这个需求告诉芯片公司,芯片公司会在合适的场景面考虑你的需求,觉得需求合理就可以把功能做进去,这样你不用支付太高的定制成本。当然,你觉得这个市场巨大,你有核心技术,那就可以砸钱定制,这个收益也很大。

易鹏宇:我们的芯片达到某个规模在是经济适用的,站在您的角度,到底多大规模算是经济适用的门槛?

凌云:我们觉得最好这款芯片能够达到千万级的水平,我们觉得这才是比较有商业价值的。当然,如果你要定制,我觉得至少是上百万的规模,这样定制才会有一些意义。

AI 芯片如何进行升级迭代

易鹏宇:我们都知道,芯片本身其实就是算法逻辑,我认为,只有把算法逻辑彻头彻尾的在芯片里面优化、定制化以后性能才是最高的。在这种情况下,算法在人工智能里面遇到一个问题,就是它的更新迭代。所有人工智能都在快速自我学习和迭代,但一旦做到芯片里就做死了,怎么解决迭代的问题?

凌云:做芯片,虽然物理的东西是做死的,但是架构上可以想很多文章,尽量让硬件加速可以做成可编程的,可以通过软件去调动各种资源,去灵活的运用。比如说我们的 NPU,物理上是做死的,但是通过模块、运算单元的划分和编译器软件的调度,可以灵活的处理各种模型,就是你的模型是可以变的,不是一定是做死的。

当然,这里面也会存在算法可能产生了非常巨大变化的情况,导致我的架构都不支持了,这时候只能靠芯片本身迭代来做。芯片公司每年都会出新的芯片来支持更新的架构,至于当前架构上一些小的变化,我们做架构本身的时候一定要把它兼容进去,通过软件方式做到自动适应。

>>
Back to top btn