深度学习处理器精度验证激励生成方法

2021-04-11 14:55南京航空航天大学范仁艳
电子世界 2021年6期
关键词:网络层定向扰动

南京航空航天大学 范仁艳

中国科学院计算技术研究所 支 天

深度学习处理器以其卓越的性能功耗比,在目标检测,图像识别、机器翻译中等诸多深度学习应用领域中取得了显著的成功。处理器验证是处理器开发过程中一个必不可少的关键环节,验证的目的是发现设计的所有方案缺陷和代码缺陷。由于深度学习处理器高性能、低功耗的架构特点,由此带来新的验证挑战——精度验证。精度验证用以确保处理器的精度方案以及精度实现没有问题。在进行精度方案验证时,需要考虑验证激励的丰富性和完备性,这是验证难点之一。本文就以上难点,提出一种精度方案验证激励生成方法,提升了验证激励的完备性,提高了验证质量。

1 深度学习处理器

深度学习处理器是一类专用于搭载深度学习应用的处理器,相比于通用处理器CPU以及GPU,具有运算快、功耗低的优势。深度学习处理器研究的热潮起源于中科院陈云霁团队研发的DaDianNao架构,至今国内外已有多款深度学习处理器上市。

处理器验证在处理器开发过程中起着关键的作用,其目的是保证处理器在进入后端流程之前的开发过程中没有方案设计缺陷和代码设计缺陷。最常见的有功能验证、性能验证、功耗验证等等。深度学习处理器的处理应用涉及大量的浮定点运算,由此会带来精度问题。为了尽量避免运算过程中的精度损失,深度学习处理器架构包含很多高精度设计方案,例如融合运算器、加法树等。精度方案是否全面与完备会直接影响处理器的运算结果的精度,因此有必要进行精度方案的验证。

图1所示是功能验证的基础框架结构。激励、参考模型、检查机制是进行功能验证的三要素,DUV(Design Under Verification)是验证对象。激励是输入数据,灌输给参考模型和待测处理器;参考模型是比较基准,接受输入之后,进行同样的运算,用于与待测处理器结果比较;检查机制是比较规则,接受参考模型和待测处理器的输出,按照此规则进行比较,输出判断结果。

图1 功能验证基础框架

同功能验证一样,精度方案验证同样需要以上三要素。在进行精度方案验证时,激励是深度学习处理器的上层应用对象——网络;参考模型是通用处理器;检查机制使用网络运算标准,例如分类网络的Top-1、Top-5等。激励的丰富性和完备性直接决定了验证的完备性,是验证的主要挑战。本文为解决精度方案验证激励的完备性这一难题,提出一种激励生成方法,该方法在常用网络的基础之上,对网络结构进行“扰动”调整,适当改变网络结构,丰富网络类型。

2 常见的验证激励方案

激励的选择和构造是验证过程中的主要工作。激励的质量直接决定了验证的质量。激励的构造需要满足两个基础条件,一个是合法性,一个是完备性。把需要验证的对象的状态空间当作一个全集,每一种状态对应于一个激励。这个集合的边界定义了合法性,把集合之内的激励视为合法激励,否则为非法激励。激励的完备性指的是实际激励覆盖到的状态构成的集合是否等价于验证对象的状态空间。激励生成的目标是在满足激励合法性的前提下,尽可能的提高激励的完备性。

目前常见的验证激励生成方案主要有几下几种:遍历激励、定向激励和随机激励。

2.1 遍历激励

遍历激励,顾名思义,是一种遍历验证对象的所有接口的激励生成方法。该方法可以百分百保证激励的完备性,但效率会随着验证对象的接口的复杂度而显著下降。例如验证一个浮点16的加法器,状态空间的大小约是2^32,采用穷举遍历的方式,验证的仿真时间约为1周;若替换成一个浮点32的加法器,状态空间陡增至2^64,遍历激励的时间成本完全无法接受,从而失去可行性。因此,遍历激励只适用于验证逻辑简单,接口简单的设计单元。

2.2 定向激励

定向激励,是针对验证对象某一特定功能或者业务场景构造出来的激励。构造定向激励之前,需要先根据验证对象的功能文档和设计文档提取验证的功能点。一个功能点对应于一个定向激励,功能点的数量等于激励的数量。理想情况下,提取出来的功能点可以覆盖验证对象的全部状态空间。实际情况,若验证对象的接口多,内部逻辑复杂,业务场景繁多,此时的状态空间趋于无限,提取的功能点往往会有遗漏和缺失的情况,难以保证激励的完备性。同时,一个功能点就要构造一个激励,若功能点数目太多,构造激励的时间成本会同步上升。因此,定向功能适用于业务场景清晰且数量不多的系统验证及简单模块验证,对于子系统或者复杂模块的验证,采用定向激励存在完备性风险。

2.3 随机激励

随机激励,指的是合法约束下,尽量随机的激励。单次仿真时,激励的包含的各个接口的取值是随机的,通过增加仿真的数量,提高各个接口驱动值的多样性,从而提高完备性。由于激励是随机的,无法确定覆盖了哪些状态,所以随机激励需要和覆盖率配合使用,覆盖率体现了激励的覆盖状态。使用随机激励验证时,验证的目标是收齐覆盖率,将覆盖率的分数提升一百。但是由于覆盖率也是根据提取的功能点编写,所以,若功能点缺失,覆盖率也是不完备的,即使覆盖率分数达到一百分,仍然存在完备性风险。

与定向激励进行对比,两者相同点是都以验证功能点作为输入。定向激励以验证功能点作为输入进行激励的构造;随机激励以之作为覆盖率的编写。但两者最大的不同是,对于状态空间“无限”的验证对象,随机激励更能保证激励的完备性。在实际情形下,验证对象状态越复杂,验证功能点的提取也会越不完备。在功能点缺失的情况下,定向激励一定随之缺失;而随机激励在覆盖率分数提升至一百的过程种,由于其随机性,会有一定概率随机出来功能点之外的状态,这些状态往往是一些极限场景,难以通过正向分析输出功能点,从而提升了完备性。因此,随机激励适用于复杂模块验证。

3 精度方案激励的生成

上一章节主要介绍了常见的验证激励生成方案。在进行深度学习处理器的精度方案验证时,输入激励为网络。根据现有的激励方案选择网络均有局限性。若选取遍历激励,则是遍历所有的网络,状态空间无限,不可行。若选取定向激励,则是各个应用领域的典型网络,随着深度学习算法近年来的高速发展,网络结构一直在更新迭代,仅仅保证处理器在执行现有典型网络时无精度问题,难以保证激励的完备性以及处理器精度方案的鲁棒性。若选取随机激励,则对应随机网络,但是随机网络的生成以及验证效率问题均是难点所在。

因此,针对精度方案验证的激励生成,结合定向激励和随机激励两种方式,在现有典型网络结构的基础之上,对网络结构进行“扰动”,以此丰富网络结构,拓宽网络激励集合的边界。

3.1 典型网络

在进行精度方案验证时,需要对各个应用领域的典型网络进行扰动。各个领域的典型网络互不相同。在图像分类领域,有GoogleNet系列、MobileNet系列、AlexNet等;在目标检测领域,有R-CNN、FAST R-CNN、YOLO系列;在机器翻译领域,有RNN Encoder-Decoder、GNMT、transformer等。典型网络一般是由网络层组成。比如卷积神经网络由输入层、卷积层、池化层、激活层、全连接层组成。网络结构的扰动也从典型结构的基础结构出发,主要进行两方面的扰动。一个是网络层数的扰动,另一个是单个网络层结构的扰动。

3.2 网络层数的扰动

对网络层数进行扰动时,可从单次扰动的方式、扰动的单位、扰动的数量进行考虑。

网络层数的单次扰动方式主要包含两种,一种是增加网络层数,另一种是减少网络的层数。若是减少网络层数,则可减少网络中非必要层,比如卷积神经网络的卷积层、池化层。若是增加网络层数,则可增加两类网络层,一类是网络中原本存在的层,比如卷积神经网络中的卷积层,另一类是网络中原本不存在的层,比如其它不同类网络中存在的层。

扰动的单位可以是单层,也可以是多个网络层的组合。比如对于普通的卷积网络,除去相邻的网络层,相间的网络层没有关系,此重情况可扰动单个层。比如对于残差网络,是以块(block)为单位,单个块内包含多个网络层,扰动的单位则可以是块,而非单层。扰动时也可将“单层”和“多层”进行结合。对块内的结构进行扰动之后,再对块本身进行扰动。

扰动的数量可以任意,上下限阈值可根据原本网络自身的特征进行设定,一般范围可保持在原本网络层数的百分至十至百分至三十。

3.3 单层结构的扰动

单层结构的扰动指的是某一具体的网络层的结构进行扰动。以卷积神经网络的各个层举例。对于卷积层,可改变卷积核的大小、卷积核滑窗步长等;对于池化层,可改变池化类型,例如将平均池化改成最大池化、最小池化等,同样可改变池化核的大小,滑窗步长等;对于激活层,可通过改变激活类型。

4 精度方案激励的筛选

网络能否实际应用的前提是网络能被训练至收敛,我们把这些无法训练收敛的网络划分为无效网络。对典型网络进行扰动之后,可能存在部分无效网络,需要进行筛选。筛选过程如下:

(1)输入初始激励集合,集合为各个应用领域典型网络的组合;

(2)从初始激励集合中,逐一选择典型网络,按照上节介绍方法对网络进行不同的扰动处理,得到扰动网络集合;

(3)从扰动网络集合中逐一选择网络进行训练,训练至网络收敛。若无法收敛,则将此网络从扰动网络集合中删除,否则保留。

筛选完毕之后,保留下的扰动网络激励则为生成的扰动网络集合。

总结:本文针对深度学习处理器的精度方案的验证激励的完备性难以保证的问题,提出一种精度方案激励生成方法。该方法在定向激励的基础之上,注入随机因素。具体为,基于各种深度学习应用的典型网络的结构,进行网络结构的扰动。主要从网络层数的扰动和单层网络的扰动两方面进行介绍,并介绍了有效的扰动网络的筛选方法,达到了完善精度方案激励的目的,提升了验证质量,保证了验证的完备性。

猜你喜欢
网络层定向扰动
Bernoulli泛函上典则酉对合的扰动
(h)性质及其扰动
偏序集上的相对定向集及其应用
论物联网安全威胁及其应对策略
定向越野
小噪声扰动的二维扩散的极大似然估计
物联网技术在信息机房制冷系统中的应用
用于光伏MPPT中的模糊控制占空比扰动法
定向驯化筛选耐毒酵母
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair