0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow发布了一个新的优化工具包,引入post-training模型量化技术

DPVg_AI_era 来源:未知 作者:李倩 2018-10-04 09:16 次阅读

TensorFlow发布了一个新的优化工具包,引入post-training模型量化技术,将模型大小缩小了4倍,执行速度提升了3倍!

今天,TensorFlow发布了一个新的优化工具包:一套可以让开发者,无论是新手还是高级开发人员,都可以使用来优化机器学习模型以进行部署和执行的技术。

这些技术对于优化任何用于部署的TensorFlow模型都非常有用。特别是对于在内存紧张、功耗限制和存储有限的设备上提供模型的TensorFlow Lite开发人员来说,这些技术尤其重要。

优化模型以减小尺寸,降低延迟和功耗,同时使精度损失可以忽略不计

这次添加支持的第一个技术是向TensorFlow Lite转换工具添加post-training模型量化(post-training quantization)。对于相关的机器学习模型,这可以实现最多4倍的压缩和3倍的执行速度提升。

通过量化模型,开发人员还将获得降低功耗的额外好处。这对于将模型部署到手机之外的终端设备是非常有用的。

启用 post-training quantization

post-training quantization技术已集成到TensorFlow Lite转换工具中。入门很简单:在构建了自己的TensorFlow模型之后,开发人员可以简单地在TensorFlow Lite转换工具中启用“post_training_quantize”标记。假设保存的模型存储在saved_model_dir中,可以生成量化的tflite flatbuffer:

1converter=tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)2converter.post_training_quantize=True3tflite_quantized_model=converter.convert()4open(“quantized_model.tflite”,“wb”).write(tflite_quantized_model)

我们提供了教程详细介绍如何执行此操作。将来,我们的目标是将这项技术整合到通用的TensorFlow工具中,以便可以在TensorFlow Lite当前不支持的平台上进行部署。

教程:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/tutorials/post_training_quant.ipynb

post-training 量化的好处

模型大小缩小4倍

模型主要由卷积层组成,执行速度提高10-50%

基于RNN的模型可以提高3倍的速度

由于减少了内存和计算需求,预计大多数模型的功耗也会降低

有关模型尺寸缩小和执行时间加速,请参见下图(使用单核心在Android Pixel 2手机上进行测量)。

图1:模型大小比较:优化的模型比原来缩小了4倍

图2:延迟比较:优化后的模型速度提高了1.2到1.4倍

这些加速和模型尺寸的减小对精度影响很小。一般来说,对于手头的任务来说已经很小的模型(例如,用于图像分类的mobilenet v1)可能会发生更多的精度损失。对于这些模型,我们提供预训练的完全量化模型(fully-quantized models)。

图3:精度比较:除 mobilenets外,优化后的模型的精度下降几乎可以忽略不计

我们希望在未来继续改进我们的结果,请参阅模型优化指南以获得最新的测量结果。

模型优化指南:

https://www.tensorflow.org/performance/model_optimization

post-training quantization的工作原理

在底层,我们通过将参数(即神经网络权重)的精度从训练时的32位浮点表示降低到更小、更高效的8位整数表示来运行优化(也称为量化)。 有关详细信息,请参阅post-training量化指南。

post-training量化指南:

https://www.tensorflow.org/performance/post_training_quantization

这些优化将确保将最终模型中精度降低的操作定义与使用fixed-point和floating-point数学混合的内核实现配对。这将以较低的精度快速执行最繁重的计算,但是以较高的精度执行最敏感的计算,因此通常会导致任务的最终精度损失很小,甚至没有损失,但相比纯浮点执行而言速度明显提高。

对于没有匹配的“混合”内核的操作,或者工具包认为必要的操作,它会将参数重新转换为更高的浮点精度以便执行。有关支持的混合操作的列表,请参阅post-training quantizaton页面。

未来的工作

我们将继续改进post-training量化技术以及其他技术,以便更容易地优化模型。这些将集成到相关的TensorFlow工作流中,使它们易于使用。

post-training量化技术是我们正在开发的优化工具包的第一个产品。我们期待得到开发者的反馈。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8340

    浏览量

    132276
  • tensorflow
    +关注

    关注

    13

    文章

    328

    浏览量

    60459

原文标题:TensorFlow 首个优化工具来了:模型压缩4倍,速度提升3倍!

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NI LabVIEW 模型接口工具包

    哪位大神有有 LabVIEW 模型接口工具包 ?跪求!
    发表于 02-15 00:44

    如何将Lora开发工具包LoRa(R)技术评估工具包用于商业目的

    嗨,几次之前我带来了Lora开发工具包LoRa(R)技术评估工具包- 800。(我想在这里发布网址,但似乎不可能)。我想把这个工具包用于商业
    发表于 07-29 07:51

    STM32Cube.AI工具包使用初探

    STM32近日推出了Cube.AI人工智能神经网络开发工具包,目标是将AI引入微控制器供电的智能设备,位于节点边缘,以及物联网,智能建筑,工业和医疗应用中的深度嵌入式设备。 简而言之,以后就可以在
    发表于 02-22 06:50

    TensorFlow将神经网络量化为8位

    使用CoreML量化工具优化模型以进行部署。查看34T苹果开发者34Twebsite了解更多更新。 请注意,目前无法在iOS上通过CoreML部署8位量化
    发表于 08-10 06:01

    固件工具包

    固件工具包 修改工具包 高兴向大家公布这个信息! 首先介绍下这个工具地用途: 1、修改固件 - 通过此工具能够修改固件中绝大多数地信息及
    发表于 03-16 14:49 71次下载

    TensorFlow官方发布消息称将引入新的优化工具包

    内存、算力、功耗,这是模型量化的主要优化对象,而在实践中,最能从中收益的自然是在各种移动端设备上使用机器学习模型的开发人员,尤其是TensorFlo
    的头像 发表于 09-21 08:53 2530次阅读

    北大开源中文分词工具包,名为——PKUSeg

    多领域分词:不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。根据待分词文本的领域特点,用户可以自由地选择不同的模型。 我们目前支持
    的头像 发表于 01-16 10:29 6694次阅读
    北大开源<b class='flag-5'>了</b><b class='flag-5'>一</b><b class='flag-5'>个</b>中文分词<b class='flag-5'>工具包</b>,名为——PKUSeg

    关于8流行的Python可视化工具包

    喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?之前文章里出现过漂亮的图表时,也总有读者在后台留言问该图表时用什么工具做的。
    的头像 发表于 05-05 09:02 3323次阅读
    关于8<b class='flag-5'>个</b>流行的Python可视<b class='flag-5'>化工具包</b>

    firefly NCC S1--MDK - SSD模型工具包介绍

    此快速入门指南适用于GTI提供的SSD模型工具包(MDK)。工具包包含两套工具一个模型开发
    的头像 发表于 11-18 14:10 2145次阅读

    Microchip推出软件开发工具包和神经网络IP

    高度灵活的工具包能够以TensorFlow和开放神经网络交换(ONNX)的格式执行模型,最大程度地提升框架的互操作性。ONNX支持Caffe2、MXNet、PyTorch和MATL
    的头像 发表于 06-03 09:30 2740次阅读

    谷歌发布TensorFlow用于人工智能模型的隐私保护

    近日,谷歌发布隐私保护TensorFlow工具包,可以评估各种机器学习分类器的隐私属性。谷歌表示,它旨在成为
    发表于 07-20 11:06 828次阅读

    通过 TensorFlow模型优化工具包TF MOT剪枝API

    发布人:Yunlu Li 和 Artsiom Ablavatski 简介 剪枝是 TensorFlow 模型优化工具包 (TF MOT) 中提供的核心
    的头像 发表于 08-16 17:26 4843次阅读

    使用最新的TAO工具包简化AI模型开发

      NVIDIA AI 企业 提供对 TAO 工具包的企业支持,这是用于 AI 开发和部署的端到端软件套件。 TAO 工具包的新版本将
    的头像 发表于 06-21 15:43 1371次阅读

    使用NVIDIA QAT工具包实现TensorRT量化网络的设计

      目前, TensorFlow 在其开源软件 模型优化工具包 中提供非对称量化。他们的量化方法包括在所需层的输出和权重(如果适用)处插入
    的头像 发表于 06-21 16:54 4146次阅读
    使用NVIDIA QAT<b class='flag-5'>工具包</b>实现TensorRT<b class='flag-5'>量化</b>网络的设计

    LLaMa量化部署

    使用 GPTQ 量化模型具有很大的速度优势,与 LLM.int8() 不同,GPTQ 要求对模型进行 post-training quantization,来得到
    的头像 发表于 08-28 16:44 1379次阅读
    LLaMa<b class='flag-5'>量化</b>部署