数据集成系统_数据集成系统「建议收藏」

数据集成系统_数据集成系统「建议收藏」HAQ:硬件感知的自动混合精度量化系统摘要方法整体量化框架状态空间(Observation&State)卷积层全连接层动作空间(ActionSpace)量化方法奖赏函数(RewardFunction)RLAgentQ

本文是MIT韩松团队发表在 CVPR 2019 Oral 上的论文,本文提出了一种基于强化学习策略的自动化的量化框架,并将硬件架构包含在循环中,因此它可以直接减少目标硬件上的延迟,能耗和存储。

  • 论文题目:HAQ: Hardware-Aware Automated Quantization with Mixed Precision

  • 论文链接:https://arxiv.org/pdf/1811.08886v3.pdf

  • 论文代码:https://github.com/mit-han-lab/haq

摘要

模型量化是压缩和加速深度神经网络(DNN)推理的一种广泛使用的技术。新兴的DNN硬件加速器开始支持混合精度(1-8位)以进一步提高计算效率,这为寻找每一层的最佳位宽提出了巨大挑战:这要求领域专家探索在精度之间进行权衡的广阔设计空间,延迟,能量和模型大小,这既耗时又次优。有许多用于神经网络的专用硬件,但是针对特定硬件体系结构的专用神经网络优化的研究很少。常规的量化算法忽略了不同的硬件架构,并以统一的方式量化所有层。本文介绍了硬件感知自动量化(HAQ)框架,该框架利用强化学习来自动确定量化策略,并且在设计循环中获取了硬件加速器的反馈。本文不再依赖诸如FLOP和模型大小之类的代理信号,而是使用硬件模拟器来生成直接反馈信号(延迟和能量)给RL代理。与传统方法相比,本文的框架是完全自动化的,可以针对不同的神经网络体系结构和硬件体系结构专门化量化策略。与固定位宽(8位)量化相比,本文的框架有效地将延迟降低了1.4-1.95倍,将能耗降低了1.9倍,而精度损失可忽略不计。本文的框架表明,在不同的资源约束(例如,延迟,能量和模型大小)下,不同硬件架构(即边缘和云架构)上的最佳策略完全不同。本文的优势总结如下:

  • 自动化:本文提出了一种自动化的量化框架,该框架不需要领域专家和基于规则的启发式方法。 它使人力免于探索选择位宽的广阔搜索空间。

  • 硬件感知:该框架将硬件架构包含在循环中,因此它可以直接减少目标硬件上的延迟,能耗和存储,而无需依赖代理信号

  • 专业化:针对不同的硬件架构,该框架可以提供专门针对目标硬件架构量身定制的专业量化策略,以优化延迟和能耗

  • 设计启发:解释了从不同硬件体系结构中学到的不同量化策略。考虑到计算和内存访问,该解释提供了有关神经网络体系结构和硬件体系结构设计的启发

方法

整体量化框架

自动化混合比特量化搜索示意图

状态空间(Observation & State)
卷积层

一个10维变量,如下:

O k = ( k , c i n , c o u t , s k e r n e l , s s t r i d e , s f e a t , n p a r a m s , i d w , i w / a , a k − 1 ) O_{k}=\left(k, c_{\mathrm{in}}, c_{\mathrm{out}}, s_{\mathrm{kernel}}, s_{\mathrm{stride}}, s_{\mathrm{feat}}, n_{\mathrm{params}}, i_{\mathrm{dw}}, i_{\mathrm{w} / \mathrm{a}}, a_{k-1}\right) Ok=(k,cin,cout,skernel,sstride,sfeat,nparams,idw,iw/a,ak1)

全连接层

一个7维变量,如下:
O k = ( k , h i n , h o u t , 1 , 0 , s f e a t , n p a r a m s , 0 , i w / a , a k − 1 ) O_{k}=\left(k, h_{\mathrm{in}}, h_{\mathrm{out}}, 1,0, s_{\mathrm{feat}}, n_{\mathrm{params}}, 0, i_{\mathrm{w} / \mathrm{a}}, a_{k-1}\right) Ok=(k,hin,hout,1,0,sfeat,nparams,0,iw/a,ak1)

动作空间(Action Space)

本文使用连续的操作空间来确定位宽。 之所以不使用离散动作空间的原因是因为它失去了相对顺序:例如,2位量化比4位甚至8位甚至更多。 在第 k 个时,连续动作 a k a_{k} ak(在[0,1]范围内),通过如下公式将其四舍五入为离散的位宽值:

b k =  round  ( b min ⁡ − 0.5 + a k × ( b max ⁡ − b min ⁡ + 1 ) ) b_{k}=\text { round }\left(b_{\min }-0.5+a_{k} \times\left(b_{\max }-b_{\min }+1\right)\right) bk= round (bmin0.5+ak×(bmaxbmin+1))

资源约束利用硬件加速器来获取延迟和能量作为反馈信号,以指导 Agent 满足资源约束。

量化方法

 quantize  ( w , a k , c ) = round ⁡ ( clamp ⁡ ( w , c ) / s ) × s \text { quantize }\left(w, a_{k}, c\right)=\operatorname{round}(\operatorname{clamp}(w, c) / s) \times s  quantize (w,ak,c)=round(clamp(w,c)/s)×s

其中s是缩放因子,clamp是截断函数。c 的选择是计算原始分布和量化后分布的KL散度,使其最小化。

c = arg ⁡ min ⁡ D K L ( W k ∥  quantize  ( W k , a k , x ) ) c=\arg \min \mathcal{D}_{\mathrm{KL}}\left(W_{k} \| \text { quantize }\left(W_{k}, a_{k}, x\right)\right) c=argminDKL(Wk quantize (Wk,ak,x))

奖赏函数(Reward Function)

R = λ × ( a c c quant  − a c c origin  ) \mathcal{R}=\lambda \times\left(\mathrm{acc}_{\text {quant }}-\mathrm{acc}_{\text {origin }}\right) R=λ×(accquant accorigin )

在所有层被量化过后,再进行1个epoch的微调,并将重训练后的验证精度作为奖励信号。

RL Agent

本文采用的 RL Agent 是 DDPG,全称是:Deep Deterministic Policy Gradient, 是将深度学习神经网络融合进DPG的策略学习方法。其Q函数设置和损失函数设置如下:

Q-function

Q ^ k = R k − B + γ × Q ( O k + 1 , w ( O k + 1 ) ∣ θ Q ) \hat{Q}_{k}=\mathcal{R}_{k}-\mathcal{B}+\gamma \times Q\left(O_{k+1}, w\left(O_{k+1}\right) \mid \theta^{Q}\right) Q^k=RkB+γ×Q(Ok+1,w(Ok+1)θQ)

loss function

L = 1 N s ∑ k = 1 N s ( Q ^ k − Q ( O k , a k ∣ θ Q ) ) 2 \mathcal{L}=\frac{1}{N_{\mathrm{s}}} \sum_{k=1}^{N_{\mathrm{s}}}\left(\hat{Q}_{k}-Q\left(O_{k}, a_{k} \mid \theta^{Q}\right)\right)^{2} L=Ns1k=1Ns(Q^kQ(Ok,akθQ))2

实验结果

面向边缘与云端的量化结果

面向边缘与云端的量化结果对比

上图是在延迟约束下,MobileNet-V1/V2模型在边缘端和云端设备上的实验结果,与固定的8bit量化方法相比,分别取得了1.4倍到1.95倍的加速。

面向边缘与云端的量化可视化分析

延时约束与能量约束下的量化结果

Latency-constrained and Energy-constrained quantization

模型大小约束下的量化结果

需要注意的是,在模型大小约束下的量化实验中,采用的是非均匀量化的 k-means 方法
数据集成系统_数据集成系统「建议收藏」

Model size-constrained quantization

模型大小约束下的量化可视化分析


更多内容关注微信公众号【AI异构】

今天的文章数据集成系统_数据集成系统「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85036.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注