提前锁票 InfoQ 最具价值感的视频栏目 | InfoQ 大咖说 了解详情
写点什么

谷歌正式开源 Model Search!自动优化并识别 AI 模型,最佳模版唾手可得

2021 年 2 月 20 日

谷歌正式开源Model Search!自动优化并识别AI模型,最佳模版唾手可得

日前,谷歌开源 Model Search,帮助研发人员开发最佳机器学习学习模型。

Model Search:查找最佳机器学习模型的开源平台


2 月 19 日,谷歌宣布发布了Model Search,这是一个开源平台,旨在帮助研究人员高效、自动地开发和创建机器学习模型。


神经网络(NN)技术是否成功,往往取决于此类模型能否在多种任务中实现良好泛化。但这类高泛化能力模型的设计往往极为困难,学术界甚至还没有就神经网络的泛化思路达成统一:


  • 对于特定问题,合适的神经网络应该是个什么样子?

  • 最好选择怎样的深度?

  • 应该使用哪些层类型?

  • LSTM 就够了,还是说 Transformer 层会更好?或者说应该二者相结合?

  • 装配或蒸馏等方法会提高模型性能吗?


正是这种种棘手问题的存在,才导致机器学习成为一个严重依赖于工程师个人理解与直觉判断的领域。


近年来,AutoML 算法开始快速兴起,旨在帮助研究人员以无需手动实验的方式快速找到合适的神经网络。


神经架构搜索(NAS)等技术能够使用强化学习(RL)、进化算法与组合搜索等方法在给定的搜索空间之内构建起神经网络。只要得到正确设置,这些技术已经可以带来超越手动设计的性能表现。


但这类算法通常涉及巨大的运算量,而且在实际收敛之前往往需要借助成千上万套模型进行训练。此外,这类算法只能探索特定领域的搜索空间,而且需要借助大量难以跨域传播的先验性知识。以图像分类为例,传统的 NAS 会搜索出两个良好的构建块(卷积与下采样块),再根据以往惯例对构建块进行排列以创建完整网络。


为了克服这些不足,并将 AutoML 解决方案的适用范围推向更广泛的研究社区,我们在这里正式公布 Model Search 的开源版本。这套平台能够帮助研究人员高效自动开发出最佳机器学习模型。


Model Search 不受特定领域限制,拥有良好的领域中立性,且能够灵活找到最适合给定数据集与待解决问题的理想架构,同时尽可能降低编码时长、工作量与算力需求。


Model Search 以 Tensorflow 为基础构建而成,能够在单设备或分布式设备集群当中运行。

概述


Model Search 系统由多个训练器、一项搜索算法、一项迁移母算法以及一套拥有大量已评估模型的数据库。


Model Search 能够以自适应、异步方式运行多种机器学习模型(采用不同架构与训练方法)的指令与评估实验,确保所有训练器都能从实验中共享专业知识,并据此独立完成更多实验。


在每个轮次开始时,搜索算法都会介入全部已经完成的实验,并使用 beam search 决定接下来该做出哪些尝试。之后,搜索算法会通过“变异”识别出多种最佳架构,并将结果模型返回至训练器处。


图片


Model Search 示意图中展示了分布式搜索与装配过程。每个训练器独立运行以训练及评估特定模型。得到的结果将与搜索算法共享。在此之后,搜索算法会调用最佳架构之一的变异形式,再将新模型发送回训练器以进行下一轮迭代。其中的 S 代表训练与验证样本集合,A 则代表训练与探索过程中所使用的全体候选对象。


这套系统使用一组预定义的构建块生成神经网络模型,每个块代表一个已知的微架构元素,例如 LSTM、ResNet 或者 Transformer 层。通过使用这些预先存在的架构组件,Model Search 可以利用跨域 NAS 研究中得出的现有最佳知识。之所以如此高效,是因为 Model Search 探索的是结构— 而非结构中其他更基础、更细化的组件 — 所以能够极大缩小搜索空间规模。


图片


运行良好的各神经网络微架构块,例如 ResNet 块。


由于 Model Search 框架以 Tensorflow 为基础构建而成,因此各块也可以接受张量作为输入函数。例如,如果我们希望引入新的搜索空间,且此空间由一系列微架构构建块组成,则 Model Search 框架会将新定义的块合并至搜索过程当中,确保算法能够借此构建起最佳神经网络。


这里的构建块,甚至可以是能够独立解决某些特定问题的完全定义神经网络。如果选择这种方式,那么 Model Search 又可以作为一种强大的神经网络装配机。


Model Search 中实现的搜索算法具有自适应性、贪婪性与增量性,因此其收敛速度要比强化学习算法更快。


更重要的是,Model Search 同样会模仿强化学习算法的“探索与利用”性质,即先分离出一项针对良好候选对象的搜索(探索部分),再通过装配这些良好候选对象以提升准确率(利用部分)。


在对架构或训练方法做出随机更改(例如加大架构的深度)之后,主搜索算法会做出自适应修改,据此执行效果最好的 k 项实验之一(其中的 k 可由用户灵活指定)。


图片


网络在多项实验中不断进化的示例。每种颜色代表不同类型的架构块。最终网络是由高性能候选网络变异而来,在此示例中的变异为增加网络深度。


为了进一步提高效率与准确性,还可以在不同内部实验之间进行迁移学习。Model Search 通过两种方式实现迁移学习 — 知识蒸馏或权重共享,从先前训练完成的模型中推导出可供后续模型使用的某些变量。以此为基础,即可显著加快学习速度并有望快速扩展出性能更强的架构选项。


知识蒸馏旨在增加与基础模型实际情况相匹配的损失项以提高候选对象的准确性,这些损失项应与高性能模型的预测结果相匹配。


另一方面,权重共享则直接从以往训练完成的模型中复制合适的权重,并对其余权重部分进行随机初始化,借此为变异后的新网络提供参数搭配指引。这种方式不仅有助于加快训练速度,同时也能带来更多性能更好的架构选项。


在 Model Search 运行完成之后,客户即可检查搜索得出的大量模型选项。此外,客户也可以生成自己的个人搜索空间,借此进一步选取模型中的自定义架构组件。

实验结果


Model Search 成功以最少的迭代次数实现了生产模型改进。在最近发表的论文中,谷歌以关键词发现与语言识别模型为例,演示了 Model Search 在语音领域的实际效能。只需要不到 200 次迭代,其生成的模型就已经略优于专家设计的内部最新生产模型,且训练参数的数量也由后者的 31 万 5 千条降低至 18 万 4 千条。


图片


与原有关键字发现生产模型相比,我们通过系统迭代得到的模型拥有更高的准确性。在同一篇论文中,语言识别测试也得出了类似的结论。


谷歌还在得到广泛使用的 CIFAR-10 成像数据集上使用 Model Search,希望找到最适合的图像分类架构。


通过一组已知的卷积块——包括卷积、Resnet 块(即两个卷积加一条 skip 连接)、NAS-A 单元、全连接层等,谷歌观察到 Model Search 能够在短短 209 次试验(仅探索 209 个模型)后迅速达成 91.83 的基准准确性。


相比之下,NasNet 算法(强化学习)需要 5807 次试验、PNAS(强化学习加渐进式学习)需要 1160 次试验,才能达到相同的模型性能。

总结


谷歌公司调查工程师 Hanna Mazzawi 与调查科学家 Xavi Gonzalvo 在博文中写道,“我们希望 Model Search 代码能够为研究人员们提供一套灵活且具有领域中立性的框架,帮助他们轻松发现良好的机器学习模型。以特定领域的已有知识为基础,我们相信这套框架将迸发出巨大的能量,在由标准构建块组成的搜索空间之内为各类现实问题选取性能最强的模型选项。”


原文链接:


https://ai.googleblog.com/2021/02/introducing-model-search-open-source.html


https://venturebeat.com/2021/02/19/googles-model-search-automatically-optimizes-and-identifies-ai-models/


2021 年 2 月 20 日 13:551625
用户头像
刘燕 InfoQ记者

发布了 514 篇内容, 共 159.0 次阅读, 收获喜欢 961 次。

关注

评论

发布
暂无评论
发现更多内容

年轻人你不讲武德,自己偷着学习!spring Security五套「源码级」笔记哪里来的?我也要!

Java架构追梦

Java 源码 架构 面试 spring security

linux开发各种I/O操作简析,以及select、poll、epoll机制的对比

良知犹存

linux开发

架构师训练营第 1 期 -week9

习习

区块链能修复企业云计算吗?

CECBC区块链专委会

区块链 云计算

利用区块链数字化人民币,中国有望从追随者变为新秩序的领导者

CECBC区块链专委会

区块链 数字人民币

区块链商品溯源系统开发,数据上链应用落地方案

WX13823153201

新思科技:ISO/SAE 21434标准即将发布 你准备好了吗?

InfoQ_434670063458

新思科技 汽车软件安全

大整数算法

落曦

2020年10月公有云性能评测:盛大云-华东蝉联冠军,腾讯云-北京无缘前三

BonreeAPM

云计算 腾讯云 ucloud 公有云 评测

区块链的常识之,什么是区块链股份授权证明机制DPoS?

CECBC区块链专委会

区块链 共识机制

想了解物联网应用的自动部署,看这篇就够了

华为云开发者社区

服务器 华为云 部署

2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声

京东科技开发者

程序人生

训练营第五周作业

爱码士

训练营

今年最火的 Golang 云原生开源项目,可能就是它了!

阿里巴巴云原生

go 开源 Kubernetes 云原生

基于ELK的日志平台介绍

Rayzh

ELK 日志系统

第11代酷睿处理器出色体验的奥秘原来是这个!

intel001

训练营第5周学习总结

爱码士

训练营

探秘RocketMQ源码【1】——Producer视角看事务消息

阿里云金融线TAM SRE专家服务团队

开源 RocketMQ 中间件 开源代码 消息中间件

聊聊在国企当程序员的这三年,这样的生活真的是你想要的吗?

Java架构师迁哥

DocView 现在支持自定义 Markdown 模版了!

程序员小航

markdown IDEA idea插件 文档生成

从资源管理角度认识K8S

LorraineLiu

Kubernetes 云原生 k8s k8s入门

区块链司法可信存证,版权维护应用落地

t13823115967

区块链司法可信存证 版权维护应用落地

anyRTC uni-app 跨平台SDK 发布!总有一款适合你!

anyRTC开发者

uni-app 音视频 WebRTC RTC

OpenKruise:阿里巴巴 双11 全链路应用的云原生部署基座

阿里巴巴云原生

Kubernetes 运维 云原生 中间件 存储

软件测试流程

测试人生路

软件测试

数据库:我没有带闪,不讲武德

比伯

Java 编程 程序员 面试 计算机

OAuth 2.0授权框架详解

程序那些事

OAuth 2.0 程序那些事 Oauth 授权框架 安全框架

前端如何实现一键截图功能?

徐小夕

Java 前端 React 前端训练 前端进阶

重点人员管控系统开发,情报研判系统搭建

t13823115967

重点人员管控系统开发 情报研判系统搭建

面试官都爱问的ThreadLocal

执墨

ThreadLocal 哈希表 弱引用

阿里P8熬夜完成这两份800页Java面试核心知识原理+框架

马士兵老师

Java 程序员 面试 编程语言 架构师

打造 VUCA 时代的 10 倍速 IT 团队

打造 VUCA 时代的 10 倍速 IT 团队

谷歌正式开源Model Search!自动优化并识别AI模型,最佳模版唾手可得-InfoQ