【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

  • 2021-02-20
  • 本文字数:2798 字

    阅读完需:约 9 分钟

谷歌正式开源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/


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-02-20 13:553106
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 493.1 次阅读, 收获喜欢 1966 次。

关注

评论

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

SecureCRT Mac版:强大的终端仿真与会话管理

晴雯哥

山东布谷科技直播软件开发WebRTC技术:建立实时通信优质平台

山东布谷科技

软件开发 WebRTC 实时通信 源码搭建 直播软件开发

Tomcat使用教程。

百度搜索:蓝易云

云计算 tomcat Linux 运维 Java Servlet

网上正规实体平台现场同步yscy898

新百盛娱乐yscy898

上线规则 微咨询 Fil币现在进场合适吗? 简单查询

Presto 内存参数设置建议

冰心的小屋

presto memory query.max-memory presto 内存

Mac前端开发神器 Sublime Text 4中文版

晴雯哥

大型模型的重要基石与洞察力之源之文本数据

来自四九城儿

局域网与Kubernetes内部网络如何互通

不焦躁的程序员

k8s

绝了!学编程的还有不知道的吗?这个Java开发工具免费了

SoFlu软件机器人

开发者工具 开发工具 java\ 智能开发

柏睿向量数据库Rapids VectorDB赋能企业级大模型构建及智能应用

新消费日报

成为大主播的必懂知识:直播源码推流

山东布谷网络科技

直播推流 直播源码

第二届广州·琶洲算法大赛报名截止 3300多支队伍将展开激烈角逐

新消费日报

Ubuntu 20.04 安装 Carla详细教程。

百度搜索:蓝易云

云计算 Linux 运维 Carla Simulator

SpringBoot3数据库集成

Java 架构 springboot SpringBoot3

《企业家》杂志封面人物丨王文京:数智化助企业“基因迭代”

用友BIP

VMWare Fusion Pro中文版 macOS 强大虚拟机软件 (完美兼容M1M2/支持win10win11 )

晴雯哥

网上正规实体现场同步平台

新百盛娱乐yscy898

构建高性能的MongoDB数据迁移工具:Java的开发实践

这我可不懂

Java mongodb 开发框架

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

大瞿科技

Redis Sentinel 初步设计方案

艾瑾行

架构训练营

《MySQL——从删库到跑路》阿里架构师分享删库跑路救命策略

java易二三

Java 程序员 计算机

java8 通过反射执行接口的default方法

java易二三

Java 程序员 计算机

精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取

汀丶人工智能

人工智能 自然语言处理 信息抽取

数智双擎,算融未来”,2023东湖算力与大数据创新大会圆满召开

彭飞

统一门户|WorkPlus整合内部应用,构筑企业统一的智能工作入口

WorkPlus

深入浅出java Semaphore

java易二三

程序员 jdk 计算机 科技

全新 – Amazon EC2 M1 Mac 实例

亚马逊云科技 (Amazon Web Services)

Amazon EC2

使用 Spring 实现控制反转和依赖注入

小万哥

Java spring 云原生 后端 SpringCloud

Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索

汀丶人工智能

人工智能 自然语言处理 语义搜索 语义搜索系统 文本匹配

网络安全作业

大肚皮狒狒

C++实现一键关闭桌面

二哈侠

谷歌正式开源Model Search!自动优化并识别AI模型,最佳模版唾手可得_AI&大模型_刘燕_InfoQ精选文章