深鉴科技联合创始人:针对机器视觉的深度学习处理器(PPT下载)
本内容选自清华大学电子系副教授、深鉴科技联合创始人汪玉于2018年4月27日在清华大学主楼接待厅数据科学研究院举办的第二届“大数据在清华”高峰论坛所做题为《针对机器视觉的深度学习处理器》的演讲。
注:私信后台回复关键词“0427”,下载完整版PPT。视频时长约半个小时,建议使用wifi观看
汪玉:大家好,今天给大家汇报一下我们在过去所做的工作。
源自清华 以梦为马我们团队目前有130个人,有50个清华的同学,覆盖了从软件、架构、芯片、硬件、算法到编译各个环节。今天讲处理器,包括因特尔在内的许多公司不仅仅做架构、做硬件,也有很多在做软件和算法。要让芯片给别人用起来,必须展示出别人能看得见的效果,并且要有很好的编译器。
自主研发 核心技术给大家介绍一下我们自己的核心技术,讲一讲我们对于这个领域的看法。
说到深度学习,大家说为什么要针对深度学习做一个企业,而不是针对其他方面?深度学习本质上是一个拟合器,用神经网络把参数定下来,给足够多的X、Y做标记,从算法的层面上去支持不同的应用。
从2010年移动互联网普及之后,有标记的数据越来越多。神经网络可以提供方法,把数据利用起来。从CPU到GPU以及专用硬件,我们希望在个人终端领域,包括每个摄像头都可以做这样的网络。
从大的趋势,回顾整个历史阶段,都有一个关键的硬件(图片下方)。我们不知道在AI这个阶段,关键的硬件是什么,所以我们也非常高兴,能看到大家为这样一个核心的能力而去奋斗。
我们的途径是什么?图片下方是最关键的三个部分: DNNDK-软件工具链、指令级、体系结构。
上面给出的是所有算法对应的小模块,它的单元从砖头变成一面墙,所以针对深度学习的前项,有没有可能找到这些抽象的层次,这就是指令级。针对这样的抽象,我们可以满足这些抽象的硬件,需要把所有的神经网络变成指令的集合。由于硬件是固定的,所以只需要支持有限的操作。
对于一个系统,三个东西很重要,第一个是峰值能力,圈了多少个计算单元,多少人在帮你工作。第二个是如何让更高比例的人真正在工作。第三个是做同样的事情,需要的人数能否减少。这三个合起来,才有希望把整体性能提上去。
所有的行业都会拥有Data,训练好一个算法之后,我们可以进行压缩,变成我们所定义的指令的流,并且放在硬件上,形成系统解决方案。
为什么一定要强调软硬件协同?这有一张图,横轴是瓦数。不同的瓦数对应不同的应用领域,希望做的每一个瓦数,对应的性能足够高。
纵轴是性能-每秒计算的次数。图中的三角形表示芯片,能做到大概1T~5T/瓦,这基本是一条很难逾越的线。因此,光做芯片还不够,算法的优化也要做起来。
我们也尝试在做自己的IP。当时做芯片一次可能要投几百万美金,在设计芯片的时候,怎么去适应未来,怎样去把目前所有的网络支持好。你肯定要抽象出中间层次,中间层次的基本单元还要能够拼起来所有的网络,你又不知道未来的网络是怎样的。
在软件方面,我们做的都是神经网络,把不需要的边和点都去掉,就可以降低整体所需要的计算量。不能只是人工去做这些事情,如果你希望赋能所有的行业,我们还需要有一套工具链。用深度压缩工具,可以在CNN和和RNN上获得显著的压缩比,让算法更小、更快、更省功耗。
产品方案及应用如何应用呢?我举例说明。
这是我们神经网络的加速版,在前端就可以做识别和比对,以后就不用传视频流和图片,传的有可能是特征值。相信在未来几年内,特征值会统一标准。
这是面向语音识别的应用。复杂的音箱对话,都会传到云端去做。我们可以用FPGA做,比CPU和GPU更快,且功耗更低。如果能提高单位功耗对应的计算能力,就可以服务更多的客户。
这是我们尝试在汽车端做的努力,背后由神经网络支撑。一辆车有多个摄像头,会集中到一个平台上做运算,原来可能是用GPU来做,现在我们也提供用FPGA来做。包括前端背后,可能也需要一个预处理的芯片,这个芯片也可以用FPGA来做。
我们更期待,做出来的芯片性能提升,成本下降,以替换已有更高代价的FPGA,以上就是我们在过去学术界做的一些工作,在公司应用和服务的案例,谢谢大家!
注:后台回复关键词“0427”,下载完整版PPT。