加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

剪枝需有的放矢,快手&罗切斯特大学提出基于能耗建模的模型压缩

发布时间:2019-04-03 06:19:31 所属栏目:教程 来源:36氪
导读:编者按:本文来自“机器之心”,36氪经授权发布。 作者:思源 最近,快手 Y-Tech 西雅图 AI lab 联合罗切斯特大学等研究者提出了一种基于能耗建模的压缩方法,他们一脉相承的两篇论文分别被 ICLR 2019 和 CVPR 2019 接收。在这篇文章中,我们将介绍这种新

编者按:本文来自“机器之心”,36氪经授权发布。

作者:思源

最近,快手 Y-Tech 西雅图 AI lab 联合罗切斯特大学等研究者提出了一种基于能耗建模的压缩方法,他们一脉相承的两篇论文分别被 ICLR 2019 和 CVPR 2019 接收。在这篇文章中,我们将介绍这种新型模型压缩的核心思想及主要做法,神经网络压缩也许该走向有目标的前进之路了。

模型压缩的应用

目前快手的手机端应用,基本上都会进行模型压缩,因为不管是能耗、效率,还是推断速度,都需要满足很多条件才能投入使用。不管是将深度学习模型部署到云端还是移动端,模型压缩都必不可少。

快手 Y-Tech 西雅图 AI 团队的负责人刘霁教授表示部署到手机端的模型,例如美颜相机、视频的人脸识别、姿态识别等应用都会经过模型压缩,其重点在于减小模型体积、降低模型能耗,以及保证推断效率。

部署到服务器也面临类似问题,因为每一秒都会有成千上万条调用请求,而这些请求需要在规定时间内得到响应。例如更新一次推荐视频,快手的服务器在接到请求以后需要立即计算,把最合适的 Top-N 视频反馈到客户端,这种响应甚至要控制在几毫秒才能满足用户良好的体验。

正因为有很多实际需求,快手尝试构建更高效和有目的性的模型压缩算法。在本文介绍的这两篇论文中,他们以能耗为约束构建更高效和合理的压缩方法。虽然论文以能耗为目标,但实际上可以把它换成推断时间等不同的度量,因此这类神经网络压缩方法有更广泛的应用。

除了这种适用于各种任务的模型压缩,快手还会提出新方法以构建更紧凑的神经网络,这本质上也是一种模型压缩。例如在 Interspeech 2018 的 oral 论文中,语音组提出了一种能使用下文信息的门控循环单元,该模型能在极低延迟的情况下为快手提供语音识别、语音特效和语音评论等应用。

神经网络压缩新观点

在模型压缩方法中,最常见的就是剪枝、量化和知识蒸馏等,我们认为当参数和运算量减少时,模型的能耗和推断延迟等也都会下降。但实际上,它们与能耗等度量并非简单的正比关系,因此这种「想当然」的做法并非是最优方案。

例如模型剪枝,我们希望删除单个不重要的神经元连接,或者直接删除一组不重要的连接(channel 级的剪枝)。通常情况下,这种剪枝只关注减少参数量(或者模型大小)和运算量,并不考虑硬件条件或具体能耗等约束。刘霁表示经典的模型压缩有一个隐含的假设:「在不同层删除一条边所节省的能量,或者说所提升的效率是等价的。」然而,由于物理硬件的复杂性,这个基本假设实际上并不绝对正确。有时候大模型可能比小模型的能量消耗更少或者推断时间更短。

物理硬件实际上很复杂,如果我们用能耗作为约束,它会由几部分组成:计算和数据加载等产生的能耗。算法工程师一般只关注计算复杂度,且通常不太关注数据加载的能耗。因此刘霁表示:「以前的研究工作对硬件本身缺乏足够的关注,不同的硬件都是用同一个压缩的模型,现在我们需要在充分理解硬件的基础上,设计符合各种硬件的模型。」

刘霁等研究者认为目前的模型压缩缺少一种导向,即为某个明确的目的进行压缩,这种导向对当前模型压缩研究很重要。他表示:「与标准剪枝或量化等压缩方法相比,我们的研究重点在于找到指导模型进行剪枝或量化的目标。标准方法只需要模型变小变瘦就行了,但我们需要一种约束来引导优化模型,例如降低能耗或减少模型推断时间等。」

也就是说,我们应该在给定能耗或延迟的约束下,找到满足约束的最「精准」的模型。为了引入这种约束,我们需要解决两大问题:如何对模型能耗或延迟建模;如何解这种带约束的最优化问题。

针对这两个问题,快手 Y-Tech 联合罗切斯特大学近来提出了两套解决方案,它们一脉相承且分别被 ICLR 2019 和 CVPR 2019 两大顶会接收。以能耗为约束,表明这种模型压缩框架能更有效地剪枝,从而满足各种不同的应用。

基于能耗的模型压缩

总的而言,这两篇论文都在思考如何设计一种深度神经网络,它能在满足给定能耗的情况下最大化准确率。这两篇论文都将这种能耗约束加入到最优化过程,并通过端到端的方法学习如何进行更高效的剪枝。

  • 论文:Energy-Constrained Compression for Deep Neural Networks via Weighted Sparse Projection and Layer Input Masking(ICLR 2019)

    论文地址:http://openreview.net/pdf?id=BylBr3C9K7

    • 论文:ECC: Energy-Constrained Deep Neural Network Compression via a Bilinear Regression Model(CVPR 2019)

      论文地址:http://arxiv.org/pdf/1812.01803.pdf

      从方法上来说,刘霁教授表示我们既可以通过数学分析的形式对模型能耗建模,也可以通过数据驱动的方式建模能耗,为了对硬件的行为了解更加深刻和清晰,此该工作与罗切斯特大学计算机体系结构教授紧密配合。ICLR 那篇就通过研究核心的底层硬件确定近似能耗,这种对 GPU 等芯片的分析方法可以快速计算不同剪枝网络的能耗,从而指导剪枝过程。CVPR 那篇通过我们更熟的数据驱动方法,希望模型能学习不同网络与具体能耗的关系。

      对于带约束的最优化方法,其解法并非被广泛熟知。目前深度学习大多数都是无约束优化,直接调用各种优化器就能解决。反观带约束的最优化方法,我们没有成熟的优化器,很多都需要根据针对具体问题实现新的最优化方法。正如刘霁教授所言:「并不是大家没从约束的角度考虑模型压缩,而是带约束的最优化确实需要更多技巧与方法,我们需要更深入的工作来解决这些问题。」

      总体而言,基于能耗的模型压缩过程如 ECC 那篇论文的图 1 所示:ECC 通过数据驱动离线建模能耗,再将其应用到带约束的在线最优化过程中。

      剪枝需有的放矢,快手&罗切斯特大学提出基于能耗建模的模型压缩

      能耗的直接建模

      前面已经介绍能耗的建模可以通过数学分析,但这需要我们对硬件的理解比较充分。在 ICLR 的那篇论文中,刘霁等研究者重点关注如何对卷积层与全连接层的能耗建模,因为它们在推断过程中占了 90% 以上的执行时间与能耗。其它模块的能耗比较少,可以近似地看作一个很小的常量。

      神经网络的推断能耗与硬件底层架构有关,该论文研究了 TPU 和 Volta GPU 等硬件都采用的矩阵运算方法脉动阵列(systolic array)。对该硬件进行能耗建模最终就能计算出不同模型的能耗,如下所示为计算矩阵乘法时的主要能耗,其中脉动阵列包含一些能执行乘加运算(MAC)的计算单元。

      剪枝需有的放矢,快手&罗切斯特大学提出基于能耗建模的模型压缩

      总能耗主要可以分为 MAC 的计算能耗与数据读写的能耗,这篇论文的总体建模即弄清楚模型稀疏性如何影响这两部分能耗。

      (编辑:温州站长网)

      【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读