AutoML构建加速器优化模型首尝试,谷歌发布EfficientNet-EdgeTPU

来自Googleblog

机器之心编译

参与:杜伟、李亚洲

今年5月,Google提出了一种新的模型缩放方法,该方法使用复合系数来均匀地缩放模型的所有维度。基于该模型缩放方法,引入了新的CNN网络EfficientNet。今天,谷歌宣布推出EfficientNet-EdgeTPU,这是一种源自EfficientNet的图像分类模型,该模型针对Google Edge TPU的最佳操作进行了优化。

几十年来,正如摩尔定律所描述的那样,通过减小芯片内部晶体管的尺寸,计算机处理器的性能可以每隔几年翻一番。但随着晶体管尺寸的缩小变得越来越困难,业界正专注于开发特定领域的架构,如硬件加速器,以继续提高计算能力。

在机器学习领域尤其如此,需要创建用于神经网络加速的专用架构。具有讽刺意味的是,虽然这些架构在数据中心和边缘计算平台上稳步扩展,但它们所依赖的神经网络很少被定制以利用底层硬件。

通过专为Edge TPU硬件设计的网络架构,EfficientNet-EdgeTPU-S/M/L模型在延迟和准确性方面优于EfficientNets(B1)和ResNet。特别是,EfficientNet-EdgeTPU-S实现了更高的精度,运行速度比ResNet-50快10倍。

有趣的是,NAS生成的模型在网络的初始部分非常大地使用传统卷积,并且当在加速器上执行时,深度可分离卷积通常比常规卷积效率低。这清楚地突出了这样一个事实,即优化通用CPU模型时的常规权衡(例如减少操作总数)不一定是硬件加速器的最佳选择。而且,即使不使用高级操作,这些模型也可以实现高精度。与其他图像分类模型(如Inception-resnet-v2和Resnet50)相比,EfficientNet-EdgeTPU模型不仅更精确,而且在Edge TPU上运行速度更快。

本研究代表了使用AutoML构建加速器优化模型的第一次尝试。基于AutoML的模型定制不仅可以扩展到各种硬件加速器,还可以扩展到依赖于神经网络的各种不同应用。

从云 TPU 训练到 Edge TPU 部署

在Github上,Google发布了EfficientNet-EdgeTPU的培训代码和预培训模型。使用TensorFlow的训练后量化工具,Google将浮点训练模型转换为Edge TPU兼容的整数量化模型。对于这些模型,训练后量化效果非常好,只有非常轻微的精度损失(~0.5%)。

Github项目链接:珊瑚网页:

——