TensorFlow的新型模型优化工具包可使模型速度提高3倍

  本周TensorFlow推出了一个新的模型优化工具包。这套技术同时适用于新老开发员以优化机器学习模型,特别是运行TensorFlowLite的开发人员。任何现有TensorFlow模型均适用。

  什么是TensorFlow中的模型优化?

  TensorFlowLite转换工具新支持训练后量化。理论上,这可以使数据中的压缩率提高四倍,相关机器学习模型的执行速度提高三倍。

  在量化它们所使用的模型时,功耗也降低。

  启用训练后量化

  此量化技术已集成到TensorFlowLite转换工具中。启动非常容易。构建TensorFlow模型后,您可以在TensorFlowLite转换工具中简单地启用“post_training_quantize”标志。如果模型被保存并存储在saved_model_dir中,则可以生成量化的tfliteflatbuffer。

 TensorFlow的新型模型优化工具包可使模型速度提高3倍

  有一个说明性的教程解释了如何做。TensorFlowLite当前不支持在平台上使用此技术部署,但计划将其合并到通用TensorFlow工具中。

  训练后量化的优势

  这种量化技术的好处包括:

  l模型尺寸减少约四倍。

  l在主要由卷积层组成的模型中执行速度提高10-50%。

  l是RNN模型速度的三倍。

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

  下图显示了使用单核在GooglePixel2手机上几个模型的模型尺寸减小,执行时间加速。我们可以看到优化后的模型几乎小了四倍。

 TensorFlow的新型模型优化工具包可使模型速度提高3倍

  加速和模型尺寸的减小不会对精度产生太大影响。启动时小尺寸的模型可能会遭受更大的损失。这是一个比较:

 TensorFlow的新型模型优化工具包可使模型速度提高3倍

  它是如何工作的?

  在幕后,它以减少参数精度(神经网络权重)的方式来运行优化。从训练时间32位浮点表达至更小更有效的8位整数表达中缩减模型尺寸。

  这些优化在结果模型中用固定和浮点算数混合的内核粗略地操作,以确保配对。这能够快速执行最重的计算,但精度较低。但是,最敏感的数据仍然是以高精度计算的,准确性较高。

上一篇:linux 高性能读书笔记之应用层协议HTTP相关小知识


下一篇:ASP.NET上传文件对文件类型的高级判断