免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

AutoML:实践者眼中的理想与现实

作者:Doris Xin

  • 2022-09-30
    北京
  • 本文字数:4518 字

    阅读完需:约 15 分钟

AutoML:实践者眼中的理想与现实

目前关于自动化机器学习(AutoML)的讨论往往混杂着希望与挫败感。


驱动机器学习项目自动化的动力是很崇高的。通过简化开发流程,可以让更多没有受过数据科学训练,或是没有可用数据中心的人们也能够使用机器学习项目。


但一些供应商所承诺的端到端自动化目前仍不可用。AutoML 可以做到很多事,尤其是建模任务,无论是新手小白还是资深数据科学家都能通过 AutoML 优化自己的工作。但基于目前人工操作与自动化流程的交互,完全自动化流程对于大多数数据科学项目来说,可能永远不会是最佳的选择。除此之外,AutoML 工具在公平性、可解释性以及偏见上的表现也让人不甚满意,这些问题基本是当今人工智能与机器学习的关键所在。AutoML 系统应将重点放在减少数据工程师和机器学习操作者在机械性任务上花费的时间,并优化不同专业水平的从业者的交互体验。


我与几位同事合作,在 ACM CHI 的“计算机系统中的人为因素会议”中发表论文,研究 AutoML 融入机器工作流的途径。论文深入研究了 16 位不同领域的应用者,从业务爱好者到资深从业者,分析了他们在 AutoML 使用方面的情况。


我们通过询问受调查者在使用 AutoML 工具与否时的工作体验和他们对 AutoML 工具的看法,目的是更好地了解 AutoML 用户的需求、AutoML 工具的优劣势,以及在机器学习开发过程中人类开发者与自动化流程各自的作用。

AutoML 的多面性

将机器学习项目中的部分元素自动化处理的想法很合理。数据科学家们大多都有一个梦想,那就是通过简单易用的过程将数据科学平民化,让更多的人能用得上。现今的 AutoML 解决方案主要分为三类:云供应商解决方案、商业平台,以及开源项目。

云供应商解决方案

谷歌云 AutoML、微软Azure自动化机器学习,以及亚马逊SageMaker Autopilot,这些托管式计算资源提供的云解决方案优势大多相差无几:与云数据生态系统整合以提供更多端到端支持、现收现付的定价模式、低门槛且无需担心基础设施问题。但它们同时也给项目带来了常见的云服务难题:缺乏可定制性、固定供应商以及不透明的过程。对非专业科学家或是创新者来说,或许无代码解决方案足够吸引人,但在更高级用户眼中,很多情况下不透明的流程是非常让人困扰的。截至到本文发表,目前只有亚马逊 SageMaker Autopilot 允许用户导出代码和中间结果。无法控制的模型选择和对所使用模型缺乏可见性让大多用户倍感受挫。


无独有偶,谷歌、亚马逊和微软在另一类业务中的的解决方案也有类似问题;云供应商试图将解决方案尽可能端到端化,提供更简单易懂的用户体验,但同时也牺牲掉了可见性和自定义选项。举例来说,谷歌的 AutoML 只会展示最终模型,没有训练代码或是任何训练中的中间结果。微软 Azure 虽然提供了更多训练过程的信息,但仍然没有训练代码。

商业平台

最为热门的商用 AutoML 产品是 DataRobot 和 H2O 无驱动人工智能平台,其背后的公司力求为商业用户、数据科学家,以及企业内部的计算使用者提供端到端 AI 和机器学习平台。他们专注于应用启动或数据结果的即时可用。

开源项目

机器学习领域有很多开源项目。其中较为知名的有Auto-sklearnAutoKeras以及TPOT。开源的过程让数据科学和部署领域的精英汇聚一堂,但其所匮乏的部署后处理往往是商业平台最看中的要点。

AutoML 能为项目带来什么

研究的受访者表示,尽管受挫但 AutoML 仍可以让他们的工作更有成效,其中效果最明显的当属建模任务。虽然大多的 AutoML 供应商都表示他们的产品是“端到端”的,但预处理和后处理阶段基本不受 AutoML 影响。


预处理部分的数据收集、标记以及整理仍是繁琐的人工处理操作。虽然也有一些工具可以协助特征工程并节约时间,但总的来说,大多数从业者在数据准备阶段并不会使用 AutoML。


在后处理阶段,AutoML 确实能提供一部分部署能力。但部署是在 MLOps 与 DevOps 之间自动化互动问题上出了名的难搞。以最常见的后处理任务,报告生成和结果分享为例,虽然云托管的 AutoML 可以自动生成报告和可视化结果,我们的研究却发现用户仍会选择手动修改默认报告。在另一个常见的后处理任务,模型部署方面,只有托管 AutoML 工具的用户才能享受自动部署,而其安全性与终端用户的体验仍然受限。


还未做到端到端的 AutoML 实际会限制优化的效率;在平台与流程间移动项目成分是非常耗费时间心神的,并且极易出错。


AutoML 在超参数调整与模型选择方面则更为常见,也更被偏好。

超参数调整与模型选择

许多项目中的超参数配置的可能膨胀到数十亿的数量等级时,自动化是很好的助手。AutoML 工具可以穷举各种可能配置并给出打分情况,以加速流程并提升性能表现。这一点也是 AutoML 面世之初率先推出的可用功能,这一功能的成熟度大概也是其如此受欢迎的原因。在我们所采访的 16 位用户中,有 11 人使用过 AutoML 的超参数调整功能。


在建模阶段优化关键基础可以节省大量时间。而用户也发现,我们不能在交给 AutoML 任务后不管不顾。这一点其实也是 AutoML 的特点:在用户界面允许的情况下,我们从前人经验中获取到的知识和对场景认知的理解,可以避免部分死胡同。通过限制 AutoML 进程的范围,我们可以人为大幅降低该步骤的成本。


AutoML 在模型选择方面的协助,可以让经验丰富的 ML 从业者不受自己默认观念的影响,快速测试其他模型。我们研究的一位受访者认为,AutoML 的模型选择过程是一个“无假设方法”,不受自己习惯和偏好影响。


将 AutoML 用于模型选择可以提升模型开发和测试的效率,也可以让模型的部署更为有效,尽管后者的效果可能并不是很明显。


如果模型选择过程没有人工参与的话,无论是数据获取、转换、验证还是分布,都将会非常耗费资源。能够识别出不适合部署的模型以及宝贵的计算资源是否被浪费是至关重要的,否则可能会导致 AutoML 管道崩溃。许多 AutoML 工具并不能理解对自己可用的资源数量,从而造成系统故障。人工介入可以缩减可能的模型数量,但这种介入却又与避开操作者默认假设的观念背道而驰。数据科学家或操作者的一个重要作用在于,辨别哪些实验对 AutoML 系统有价值,哪些是浪费时间的。

认识人工介入的开发

无论是市场宣传或是名字称呼,AutoML 平台似乎都暗示了自动化,但用户体验可不是这么说的。没有什么是可以通过简单按钮解决一切的,我们仍然需要人工介入做出决定。然而,工具与人类一起协作可能会比单打独斗要好很多。


通过结合人工与自动化策略,提高模型操作者对最终产品的信心与信任度。我们的受访者表示,运行自动化流程可以验证他们想法,也可以用于快速的原型设计。通过人工流程与 AutoML 流程的并行进行,展示最终结果与人工操作相符,构建模型操作者对 AutoML 管道的信任度。

可复用性

从某种角度来说,数据科学家确实颇具工匠精神。可复用的自动化流程和可标准化的代码让组织在即使有人员流动,也能保持机器学习和人工智能项目库的长期有效。组织可以更快地创建新的模型,也能够更公平地对比模型。

背景:AI 责任的大问题

在现今人工智能发展的阶段,所有的 AI 从业者都应该开始考虑偏见和平等性的问题,是从道德到社会方向的推动,切实地减少偏见对建立客户、用户以及公众层面的信任非常重要。


可解释性的关键在于,我们作为从业者要如何赢得用户的信任。尽管 AutoML 厂商在努力搭建非偏见的过程和可解释性,我们还有很长的路要走,我们还没能有效地处理可解释性。如果模型的本质可以被揭露,结果的来源能够确定,那么这将对构建信任有很大帮助,如果发现问题也可以即使解决。光是人类的参与并不能完全消除偏见的存在,但如果没有可见性,我们只会助长偏见的发生。可视化之类的透明化机制能够帮助用户了解并信任 AutoML,但这还不足以搭建人类与工具所构建模型之间信任和理解的桥梁,人类需要借助代理才能将对 AutoML 的理解提升至信任的程度。


在我们的调查中,从业者会转而采用完全手动的开发,才能对项目拥有期望的用户代理、可解释性以及信任。

人类和自动化的协作关系

当代端到端 AutoML 系统的高度复杂性是必然的。它们的用户或许来自各行各业,目标也许各不相同,但大抵都是在高压下做着困难的工作。正如我们的研究所发现的,AutoML 在机器学习项目中很可能会让压力倍增。


“自动化机器学习”从字面上来看似乎意味着通过一个按钮就可以一站式解决所有问题,但实际上机器学习的从业者才是 AutoML 最宝贵的贡献者和监督者。人类可以提高其效率、有效性和安全性。因此,我们的研究还确定了一套成功的人类与自动化的协作关系所需要考虑的准则:


  • 将自动化的重点放在会消耗数据工程流程中宝贵时间的部分。目前每个数据工程师岗位只有 2.5 位求职者,相比DICE 2020年技术工作报告,每个数据科学家岗位的 4.76 位候选人以及每个网页开发岗位的 10.8 位候选人,数据工程师供不应求。

  • 建立与用户间的信任,并为用户提供代理。无法为用户提供可见性和可控性的 AutoML 系统不能在其能够产生影响的现实场景中使用。

  • 用户体验和用户界面的开发应适配用户的专业水平。AutoML 的未来趋势是为新手和低代码用户开放更多功能。虽然也有用户能够导出原始模型训练的代码,但大多数情况下都会是分心在低影响力的代码上浪费时间,进行无谓的探索。除此之外,新手在面临查看原始模型训练代码的选项时,AutoML 系统应能够自行选择适合的模式,将信息与定制化内容提供给用户。将机器学习行家与“新手模式”相匹配只会让用户因为缺乏控制而倍感挫败,相反,机器学习新手也会因为面对太多自己不了解的东西而分散心神。

  • 为专家用户提供可互动、多点触碰的探索模式。迭代是 ML 从业者习惯和必要的工作方式,工具应当推动而非阻挠这种方式。

  • 让平台成为不同利益相关者间的翻译,共享真实。让商业用户与机器学习从业者之间的对话受益于平台与其中共享的词汇。提供一个可信赖的对话空间,减轻 ML 工程师身上的负担。AutoML 系统应寻求人工控制与自动化之间的平衡,在最佳的时机采用自动化,并允许人类在最合适的部分,提供语境意识与领域专业知识。

AutoML 准备好了吗?

作为工具的集合,AutoML 的能力毋庸置疑,但它还需要更彻底的审查。AutoML 的各类功能都可以帮助数据科学家们优化结果,提高效率;AutoML 也可以提供快速的原型设计;非专科科学家、创新者和资源受限的组织可以借助其采用机器学习。但目前仍没有一个有效的端到端 AutoML 解决方案。


目前的机器学习自动化重点对吗?应该是超参数调整还是数据工程?预期是否合适?


在我们的调查中,从业者更倾向于自动化机器学习开发中较为机械的部分,以加快模型的迭代速度。然而,AutoML 系统却似乎更倾向选择让用户拥有最多代理的过程。尤其是在偏见相关的问题上,AutoML 供应商和从业者都应该要意识到 AutoML 在模型开发方面的缺陷。


机器学习操作(MLOps)也是非常适合自动化的任务,其中包括数据管道构建、模型服务以及模型监控等任务。这些任务可以帮助用户构建模型,而非是普通地将用户从模型构建过程中移除,后者出于透明化和偏见等原因是很不利的。


MLOps 是一个新兴的领域,需要大量重复性工程工作,其所使用的工具和流程也相对不明确。由于数据工程人才的短缺,平均需要 18 个月才能填补一个工作岗位空缺,MLOps 的出现代表着自动化和标准化的巨大机遇。


因此,与其将重点放在 AutoML 上,我们不如关注机器学习与人工智能自动化的未来能实现多少 AutoMLOps 的潜力。


原文链接

AutoML: the Promise vs. Reality According to Practitioners


相关阅读:

是时候怼一波 AutoML 了

基于机器学习的自动化网络流量分析

2022-09-30 08:004950

评论

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

Kotlin学习手记——协程进阶,嵌入式android开发教程

android 程序员 移动开发

Kotlin的自定义View,实现带弧形的进度条,软件开发项目经理面试题

android 程序员 移动开发

LayoutManager高端玩家,实现花式表格,kotlin中文

android 程序员 移动开发

🔥 DeepVideo 智能视频生产训练营火热报名中!

阿里云视频云

阿里云 媒体处理 智能视频 智能生产 视频云

金九银十,我把阿里+字节+滴滴+美团+腾讯等Java岗位面试题用12万字总结出来了

Sakura

Java 编程 程序员 架构 面试

Kotlin协程到底是怎么切换线程的?你是否知晓?(1),kotlin开源项目实战

android 程序员 移动开发

LeakCanary核心源码解析,android开发从入门到精通素材

android 程序员 移动开发

LC狂刷66道Dynamic-Programming算法题。跟动态规划说拜拜

android 程序员 移动开发

Kotlin-风险高、RxJava-不老,Android-原生开发现状分析

android 程序员 移动开发

Vue进阶(幺陆叁):vue项目启动后自动打开页面并设置默认浏览器

No Silver Bullet

Vue 11月日更

lambda表达式(4)(Shawn),开发android

android 程序员 移动开发

又一巅峰神作!14年工作经验大佬出品“JVM&G1 GC深入学习手册”

Java 编程 程序员 JVM GC

Kotlin修炼指南(三),如何在Android-Studio下进行NDK开发

android 程序员 移动开发

FinClip通过中国信通院SDK安全专项测试

FinClip

Kotlin协程到底是怎么切换线程的?你是否知晓?,写得太好了

android 程序员 移动开发

Kotlin学习手记——基本类型,安卓开发kotlin推荐书籍

android 程序员 移动开发

Kotlin学习手记——构造器,【深夜思考】

android 程序员 移动开发

未来怎么样的测试工程师最值钱?

程序员阿沐

软件测试 软件工程师 自动化测试 测试开发 测试工程师

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

Java 编程 程序员 SpringCloud

Kotlin-新版来了,支持跨平台!,android视频开发面试

android 程序员 移动开发

LayoutManager高端玩家,实现花式表格(1),安卓面试题高级

android 程序员 移动开发

kotlin 实战之委托总结,成为一名合格Android架构师

android 程序员 移动开发

Kotlin-基础---数据类型,android项目开发实战入门光盘文件

android 程序员 移动开发

Kotlin协程,flutterplugin打包aar

android 程序员 移动开发

Kotlin-+-协程-+-Retrofit-,记录一次腾讯Android岗面试笔试总结

android 程序员 移动开发

记一次“U盘拔出”后重要文件丢失的恢复之旅

淋雨

EasyRecovery

就这?腾讯云高工熬夜手写'Java微服务学习笔记'也就让我月薪涨3k

Java spring 程序员 面试

Linux学习~树莓派gpio控制,如何化身BAT面试收割机

android 程序员 移动开发

Kotlin-风险高、RxJava-不老,Android-原生开发现状分析(1)

android 程序员 移动开发

Spring Boot+Vue实现汽车租赁系统(毕设)

偶尔善良

MySQL redis Spring Boot Vue

LeetCode,牛客面试必刷,看了这些,flutter面试

android 程序员 移动开发

AutoML:实践者眼中的理想与现实_AI&大模型_InfoQ精选文章