你所在的位置: 首页 > 正文

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

2019-08-19 点击:1382
?

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

来自Googleblog

机器的核心编译

参与:杜薇,李亚洲

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

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

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

fdc9bbe67af44b7f9d43c0518580e009.jpeg

Google Edge TPU是一款面向开发人员的低功耗硬件加速器,可通过Coral Dev Board和USB加速器实现。通过这种模型定制,Edge TPU可提供实时图像分类性能,同时实现仅在具有更大,计算密集型数据中心的模型上才能看到的精度。

使用AutoML为Edge TPU定制EfficientNet

事实证明,EfficientNet可以在图像分类任务中实现SOTA准确性,同时显着减小模型尺寸和计算复杂性。为了创建旨在利用Edge TPU加速器架构的EfficientNet,Google称之为Auto MNAS框架,并使用在Edge TPU上高效执行的构建块来增强原始EfficientNet神经网络架构搜索空间。

此外,通过在周期精确的架构模拟器上运行模型,Google还创建并集成了一个“延迟预测器”模块,用于估算Edge TPU执行操作时的模型延迟时间。 AutoML MNAS控制器执行强化学习算法以在尝试最大化奖励时搜索空间,这是预测延迟和模型准确性的共同特征。

根据过去的经验,当模型匹配片上存储器时,Edge TPU的功效和性能通常会最大化。因此,Google还修改了奖励功能,以便为满足相关约束的模型生成更高的奖励。

84513a3b78274992990e7cfe7ef8eb16.png

设计AutoML整个过程以定制EfficientNet-EdgeTPU模型。

搜索空间设计

在执行上述架构搜索时必须考虑到EfficientNet主要依赖于深度可分卷积,这是一种神经网络块,可以分解常规卷积以减少参数数量和计算量。然而,对于某些配置,传统的卷积可以更有效地使用边缘TPU架构并且执行得更快,尽管需要更多的计算工作。尽管可以手动创建可以利用不同构建块的最佳组合的网络,但使用这些加速器优化的块来增强AutoML搜索空间是一种更具可扩展性的方法。

fd1adc8d8e244623a93397acc0a015a8.png

3x3常规卷积(右)比深度可分卷积(左)(乘法累加)计算密集度更高,但对于某些输入/输出大小,前者的硬件利用率提高了3倍,因此它在Edge TPU上执行速度更快。

此外,从搜索空间中删除需要修改Edge TPU编译器以完全支持的某些操作,例如swish非线性和挤压和激励块,自然会产生易于移植到Edge TPU硬件的模型。这些操作通常会略微提高模型质量,因此通过从搜索空间中删除它们,Google有效地指示AutoML发现替代网络架构(可以弥补任何潜在的质量损失)。

模特表现

上述神经结构搜索(NAS)生成基线模型EfficientNet-EdgeTPU-S,然后使用EfficientNet的复合缩放方法对其进行放大以获得-M和-L模型。通过选择输入图像分辨率缩放,网络宽度和深度缩放的最佳组合,复合缩放方法可用于构建更大,更准确的模型。 -M和-L模型以延迟增加为代价实现更高的准确性,如下图所示。

ca81a623e12c4b25ac1ba36f36b2c622.jpeg

通过专为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项目链接:

珊瑚页面:

12: 45

来源:同步机器的心脏

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

来自Googleblog

机器的核心编译

参加人员:杜伟、李亚

今年5月,谷歌提出了一种新的模型缩放方法,该方法使用复合系数来统一缩放模型的所有维度。基于这种模型缩放方法,介绍了一种新的CNN网络效率网。今天,谷歌宣布推出了一个efficientnet edge tpu,这是一个源自efficientnet的图像分类模型,它针对谷歌边缘TPU的优化操作进行了优化。

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

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

0×251C

google edge tpu是一款低功耗硬件加速器,通过coral dev board和usb加速器为开发者提供。通过这种模型定制,边缘TPU提供了实时图像分类性能,同时实现了仅在具有更大、计算更密集的数据中心的模型上才能看到的准确性。

使用automl自定义边缘TPU的efficientnet

事实证明,EfficientNet可以在图像分类任务中实现SOTA准确性,同时显着减小模型尺寸和计算复杂性。为了创建旨在利用Edge TPU加速器架构的EfficientNet,Google称之为Auto MNAS框架,并使用在Edge TPU上高效执行的构建块来增强原始EfficientNet神经网络架构搜索空间。

此外,通过在周期精确的架构模拟器上运行模型,Google还创建并集成了一个“延迟预测器”模块,用于估算Edge TPU执行操作时的模型延迟时间。 AutoML MNAS控制器执行强化学习算法以在尝试最大化奖励时搜索空间,这是预测延迟和模型准确性的共同特征。

根据过去的经验,当模型匹配片上存储器时,Edge TPU的功效和性能通常会最大化。因此,Google还修改了奖励功能,以便为满足相关约束的模型生成更高的奖励。

84513a3b78274992990e7cfe7ef8eb16.png

设计AutoML整个过程以定制EfficientNet-EdgeTPU模型。

搜索空间设计

在执行上述架构搜索时必须考虑到EfficientNet主要依赖于深度可分卷积,这是一种神经网络块,可以分解常规卷积以减少参数数量和计算量。然而,对于某些配置,传统的卷积可以更有效地使用边缘TPU架构并且执行得更快,尽管需要更多的计算工作。尽管可以手动创建可以利用不同构建块的最佳组合的网络,但使用这些加速器优化的块来增强AutoML搜索空间是一种更具可扩展性的方法。

fd1adc8d8e244623a93397acc0a015a8.png

3x3常规卷积(右)比深度可分卷积(左)(乘法累加)计算密集度更高,但对于某些输入/输出大小,前者的硬件利用率提高了3倍,因此它在Edge TPU上执行速度更快。

此外,从搜索空间中删除需要修改Edge TPU编译器以完全支持的某些操作,例如swish非线性和挤压和激励块,自然会产生易于移植到Edge TPU硬件的模型。这些操作通常会略微提高模型质量,因此通过从搜索空间中删除它们,Google有效地指示AutoML发现替代网络架构(可以弥补任何潜在的质量损失)。

模特表现

上述神经结构搜索(NAS)生成基线模型EfficientNet-EdgeTPU-S,然后使用EfficientNet的复合缩放方法对其进行放大以获得-M和-L模型。通过选择输入图像分辨率缩放,网络宽度和深度缩放的最佳组合,复合缩放方法可用于构建更大,更准确的模型。 -M和-L模型以延迟增加为代价实现更高的准确性,如下图所示。

ca81a623e12c4b25ac1ba36f36b2c622.jpeg

通过专为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项目链接:

珊瑚页面:

只提供信息存储空间服务。

边缘

模型

谷歌

加速器

卷积

阅读()

钱柜娱乐客户端

亚心网 版权所有© www.xatst.com 技术支持:亚心网 | 网站地图