前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌发布EfficientNet-EdgeTPU,首次基于AutoML构建加速器优化模型

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

作者头像
新智元
发布2019-08-09 20:21:31
1K0
发布2019-08-09 20:21:31
举报
文章被收录于专栏:新智元


新智元报道

来源:Google AI

编辑:大明

【新智元导读】谷歌发布EfficientNet-EdgeTPU,这是一个源于EfficientNet的定制化图像分类模型,能够通过Auto ML在谷歌Edge TPU上实现自定义运行,运行速度比ResNet-50快10倍,延时由53ms缩短至5ms。

过去几十年来,计算机处理器通过减少每个芯片内部晶体管的尺寸,每两年将其性能提高一倍。随着压缩晶体管尺寸变得越来越困难,业界正在重新关注开发特定领域的架构 - 例如硬件加速器 - 以继续提高计算能力。

对于机器学习来说,这一点尤其重要,特别是构建用于神经网络(NN)加速的专用架构。具有讽刺意味的是,虽然这些架构在数据中心和边缘计算平台上不断涌现,但在其上运行的神经网络很少可以实现定制化,以更充分利用底层硬件。

昨日,谷歌宣布推出EfficientNet-EdgeTPU,这是一个源自EfficientNets的图像分类模型系列,但是可以自定义在Google的 Edge TPU上运行,这是一种节能的硬件加速器,可供开发人员通过Coral Dev Board和USB加速器运行。通过这种模型定制,Edge TPU能够提供实时图像分类性能,同时能够运行规模更大、计算量更多的模型,通常这类精度只能在数据中心才能实现。

用AutoML为Edge TPU构建定制化EfficientNets

EfficientNets已被证明可以在图像分类任务中实现最先进的精度,同时可以显著降低模型的规模和计算复杂度。为了构建能够利用Edge TPU加速器架构的EfficientNets,我们调用了AutoML MNAS框架,并使用在Edge TPU上高效执行的构建块扩充了原始EfficientNet的神经网络架构搜索空间。

我们还构建并集成了“延迟预测器”模块,该模块通过在周期精确的架构模拟器上运行模型,在边缘TPU上执行时提供模型延迟的估计。AutoML MNAS控制器实现强化学习算法以在尝试最大化奖励时搜索该空间,这是预测的等待时间和模型准确度的联合函数。根据以往的经验,我们知道当模型适合其片上存储器时,Edge TPU的功率效率和性能趋于最大化。因此,我们还修改了奖励函数,以便为满足此约束的模型生成更高的奖励。

用于设计定制EfficientNet-Edge TPU模型的总体AutoML流程

搜索空间设计

当执行上述架构搜索时,必须考虑EfficientNets主要依赖于深度可分离卷积,这是一种神经网络块,它将常规卷积的因素减少以减少参数的数量以及计算量。但是,对于某些配置,常规卷积更有效地利用Edge TPU架构并且执行速度更快,尽管计算量更大。尽管手动制作使用不同构建块的最佳组合的网络是可能的,尽管很乏味,但使用这些加速器最佳块来增加AutoML搜索空间是一种更具可扩展性的方法。

常规3x3卷积(右)比深度可分卷积(左)具有更多计算力,但对于某些输入/输出形状来说,在Edge TPU上执行速度更快,效率更高,硬件利用率提升了约3倍。

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

模型性能表现:比ResNet-50快10倍

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

EfficientNet-Edge TPU-S / M / L模型通过专门针对Edge TPU硬件的网络架构,实现了比现有EfficientNets(B1),ResNet和Inception更短的延迟和更高的准确性。尤其是EfficientNet-Edge TPU-S实现了更高的精度,运行速度比ResNet-50快10倍。

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

这项研究使用AutoML构建加速器优化模型的第一个实验。基于AutoML的模型定制不仅可以扩展到各种硬件加速器,还可以扩展到依赖神经网络的几种不同应用。

从云TPU的训练到Edge TPU的部署

我们已经在github存储库上发布了EfficientNet-Edge TPU的训练代码和预训练模型。我们使用tensorflow的训练后量化工具将浮点训练模型转换为Edge TPU兼容整数量化模型。对于这些模型,训练后的量化效果非常好,并且仅产生非常轻微的精度损失(不到0.5%)。

原文链接:

https://ai.googleblog.com/2019/08/efficientnet-edgetpu-creating.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】谷歌发布EfficientNet-EdgeTPU,这是一个源于EfficientNet的定制化图像分类模型,能够通过Auto ML在谷歌Edge TPU上实现自定义运行,运行速度比ResNet-50快10倍,延时由53ms缩短至5ms。
相关产品与服务
边缘可用区
腾讯云边缘可用区(TencentCloud Edge Zone,TEZ)是腾讯云的本地扩展,适用于解决计算、存储和服务可用性问题。腾讯云边缘可用区可为您带来云的诸多优势,例如弹性、可扩展性和安全性。借助腾讯云边缘可用区,您可以在靠近最终用户的地理位置运行对延迟敏感的应用程序,基本消除延迟问题。腾讯云边缘可用区提供与中心节点一致的体验,助力业务下沉,具备更低延时、更广覆盖、更少成本等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档