模型大小缩小75%,TensorFlow推出模型优化工具包

2018 年 9 月 19 日 论智
来源:Medium
编译:Bot

编者按:几个月前,Tensorflow发布了一份名为《Quantizing deep convolutional networks for efficient inference》的白皮书,主要介绍团队关于模型量化的相关工作,所谓量化,简单来说就是将32浮点数近似地用8位整数存储和计算,量化后,模型占用存储空间减小75%,能起到压缩模型的效果。而现在,这项技术就快和大家见面了。

今天凌晨,TensorFlow官方发布消息称将引入一个新的优化工具包,方便机器学习初学者和高级开发人员进行优化,方便模型的部署和执行。

它的名字是训练后量化(post-training quantization),这是模型量化的一类,主要优点有:

  1. 模型占用存储空间缩小75%

  2. 如果是主要由卷积层组成的模型,执行速度提高10–50%

  3. 如果是基于RNN的模型,执行速度提高3倍

  4. 内存、算力要求的降低也意味着大多数模型的功耗会大幅降低

内存、算力、功耗,这是模型量化的主要优化对象,而在实践中,最能从中收益的自然是在各种移动端设备上使用机器学习模型的开发人员,尤其是TensorFlow Lite的用户。

下图展示了使用这个优化工具包后,几种典型模型在存储空间占用上的变化(单核Android Pixel 2手机):

模型尺寸比较:经优化的模型几乎为原来的1/4

下图是训练后量化对模型执行的加速效果(单核Android Pixel 2手机):

延迟比较:经优化的模型执行速度提高了1.2到1.4倍

通常情况下,模型压缩会对原有准确率造成不同程度的影响,但训练后量化的影响几乎等同于无,它能在缩小尺寸、提高速度的前提下保持模型精度,如下图所示(单核Android Pixel 2手机):

启用模型量化

现在训练后量化已被集成到TensorFlow Lite中,它的使用方法很简单:首先构建一个TensorFlow模型,其次在conversion tool中找到模型量化的标志“posttrainingquantize”。假设模型存储在savedmodeldir中,那么具体命令就是:

  
  
    
  1. converter=tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)

  2. converter.post_training_quantize=True

  3. tflite_quantized_model=converter.convert()

  4. open(“quantized_model.tflite”, “wb”).write(tflite_quantized_model)

具体操作可见github:github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/tutorials/posttrainingquant.ipynb

虽然目前开发者们只能在TensorFlow Lite中用到这个技术,但官方也称将尽快把它整合到一般的TensorFlow工具中。

小结

除了训练后量化,在之前提到的白皮书中,Tensorflow还提到了训练时量化,它能使模型的准确率更高。而综合来看,它们都是基于量化设计的技术,依靠把32浮点数近似地用8位整数存储和计算来达到内存占用更少、计算更少和功耗更少的目的。

随着深层神经网络不断在现实中落地,这种技术将适应现代科技设备的发展步伐,为开发者和产品用户带来便利。

原文地址:medium.com/tensorflow/introducing-the-model-optimization-toolkit-for-tensorflow-254aca1ba0a3?linkId=57036398

登录查看更多
6

相关内容

Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
126+阅读 · 2020年3月15日
专知会员服务
44+阅读 · 2020年3月6日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
28+阅读 · 2020年3月5日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
68+阅读 · 2020年1月17日
深度神经网络模型压缩与加速综述
专知会员服务
126+阅读 · 2019年10月12日
TF - GAN入门:TensorFlow 2.0 的轻量级 GAN 库
新智元
5+阅读 · 2019年10月8日
TF Boys必看!一文搞懂TensorFlow 2.0新架构!
引力空间站
18+阅读 · 2019年1月16日
PyTorch 1.0 稳定版正式发布!
新智元
3+阅读 · 2018年12月8日
快讯 | Facebook将推出PyTorch 1.0,整合Caffe2 + PyTorch
大数据文摘
3+阅读 · 2018年5月3日
谷歌发布TensorFlowLite,用半监督跨平台快速训练ML模型!
全球人工智能
5+阅读 · 2017年11月15日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Neural Response Generation with Meta-Words
Arxiv
6+阅读 · 2019年6月14日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
VIP会员
相关论文
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Neural Response Generation with Meta-Words
Arxiv
6+阅读 · 2019年6月14日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Top
微信扫码咨询专知VIP会员