• QQ空间
  • 回复
  • 收藏

神经网络自动量化压缩的问题与挑战

gyshssl 科技金融 2021-6-23 06:45 125356人围观

模型量化和剪枝可以降低DNN的计算规模,加速其计算过程,但是不恰当的压缩方法可能会导致模型性能极大退化,甚至导致DNN模型完全不能实际应用。比如,裁剪掉过多的连接或者将DNN的所有数据都量化为二值,将使压缩后的模型失去应用能力。目前,研究者们通过假定一些启发式的条件来探索更好的压缩方法。例如,许多DNN剪枝方法中都提到可根据特征图的显著性进行相应裁剪,对显著性高的特征图保留更高的优先级。而诸多的量化方法则认为,降低直接量化误差,即量化前后数据的欧式距离,可有效减少量化所致的DNN模型性能损失。尽管这些启发式的方法取得了一些成效,但是DNN模型和应用众多、结构复杂多样,研究人员很难设计一种针对所有模型和应用都有效的压缩方法,而要求领域内专家为每一个需要压缩的模型都专门设计合适的压缩算法显然是不现实的。此外,人工设计的启发式的压缩方案仍可能无法获得最佳的模型精度和计算效率。
为此,研究人员探索自动的神经网络压缩方法,尝试通过自动的设计空间探索,为特定的DNN模型搜索与之匹配的压缩方案。然而,DNN自动压缩复杂且困难,主要表现为:(1)DNN模型结构各异、种类众多,为不同的模型设计压缩方法是困难的;(2)搜索空间极大,难以在有限时间内完成参数搜索;(3)搜索方法设计面临极大的挑战;(4)搜索结果的验证代价过高。
当前,DNN自动压缩的思路大多来源于自动机器学习算法(AutoML),为特定的DNN模型自动搜索相应的压缩方法,实现精度与计算效率的权衡。自动机器学习是一种将机器学习任务进行端到端自动化处理的方法,其目的是自动地学习恰当的模型配置和参数,无需人工干预,降低设计和部署成本,提升模型性能。AutoML诸多方面的问题有待深入研究,包括特征工程、神经网络架构搜索(NAS)、超参数优化等。为了解决这些问题,研究者们提出了很多相关算法,比如进化算法、强化学习、深度强化学习、可微神经架构搜索等。为实现DNN模型精度与计算效率的平衡,DNN自动压缩基于AutoML算法,为目标DNN模型自动地寻找与之匹配的压缩方法。比如,AMC使用深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)以每层的参数作为状态值,逐层地自动搜索合适的剪枝比例,在同等的压缩比率下,实现了比人工调试更好的推理精度。HAQ以硬件的计算资源作为状态参数,使用强化学习自动地搜索每层的量化位宽,以搜索合适的量化模型。MixedP则将寻找混合量化位宽模型的过程建模为神经架构搜索问题,提出利用可微神经架构搜索(DNAS)方法搜索具有混合精度的量化模型。AutoQB使用深度强化学习自动地搜索基于通道量化的最优量化策略,其按通道将DNN的权值和特征值量化为不同数量的二值的和。Phan等人提出将MobileNet中的组卷积替换为多组二值的组卷积层的聚合,并使用进化算法搜索最低复杂度与延迟的组卷积策略。HAWQ和HAWQ-2提出了基于权值或特征值的二阶信息评估每层的敏感度的度量方法,并根据每层的敏感度预估其量化位宽。

自动量化压缩待解决的问题和机遇
尽管深度神经网络压缩自动化已引起诸多关注,但是还有很多问题待解决,也为相关深入研究提供了新的机遇。
第一,目前搜索算法的效率较低、计算量大。首先,现有的工作大多基于强化学习、神经网络架构搜索或是计算二阶矩阵信息。这些算法虽然在大多数场景下是有效的,但其巨大的计算资源开销导致难以拓展应用场景,比如在线学习等。因此,尚需探索更为高效的搜索算法。其次,现有的工作难以权衡计算效率与模型推理性能。虽然神经网络压缩能在容忍一定的模型性能下降的前提下实现计算效率的提升,但是自动压缩方法兼顾模型性能和计算效率。一般来说,模型性能和计算效率可以看作两个优化目标,而自动压缩方法的目标应是寻求某些特定条件下的帕累托最优解,比如偏向于计算效率的场景或者推理性能的场景,但目前还鲜有相关的研究工作。
第二,确定需要自动搜索的步骤和范围。DNN模型压缩主要以剪枝和量化为主,剪枝可以被细粒度地应用于每个神经连接,也可以被粗粒度地应用于结构性的连接,甚至是整个神经网络层。而对于每一种剪枝方案,也涉及到异常复杂的剪枝策略。量化也需要决策模型结构中哪些才是待量化的节点、量化的策略如何确定、模型的精度如何保证。将所有的决策过程全部自动化无疑是我们所追求的终极目标,但是这会极大地增加搜索难度。因此,需要确定自动搜索的步骤和范围,逐步提升搜索性能,降低搜索难度。
第三,压缩模型的可重训练。模型量化通常会引起推理精度严重下降,而描述量化过程的投影函数通常是不可导的,将导致量化后的模型难以通过重训练来实现推理精度的提升,因此可重训练的量化与如何收敛尚需进一步研究。虽然目前可广泛使用直通量估计(Straight Through Estimator,STE)来强制将量化过程的导数设置为固定值,甚至采用增量量化的方式来解决量化模型收敛的问题,但是由于难以充分利用权值空间,导致模型收敛不是最佳。量化方法和精度的自动搜索都需要依靠可训练的量化模型,因此还需研究量化模型的可重训练方法。
第四,压缩模型在硬件上的自动部署。无论是非结构化的剪枝模型,还是低精度的量化模型,都存在一定缺陷,难以应用于通用计算平台。计算非结构化剪枝所产生的稀疏矩阵,需要专门的底层API和加速芯片才能实现计算加速,而计算量化所产生的低精度矩阵则依赖于低位宽的计算设备才能实现高效计算。虽然当前FPGA是实现定制计算逻辑、加速DNN压缩模型的理想异构平台,但FPGA设计空间庞大,严重依赖专业人员的领域知识和工程经验。因此,实现DNN自动的软硬件协同设计,也是急需解决的关键问题。


路过

雷人

握手

鲜花

鸡蛋
关注微信