如今,诸如计算机视觉、智能语音交互等基于深度学习的AI技术,在满足日常应用层面上已经非常成熟。比如,人脸识别闸机在机场、地铁、办公楼、学校等地方随处可见。什么都不用带,只要刷个脸就行,方便快捷又省事!
当有人经过闸机时,可以在0.1-0.3秒内完成人脸实时跟踪,并在0.2秒内完成高安全性的静默活体检测及人脸比对,如此高效的响应速度,你知道是怎么做到的吗?
目前深度学习在各个领域轻松碾压传统算法,不过真正用到实际项目中却面临两大问题:计算量巨大;模型占用很高的内存(深度学习模型可能会高达几百M)。
为了更好地应对这些实际业务需求,解决终端系统资源有限等问题,百度深度学习平台飞桨(PaddlePaddle)对端侧推理引擎PaddleLite进行了新一轮升级,v2.3版本正式全新上线!
PaddleLitev2.3新功能包括:
支持“无校准数据的训练后量化”方法,模型压缩高达75%。优化网络结构和OP,ARMCPU推理速度最高提升超20%。简化模型优化工具操作流程,支持一键操作,用户上手更容易。
此次升级带来了以下几个方面的变化:
01支持“无校准数据的训练后量化”方法模型压缩高达75%
在手机等终端设备上部署深度学习模型,通常要兼顾推理速度和存储空间。一方面要求推理速度越快越好,另一方面要求模型更加的轻量化。为了解决这一问题,模型量化技术尤其关键。
模型量化是指使用较少比特数表示神经网络的权重和激活,能够大大降低模型的体积,解决终端设备存储空间有限的问题,同时加快了模型推理速度。将模型中特定OP权重从FP32类型量化成INT8/16类型,可以大幅减小模型体积。经验证,将权重量化为INT16类型,量化模型的体积降低50%;将权重量化为INT8类型,量化模型的体积降低75%。
PaddleLite结合飞桨量化压缩工具PaddleSlim,为开发者提供了三种产出量化模型的方法:量化训练、有校准数据的训练后量化和无校准数据的训练后量化。
其中“无校准数据的训练后量化”是本次PaddleLite新版本重要新增内容之一。
图1三种产出量化模型方法的处理示意图
“无校准数据的训练后量化”方法,在维持精度几乎不变的情况下,不需要样本数据,对于开发者来说使用更简便,应用范围也更广泛。
当然,如果希望同时减小模型体积和加快模型推理速度,开发者可以尝试采用PaddleSlim“有校准数据的训练后量化”方法和“量化训练”方法。
PaddleSlim除了量化功能以外,还集成了模型压缩中常用的剪裁、蒸馏、模型结构搜索、模型硬件搜索等方法。更多详细的介绍,请参见Github: