深度学习模型压缩与优化提速

深度学习因其计算复杂和参数冗余,在一些硬件设备上限制了模型的部署,需要借助模型压缩,优化加速,和异构计算来突破瓶颈

模型压缩

量化

量化种类代表网络
二值化网络XNORnet / ABCnet with Multiple Binary Bases /Bi-Real Net
三值化网络Ternary weight networks / Trained Ternary Quantization
W1-A8 或 W2-A8量化Learning Symmetric Quantization
INT8量化TensorFlow-lite / TensorRT

剪枝

深度学习模型因其稀疏性,可以被裁剪为结构精简的网络模型
种类定义范例
非结构的剪枝连接级的,细粒度的剪枝方法,精度行对较高,但依赖于特定的算法库或硬件平台支持Deep Compression / Sparse-Winograd
结构剪枝filter级或layer级,粗粒度方式剪枝,精度相对较低,剪枝策略更为有效Slimming / ThiNet

知识蒸馏

在这里插入图片描述

 教师网络(左侧)的预测输出除以温度参数(Temperature)之后、再做softmax变换,可以获得软化的概率分布(软目标),
 数值介于0~1之间,取值分布较为缓和。
 Temperature数值越大,分布越缓和;
 而Temperature数值减小,容易放大错误分类的概率,引入不必要的噪声。
 针对较困难的分类或检测任务,Temperature通常取1,确保教师网络中正确预测的贡献。
 硬目标则是样本的真实标注,可以用one-hot矢量表示。
 total loss设计为软目标与硬目标所对应的交叉熵的加权平均(表示为KD loss与CE loss),
 其中软目标交叉熵的加权系数越大,表明迁移诱导越依赖教师网络的贡献,
 这对训练初期阶段是很有必要的,有助于让学生网络更轻松的鉴别简单样本,
 但训练后期需要适当减小软目标的比重,让真实标注帮助鉴别困难样本。
 另外,教师网络的推理性能通常要优于学生网络,而模型容量则无具体限制,且教师网络推理精度越高,越有利于学生网络的学习。

网络结构简化

   squeeze-net,mobile-net,shuffle-net

优化加速

能够提升网络的计算效率
种类具体代表
Op-leavel 的快速算法FFT conv2d(77,99),Winograd Conv2d(33,55)
Layer-leavel的快速算法Sparse-block net
优化工具TensorRT(Nvidia) Tensor Comprehension(Facebook) Distiller(Intel)

异构计算

借助于协处理硬件引擎(PCIE 加速卡,ASIC 加速芯片 或加速IP),完成深度学习模型在数据中心和边缘计算领域的实际部署
异构加速硬件针对数据中心的部署应用
GPU FPGA SDAnvidia 的cuda // Xilin的xDNN
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值