近日,TensorFlow 推出了一款新的模型优化工具包。利用该该工具包中的技术可以将模型压缩 75%,最大可将速度提升到原来的 3 倍。新手和熟练的开发者都能利用这套工具包中的技术来优化待部署和执行的机器学习模型。预计该工具包中的技术将有助于优化所有 TensorFlow 模型以进行部署,但它对于那些为内存紧张、功率和存储受限的设备提供模型的 TensorFlow Lite 开发人员来说帮助最大。
添加的第一项支持技术是对 TensorFlow Lite 转换工具的训练后量化(post-training quantization)。对于相关的机器学习模型,利用该技术可以将模型压缩到原来的 1/4,并将速度提升到原来的 3 倍。开发者可以通过量化模型减少能耗。这点对于在边缘设备中部署(不局限于手机)非常有用。
训练后量化技术是 TensorFlow Lite 转换工具的一部分。上手非常简单:创建 TensorFlow 模型之后,开发者可以简单地实现 TensorFlow Lite 转换工具中的「post_training_quantize」标记。假设这一保存的模型存储在 saved_model_dir 中,则可以生成量化的 tflite flatbuffer:
TensorFlow 提供了相关教程,深入解析如何做到这一点。未来的目标是将这种技术纳入通用的 TensorFlow 工具中,以便将其部署在目前没有 TensorFlow Lite 支持的平台上。好处在于 ——
- 模型缩小到原来的 1/4
- 主要由卷积层组成的模型执行速度提高了 10-50%。
- 基于 RNN 的模型得到了 3 倍的加速
- 由于减少了内存和计算需求,预计大多数模型将降低功耗。