架构搜索文献笔记(5):《APQ:联合搜索网络结构、剪枝和量化策略》

论文《 APQ: Joint Search for Network Architecture, Pruning and Quantization Policy》-2020-CVPR**
论文链接
代码链接

论文为机器翻译的,当时只想看个大概,好久以前的笔记

一、摘要及主要贡献

1.1 摘要

论文提出了APQ,一种有效的深度学习部署的新设计方法。

与以前单独优化神经网络结构、剪枝策略和量化策略的方法不同,论文设计了以联合的方式优化它们。

为了处理它带来的更大的设计空间,论文设计了训练一个量化感知精度预测器,供进化搜索选择最佳拟合。由于直接训练这种预测器需要耗时的量化数据收集,论文建议使用预测器传输技术来获得量化感知预测器:论文首先通过采样预先训练的统一网络并进行直接评估,生成大量数据集;然后使用这些数据来训练没有量化的精度预测器,然后转移其权重来训练量化感知预测器,大大减少了量化数据收集时间。

在ImageNet上的大量实验表明了这种联合设计方法的好处:论文的方法搜索的模型保持与ResNet34 8位模型相同的水平精度,同时节省了8×位操作;与MobileNetV2+HAQ相比,论文实现了2×/1.3×延迟/节能;新部署场景的边际搜索成本比ProxylessNAS+AMC+HAQ高2.3%,同时降低了训练成本的GPU小时和二氧化碳排放。
在这里插入图片描述

1.2 主要贡献

论文设计了一种方法APQ来联合执行NAS-剪枝-量化,从而将传统上分离的阶段统一为一个集成的解决方案。

论文提出了一种预测器转移方法来解决量化感知精度预测器的数据集收集架构、量化策略、精度等高成本的问题。

通过这种联合优化,论文通过量化策略搜索最优网络架构,并在不同的部署场景中实现自动模型调整。

二、论文相关

对论文的联合设计方法的概述。序列号表示这些步骤的顺序。论文首先训练一个全精度NN的精确预测器,然后逐步训练一个被量化的NN的精度预测器。最后,进行了进化搜索,以寻找具有适合硬件约束的量化策略的专用NN体系结构。
在这里插入图片描述

2.1 具有细粒度通道的一次性网络

神经体系结构搜索的目的是从一个大的搜索空间中找到一个好的子网络。通常,每个采样网络通过训练获得实际的精度,非常耗时。最近基于NAS的One-shot方法首先训练了一个大型的多分支网络。每次,从大网络中提取一个子网络来直接评估近似精度。这样一个很大的网络被称为一劳永逸的网络。由于深度神经网络中不同层的选择在很大程度上是独立的,一种流行的方法是为每个层设计多种选择(如内核大小、扩展比)。

在本文中,论文使用MobileNetV2作为骨干来构建一个支持不同内核大小(3,5,7)、不同通道数目(即。4×B到6×B,以8为间隔,其中B是该块中的基本通道编号在块层),以及不同深度(2,3,4个块)的“一劳永逸”的网络。组合的搜索空间包含超过1035个子网络,它大到可以在上面执行搜索

“一劳永逸”网络的属性。为了确保高效的架构搜索,论文发现一劳永全的网络需要满足以下属性:(1)对于每个提取的子网络,都可以在不需要重新训练的情况下直接评估性能,因此训练的成本只需支付一次。(2)支持一个非常大且细粒度的搜索空间,以支持通道数量搜索。由于论文希望将修剪策略纳入体系结构空间中,一劳永逸的网络不仅需要支持不同的运营商,还需要支持细粒度的信道号(8为间隔)。因此,新的空间被明显地扩大了(从10的9次方到10的35次方是接近二次的)。

然而,由于一次性网络训练的性质,很难同时实现这两个目标:通常认为如果搜索空间太大(例如支持细粒度通道数),精度近似[22]不准确。在训练一次性网络时,一个大的搜索空间会导致高方差。为了解决这个问题,论文采用了渐进式收缩算法[3]来训练一次性网络。具体地说,论文首先训练一个完整的内核大小最大、通道数和深度的完整子网络,并使用它作为教师逐步提取从一次性网络中采样的较小的子网络。在蒸馏过程中,训练过的子网络仍然会更新权重,以防止精度损失。逐步收缩(PS)算法有效地降低了一次性网络训练中的方差。通过这样做,论文可以确保从一对一的网络中提取的子网络在不需要重新训练的情况下保持竞争精度。

2.2 量化感知精度预测器

为了降低各种部署场景中的设计成本,论文提出构建一个量化感知精度预测器P,它基于体系结构配置预测混合精度模型的精度和量化策略。在搜索过程中,论文使用预测的精度(拱门、修剪、量化)而不是测量精度。对预测器P的输入是网络体系结构的编码、剪枝策略和量化策略。

体系结构和量化策略编码。论文对每个构建块的网络体系结构进行逐块编码。瓶颈剩余块(如移动网络V2[30]),论文将点化的核大小、通道数、权重和深度卷积的权重/激活位编码为单热向量,并将这些向量连接在一起作为块的编码。例如,一个块有3种卷积核大小(3,5,7)的选择。和4个种通道数(例如。16,24,32,40)的选择,如果论文选择卷积的=3和通道数=32,那么论文得到两个向量[1,0,0]和[0,0,1,0],论文将它们连接在一起,并使用[1,0,0,0,0,1,0]来表示这个块的体系结构。同样地,论文也使用单热向量来表示特定权重/激活点态层和分层层的位宽的选择。假设点化/分层层的权重/激活位宽选择是4或8,论文使用[1,0,0,1,0,1,1,0]来表示量化策略的选择(4,8,8,4)。如果跳过此块,论文将将向量的所有值设置为0。论文进一步将所有块的特征连接为整个网络的编码。然后对于5层网络,论文可以使用75维的(5×(342×4)=75)向量来表示这样的编码。在论文的设置中,卷积核大小的选择是[3,5,7],通道数的选择取决于每个块的基本信道数,而位宽的选择是[4,6,8],总共有21个块要设计。

精度预测器。论文使用的预测器是一个三层前馈神经网络,每个嵌入的维度等于400。如图3左所示,预测器的输入为上述单热编码,输出为预测精度。与现有的方法[20,5,37]方法不同,论文的基于预测器的方法不需要在搜索阶段对目标数据集上的架构进行频繁的评估。一旦论文有了预测器,论文就可以将它与任何搜索方法集成起来。强化学习、进化、贝叶斯优化等)对架构修剪量化进行联合设计,但成本可以忽略不计。但最大的挑战是如何收集硬件构造、量化策略、精度数据集来训练量化模型的预测器,1)收集量化模型的精度耗时:量化后需要微调才能恢复精度,每个数据点约需要0.2GPU小时。事实上,论文发现为了训练一个良好的全精度精度预测器,80k(NN架构, ImageNet精度)数据对就足够了。然而,如果论文收集一个与全精度数据集相同大小的量化数据集,它可以花费16000GPU小时,这远远超出负担得起。2)量化感知的全精度预测器比传统的精度预测器更难训练:架构设计和量化策略从两个方面影响网络性能,难以建模相互影响。因此,使用传统方法训练量化感知精度预测器可以导致显著的性能下降(表2)。

将预测器转移到已量化的模型中。收集一个量化的NN数据集来训练预测器是不同程度的(需要微调),但是收集一个全精度的NN数据集很容易:论文可以直接从一劳永逸的网络中选择子网络并测量其准确性。论文提出了预测器转移技术,以提高样本效率,弥补数据的不足。由于通常保持量化前后的精度顺序,论文首先在大规模数据集上预先训练预测器,以预测全精度模型的准确性,然后转移到量化模型。量化的精度数据集要小得多,论文只执行短期的微调。如图3所示,论文将当前块的量化位(权重和激活)添加到输入嵌入中,以建立具有量化感知能力的精度预测器。然后,论文使用预先训练好的FP预测器的权重作为初始化,进一步微调了具有量化感知能力的精度预测器。由于大多数权重是从全精度预测器继承的,与从头开始相比,训练需要的数据要少得多。

2.3.“硬件感知”的进化性搜索

由于不同的硬件可能具有完全不同的属性(例如,缓存大小、并行级别),一个硬件的最佳网络体系结构和量化策略对另一个硬件并不一定是最好的。因此,论文的优化不是依赖于一些间接信号(例如,比特操作),而是直接基于目标硬件上的测量延迟和能量。

测量延迟和能量。在实际硬件上评估每个候选策略可能会非常昂贵。由于神经网络的顺序结构,论文可以通过总结每一层的延迟能量来近似模型的延迟能量。论文可以首先构建一个查找表,包含不同体系结构配置和位宽度下的延迟和能量。然后,对于任何候选策略,论文都可以对其进行分解并查询查找表,以直接计算延迟(或能量),但成本可以忽略不计。在实践中,论文发现这种实践可以精确地近似于实际的推理成本。

受资源约束的进化论搜索。论文采用基于进化的架构搜索[8]来探索最佳的资源约束模型。在此基础上,论文进一步用具有量化感知能力的精度预测器取代了评估过程,以直接估计每个候选人的性能。然后,每个候选者的成本可以从N次模型推理减少到只有一次预测器推理的时间(其中N是验证集的大小)。此外,论文还可以通过延迟/能量查找表来验证资源约束,以避免与目标硬件的直接交互。给定一个资源预算,论文直接消除了超出限制的候选人。

2.4 实施细节

架构/量化策略对,并学习架构和量化策略之间的相互关系。进化性的体系结构搜索。对于进化架构搜索,论文将种群大小设置为100,并选择前25个候选者来生成下一代(突变50个,交叉50个)。每个种群都是一个具有量化策略的网络架构,使用与量化感知精度预测器相同的编码。每一层的突变率为0.1,与[8]中的突变率相同,论文随机选择新的核大小和通道数进行突变。对于交叉,每一层都从其父级的层配置中随机选择。论文将最大迭代设置为500,并在最终人群中选择最好的候选人。“量化”。论文遵循在[36]中的实现来进行量化。具体地说,论文用特定的量化策略来量化权值和激活。对于具有量化位b的权重为w的每一层,论文将其线性量化为[−v,v],量化的权重为:

在这里插入图片描述
论文为每层设置在原点权重w和量化权重W‘的发散值W’之间的选择不同的v。对于激活权重,论文将其量化为[0,v],因为在ReLU6层后,该值为非负值。

三、论文试验部分

3.1 试验一:与SOTA高效模型的比较

表2。与最先进的高效模型的硬件固定量化或混合精度的比较。论文的方法将边际搜索时间减少了两个数量级,同时实现了比其他方法更好的性能。在一个新的场景中,边际二氧化碳发射(lbs)和云计算成本($)[32]可以忽略不计。此处边际成本表示在新部署场景中搜索的成本,论文使用N表示未来部署场景的数量,并包括在“设计成本”中训练一次性网络的成本。列出的“论文的模型”将在不同的延迟约束下进行搜索,以进行公平比较。
在这里插入图片描述

3.2 试验二:联合设计的有效性

与移动网络V2HAQ的比较。图4显示了不同延迟约束和能量约束下的位融合平台的结果。在一定的约束条件下,论文共同设计的模型始终优于混合精度和固定精度的SOTA模型。值得注意的是,当约束很紧时,论文的模型是有意义的与最先进的混合精度模型相比,申请人的改进。具体来说,在类似的效率约束下,对于延迟和能量限制,论文将图像网络的精度从移动网络V2基线61.4%提高到71.9%(10.5%)和72.7%(11.3%)。此外,论文还展示了一些由论文的量化感知预测器搜索的模型,而没有预测器转移技术。应用这种技术,准确性可以持续提高,因为非转移的预测器可能会失去架构和量化策略之间的一些相互信息。

图4。与HAQ在延迟/能量约束下由[36]搜索的混合精度模型的比较。基线分别为4位和6位的固定精度。当约束严格的情况下,论文的模型可以比固定精度模型高10%以上,比HAQ高5%。这种性能提升可能受益于动态架构搜索空间,而不是像移动网络V2那样的固定空间。
在这里插入图片描述
与多阶段优化模型的比较。图5将多阶段优化与联合优化结果进行了比较。正如论文所见,在相同的延迟/能量约束下,论文的模型可以获得比多阶段优化模型更好的精度(74.1%和71.8%)。这是合理的,因为每阶段的优化可能不能像联合设计那样找到全局最优模型。

图5。与延迟约束下AMC和HAQ[5,12,36]顺序设计的混合精度模型的比较。论文的联合设计的模型,同时实现了比顺序设计的模型更好的精度。
在这里插入图片描述

在有限比特操作下的比较。图6报告了有限比特运营预算的结果。正如论文所看到的,在严格的比特操作约束下,与使用[8]进行搜索的模型相比,论文的模型的精度提高了2%以上(从71.5%提高到73.9%)。此外,论文的模型实现了与ResNet348位模型相同的水平精度(75.1%),同时节省了8×位操作。

图6。与位操作约束下的量化模型的比较。净34基线为2/3/4位权重和激活。与通过单路径一次性搜索的模型相比,论文的模型的精度提高了0.5%(从74.6%提高到75.1%)。此外,论文的模型的精度与瑞网34模型的8位版本相同(75.0%),同时节省了8×位操作。

在这里插入图片描述

3.3 试验三:预测器转移的有效性

图7显示了论文的预测器转移技术与从头开始的训练相比的性能。对于每个设置,论文训练预测器收敛,并评估成对精度。预测器正确识别从保留数据集中随机选择的两个候选者之间哪一个更好的比例),这是对预测器性能的衡量。论文使用相同的2000hNN架构和2000小时NN架构的测试集,通过随机选择网络架构和量化策略生成的图像网络精度对。通常,对于使用N个数据点的训练,在第二节中提到的两种数据的数量。4是相等的,即,N/2。如所示,转移的预测器具有更高的成对精度收敛速度。此外,当数据非常有限时,论文的方法可以比划伤训练有超过10%的成对精度。

图7。没有或无预测器传输技术的性能说明。成对精度是衡量每两种体系结构之间相对关系的度量标准。左图表明,与无转移方法相比,量化感知预测器可以获得更快、更高的收敛性。右图表明,当数据有限时,预测器转移技术可以很大程度上提高成对精度(从64.6%提高到75.6%)。使用预测器传输技术,论文可以使用小于3k个数据点来实现85%的成对精度,而如果没有这种技术,至少需要4k个数据。

在这里插入图片描述

四、论文总结

论文提出了一种构建混合精度模型的联合设计方法APQ。

与以前的解耦为分离阶段的工作不同,论文直接寻找最优的混合精度体系结构,而无需多阶段优化。

论文使用的预测基方法不能对目标数据集没有额外的评估,这大大节省了GPU在未来场景下的搜索时间,从而略微降低了二氧化碳排放和云计算成本。

为了解决数据收集费用高的问题,论文提出了预测器传输技术来弥补数据的局限性。

与最先进的模型的比较表明,论文的联合设计方法的联合优化和繁荣的必要性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值