吴文俊人工智能科学技术奖
边缘智能芯片设计新进展

《基于网络搜索优化的高通量低功耗RISC-V边缘智能芯片》

2021年05月20日   来源:中国人工智能学会     

9082


2021年4月10日-12日,吴文俊人工智能科学技术奖十周年颁奖盛典暨2020中国人工智能产业年会在北京和苏州同期圆满成功举办。南方科技大学深港微电子学院教授余浩受邀在苏州工业园区希尔顿酒店,2020中国人工智能产业年会—边缘智能芯片设计新进展前沿论坛上发表主题报告《基于网络搜索优化的高通量低功耗RISC-V边缘智能芯片》。


以下为演讲实录:


下面由我来分享,我分享的题目是《基于网络搜索优化的高通量低功耗RISC-V边缘智能芯片》。这个主要是研究背景,人工智能是反卡脖子核心技术中的一部分。主要推手还是边缘计算市场,我们在边缘或者终端处理对AI芯片能力就会有要求,也带来了挑战。


目前用GPU通用处理器处理,好处是什么?处理能力,训练推理能力都可以在GPU上进行。这是五年前英伟达最先进处理器,去年应该到了200,短短四年时间翻了10倍处理能力的提升。


基于处理能力这点考量现在通用处理器还是用英伟达的,用英伟达GPU做边缘计算,比如说在无人机上安排GPU处理器这个显然是有它的局限性,因为功耗一般100-300W左右,这样功耗无法满足边缘计算的需求。现有局限性如何处理功耗问题,是现有的一个挑战。



第二点,我们可以自己设计芯片,我们做人工智能现有的挑战就是如何设计自专门有芯片,这样一般可以降低功耗,一般可以从几百W控制到几W左右,这样芯片也有它的局限性。以Mobileye芯片为例子,它的处理能够特别有限,用这样芯片去做ADAS实时汽车驾驶系统就有局限性,处理能力太差。因此如何在边缘计算背景下,设计这样芯片,既有像GPU处理能力,同时功耗能够降低在几W左右,这是现在边缘芯片设计主要的一个挑战。

刚才讲是降低功耗是可行的,如何提高计算通量。通过3D2.5T多合几层,也是可以从架构和集成方法上提高芯片处理性能,这样多合基层可以提高处理通量,也是一种方式。还有一种方法是通过低比特数,对网络进行监视以后,网络不一定要通过定点技术计算,用一个比特来表征网络参数,以及处理信号。在这种情况下可以同时提高计算通量,降低功耗。



这一款是二值化以后深度学习芯片,这个芯片处理能力可以在2.5T,功耗只有30毫W,这样可以达到低功耗,高通量的性能。这种所谓低比特或者网络监视方法,缺点就是精度不够。如何得到一个低频监视网络,同时能够保证网络精度这个是现有学术界也好,或者工业界也好同时解决的问题。


科学问题就是深度学习,是一个复杂网络。但边缘计算无法承受这么一个复杂网络在上面进行计算,因此深度学习网络复杂度不断提升,传统网络手动把它从32位浮点砍到8位或者怎样,这种方式和这种过程非常繁琐而且无法保证精度,把一个网络简化到一比特,虽然计算通量提高,但是精度无法保证,现有硬件也有冯-诺伊曼架构。我们给的解决方案是不是可以找到一个边缘计算网络,而这个网络可能是所谓混合精度的网络,每一层可能是比特数精度不一样,这种网络模型是不是适合边缘计算的方法?同时得到这个网络要通过所谓的自动搜索技术来得到这样的网络。



得到计算问题模型以后,现有问题就来了。要么做卷积特殊的处理,要么矩阵层。但是这个还都不够,每一层网络精度都不一样,但是对于一个多精度网络你如何做矩阵层?做脉动设计,因此就碰到是不是要做可重构的问题。因此在边缘计算背景下面,我们设计也变的丰富多彩。原来讲的脉动设计一般都是单一精度脉动设计,对于边缘计算来讲是多精度网络,多精度网络如何设计多精度脉动设计,这个在IC设计里面,架构里面也是一个新问题。


硬件有硬件特点,模型有模型特点,但是要把模型映射到硬件上去,必须要有一个相关指令级和编译器,编译器如何进一步优化,在于指令级开元或者自主可控的指令级。讲一下技术原理,大概做一个介绍。主要技术原理其实都是谷歌近期的一些工作,谷歌除了TPU以外,TPU是脉动设计,对网络特别对轻量级网络,如何得到NAS自动化搜索的技术是近期的一个技术。



在5年前我们做了一比特单位精度网络,主要问题是无法保证精度。不能所有网络,所有层数都是一个比特精度情况下,如何让每一层不同精度,同时在简化过程里面可以保一整整个网络精度不变,这个叫自动化搜索。主要意思,大概结果可以看到,传统都是32位精度网络,在自动化搜索框架下面,第一层通过不同迭代发现用8比特精度最好,第二层通过不同迭代可能4比特或者继续迭代得到搜索以后,每一曾有相关的精度,因此这样自动化搜索情况下,我们就得到了一个所谓混合精度网络。


这种网络好处在于什么?相比原来都是32比特,我这样一个混合精度网络可能是简化到低比特数目。第二,相比于原来用一比特和两比特做,这样混合精度网络可以保证精度的。在保证精度条件下对网络进行了简化,因此NAS技术针对边缘计算来讲,我们要得到轻量级混合精度网络,通过这样一个技术可以得到。问题是什么?假使得到一个混合精度网络,是传统硬件无法做计算的。


如何设计支持混合精度网络?这个对芯片设计又带来相关的挑战。因此这是我们整体技术原理,首先开发了自带的NAS算法,现在主流还是CNN,RNN后续可以做所谓的智能化优化。现有NAS一般针对CNN网络,对于RNN网络如何做自动化搜索?这个是我们主要近期的工作。

得到一个混合精度网络以后,如何做相关混合精度的计算?相应要设计一套硬件支持不同精度计算。假使有一比特精度,两比特精度,是不是要设计每一个精度下的算子相关硬件?这样硬件开销就会特别大,传统脉动都是统一精度脉动,我们现在每一层有不同精度,如何实现混合精度脉动计算这又是新设计上的挑战。脉动还是非常重要的一个技术,我们做深度学习神经性网络计算下,如何实现一个混合精度脉动设计,这又是一个关键问题。



由于时间关系就忽略后面的细节,只看一下结果。混合精度基本单元用两比特卷积器来拼4比特,8比特这种方式做一个计算。也可以最到精度8比特,拆分成4比特,2比特的计算,还有一种方法,中间就取4比特,又可以拆成两比特,可以拼成8比特。各种拆分可重构技术下对比计算性能功耗,效率比,我们发现用4比特方式既可以拆成两比特,可以拼成8比特计算,这种情况下面积功耗以及效率是最好的。基于这样处理器如何做多精度脉动设计,脉动周期可能会不一样,又可拆又可拼计算单元情况下,我们对脉动设计效率可以达到最优的。


这是一些性能上的特点,整个网络可以缩小万倍以上通过NAS搜索,搜索好网络每一层有不同的精度,整个效率和能耗比,以及功耗,包括精度现在都是可以满足边缘计算的要求。下一步还有存算,除了刚才讲的挑战是精度挑战以外,以后我们用FLAH把数据存在附近,通过存算进行减少功耗的方式,再加上多精度,以及多精度脉动方式进行设计,我们就可以达到更加功耗小,能耗效率更高的一套硬件系统。


这是我们近期一些成果,希望能够在边缘计算方向解决国家人工智能芯片卡脖子现状的问题,我们也是对标国外技术,但是我们跟国外技术有一些不同技术,解决除了多精度脉动硬件设计,这个也是我们的一个特色,我们也发现它的相关一些优势。

组织机构

主管单位
中华人民共和国科学技术部
国家科学技术奖励工作办公室
主办单位
中国人工智能学会

奖励资质