论文原文:https://arxiv.org/pdf/2011.09926.pdf

翻译:闪闪·Style

摘要

近年来,作为一个学术研究领域,同时也是实际商业问题的一种解决方案,机器学习越来越受到人们的关注。然而,在生产系统中部署机器学习模型可能会引发一些问题和关注点。本综述回顾了在各种用例、行业与应用程序中部署机器学习解决方案的公开报告,并提取了与机器学习部署工作流阶段相对应的多个实际考虑事项。我们的调查显示,从业者在部署的每个阶段都面临挑战。本文的目标是规划一个研究议程,以探索解决这些挑战的方法。

(1)介绍

机器学习已经从单纯的学术研究领域发展到应用领域。事实上,根据麦肯锡公司最近进行的一项全球调查,机器学习越来越多地应用于标准业务流程中,同比增长近25%[1],公众、企业领袖[2]和政府[3]对机器学习的兴趣与日俱增。

这种转变伴随着挑战。与其他领域一样,学术环境中的工作原理与现实世界系统的要求之间存在显著差异。在这一过程中,应该始终预料到会存在某些瓶颈和无效的假设。随着更多的解决方案被开发出来并被部署,从业人员有时会以各种形式报告他们的经验,包括各类出版物和博客文章。在这项研究中,我们对这些报告进行了全面评述,以了解当前在生产中部署机器学习所面临的那些挑战。首先,我们提供机器学习部署工作流的概述。第二,我们回顾用例研究,以提取从业者在每个特定部署阶段遇到的问题和关注点。第三,我们讨论了影响部署工作流每个阶段的横切特征(cross-cutting aspects):伦理考量、终端用户的信任与安全性。最后,我们对这些问题的潜在解决方案和进一步的工作进行了简要讨论。

十年前,这种调查已经进行过,尽管目的不同。机器学习主要是一门研究性的学科,在信息技术行业中,在大型科技公司以外很少看到针对商业问题而部署机器学习解决方案。因此,这样一个综述的目的是证明机器学习可以用来解决各种问题,并用实例加以说明,正如Pechoucek和Marík[4]所做的那样。如今,人们关注的焦点已经发生了变化:机器学习在许多行业中被普遍采用,而问题不再是“在哪里使用它?”而是“使用起来有多困难?”

评估企业机器学习部署现状的一种流行方法是在专业人员中进行调查。此类调查主要由私营公司进行,涉及各种主题。Algorithmia的报告([5],[6])深入到部署时间轴(timeline)中,大多数公司报告部署单个模型需要8到90天,而18%的公司甚至需要更长的时间。IDC[7]的一份报告调查了2473家组织及其在机器学习方面的经验,发现很大一部分部署尝试失败了,主要原因是缺乏专业知识、数据偏差和高成本。O'Reilly进行了一项访谈研究,重点关注机器学习从业者的工作经验和他们使用的工具[8]。dotscience[9]和dimensional research[10]也制作了更广泛的基于访谈的报告。

虽然有许多关于这个主题的商业报告,但整个机器学习部署流水线上的挑战几乎从未像在学术文献中那样被广泛地涵盖。有一个新兴的出版物领域,专注于已部署的机器学习的特定方面,如:Bhatt等人[11]关注可解释的机器学习,或:Amershi等人[12]讨论了部署机器学习的软件工程方面的内容。也存在大量针对特定行业的综述,我们在下面的适当章节中回顾了其中的一些工作。然而,我们发现的唯一一般性的综述是Baier等人[13],它结合了文献回顾和对行业合作伙伴的访谈。与那篇专注于信息科技行业经验的论文不同,我们的目标是涵盖各个行业的案例研究。我们还特别详细地讨论了文献中最通常被报告的那些挑战。

在我们的综述中,我们考虑三种主要类型的论文:

  1. 案例研究论文,报告了单个机器学习部署项目的经验。这些工作通常深入讨论作者所面临的每一个挑战以及如何克服这些挑战。
  2. 回顾论文,描述了机器学习在特定领域或行业中的应用。这些回顾通常总结了在被回顾领域内部署机器学习解决方案期间最常见的挑战。
  3. “经验教训”论文,作者们反思了他们过去在生产中部署机器学习的经验。

为了确保这项调查关注当前的挑战,除了少数例外,只考虑过去五年发表的论文。我们也会在适当的情况下参考其他类型的论文,例如:实践指导报告、访谈研究、规章制度。作为这项研究的一部分,我们自己并没有进行任何访谈,这一点以及其他潜在的扩展将在论文最后部分的相应部分进行讨论。

本文的主要贡献是展示了从业者在机器学习部署工作流的每个阶段都面临着挑战。这个综述支持我们的目标,即提升学术界对从业者在部署机器学习时所面临的各种问题的认识,并就如何解决这些问题展开讨论。

(2)机器学习部署工作流

出于这项工作的目的,我们使用了Ashmore等人[14]建议的机器学习部署工作流定义,但是也可以采用任何其他流水线描述来进行类似的回顾。在本节中,我们将简要概述我们正在使用的定义。

根据Ashmore等人的工作[14],在工业环境中开发基于机器学习的解决方案的过程包括四个阶段:

  1. 数据管理,重点是准备建立机器学习模型所需的数据;
  2. 模型学习,在这里进行模型选择和训练;
  3. 模型验证,其主要目标是确保模型符合某些功能和性能要求;
  4. 模型部署,即将经过训练的模型集成到运行该模型所需的软件基础设施中。本阶段还将讨论有关模型维护和更新的问题。

每一个阶段都被进一步分解成更小的步骤。需要强调的是,这种描述的明显顺序并不一定是现实生活场景中的规范。这些阶段在一定程度上并行运行并通过反馈回路相互通知是非常正常的。因此,这个或任何类似的分解不应被视为一个时间轴,而是一个有用的抽象,以简化对部署流水线的具体部分的引用。

在本文的其余部分中,我们将讨论从业者在每个阶段及每个颗粒组成(granular constituent)步骤上所面临的常见问题。我们还讨论了可能影响部署流水线每个阶段的横切特征。表1总结了我们讨论的问题和关注点。我们并不认为这个列表是详尽无遗的,尽管如此,通过为工作流的每个步骤提供说明性的示例,我们展示了今天整个部署体验是多么的麻烦。

(表1:本研究探讨的所有考虑因素、问题和关注点。每个都被分配到部署工作流中经常遇到的阶段和步骤。)

(3)数据管理

数据是任何机器学习解决方案的有机组成部分。解决方案的整体有效性依赖于训练与测试数据,正如对算法的依赖一样。在任何一个生产级机器学习流水线中,创建高质量数据集的过程通常都是第一个阶段。不足为奇的是,从业者在处理数据时会面临一系列问题,Polyzotis等人[15]曾报道过。因此,这一阶段消耗的时间和精力往往是事先没有预料到的。在本节中,我们将描述与数据管理的四个步骤有关的问题:数据收集、数据预处理、数据扩充和数据分析。请注意,我们认为存储基础架构挑战(如设置数据库和查询引擎)超出了本文综述的范围。

(3.1)数据收集

数据收集涉及的活动,旨在发现和理解可用的数据以及如何为其组织方便的存储机制。发现有什么数据和数据在哪里的任务本身就是一个挑战,特别是在大型生产环境中。找到数据源并了解其结构是一项主要任务,这可能会阻止数据科学家开始实际的应用程序开发。正如Lin和Ryaboy[16]所解释的,在Twitter,这种情况经常发生是因为同一个实体(例如:Twitter用户帐号)被多个服务处理。Twitter内部由彼此调用的多个服务组成,每个服务负责某个单一操作。这种方法在软件工程中被称为“单一责任原则”[17],其结果是在可伸缩性和修改方面具有非常灵活的体系结构。然而,这种方法的另一面是,在大范围内,不可能跟踪与实体相关的哪些数据是由哪个服务以何种形式存储的。此外,有些数据可能只是以日志的形式存在,这些日志本身就不容易被解析或查询。更糟糕的情况是数据不存储在任何地方,为了构建数据集,需要生成合成的服务API调用。如此分散的数据给数据科学家们带来了很大的障碍,因为如果不清楚什么数据是可用的或者可以获得的,通常不可能理解机器学习解决方案可以实际实现什么目标。

(3.2)数据预处理

预处理步骤通常涉及一系列数据清理活动:对缺失值进行填充,将数据规约为有序且简化的形式,并将原始形式映射为更方便的格式。执行这样的数据操作的方法是一个超出本综述调研范围的研究领域。我们鼓励读者参考该主题的评论文章,如Abedjan等人[18]、Patil和Kulkarni[19]、Ridzuan等人[20]。Lawrence[21]提出了一种对机器学习任务的数据准备度进行分类的方法。

另一个鲜为人知但也很重要的问题,也可以看作是预处理步骤的一个目标,那就是数据分散(data dispersion)。结果往往是,可能存在多个相关的独立数据源,这些数据源可能具有不同的模式、不同的约定以及它们自己的存储和访问数据的方式。将这些信息加入一个适合机器学习的数据集本身就是一个复杂的任务。Firebird的开发人员面临的一个例子是[22]。Firebird是亚特兰大消防局的一个咨询系统,帮助确定消防检查的优先目标。作为开发Firebird数据的第一步,我们从12个数据集中收集了数据,包括火灾事件历史、营业执照、同住一幢房子的人等。这些数据集被合并成一个单一的数据集,涵盖由消防局监控的每个财产的所有相关方面。作者特别强调数据连接是一个难题。考虑到建筑物位置是识别建筑物的最佳方法,每个数据集都包含指定建筑物地址的空间数据。空间信息可以以不同的格式显示,有时还包含一些细微的差异,例如不同的拼写。所有这些都需要清理和纠正,结果是一项耗费大量时间的巨大努力。

(3.3)数据扩充

数据可能需要扩充有多种原因,而在实践中,最有问题的原因之一是缺少标签。现实世界中的数据通常是未施加标签的,因此施加标签本身就是一个挑战。我们讨论了缺少已标签数据的三个可能的因素:专家访问受限、缺少高方差数据以及数量庞大。

标签分配在倾向于生成大量数据的环境中很困难,例如网络流量分析。为了说明这个体量的规模,一个1 GB/s以太网接口可以每秒传送多达150万个数据包。即使有一个巨大的下采样率,这仍然是一个很大的数字,每个采样包都需要被跟踪,以便标记。Pacheco等人[23]描述了这个问题,他们调查了机器学习在网络流量分类中的应用,包括协议识别或攻击检测等任务。在该域中,有两种主要的数据获取方法,对于标记目的来说,这两种方法都很复杂:

  1. 不受控制,收集真实流量。这种方法需要属于特定应用程序的复杂跟踪流。由于这种复杂性,很少有工作为实际流量实现可靠的地面真实的标签分配。
  2. 可控的、模拟的或生成的流量。即使在这种情况下,已有的标签分配工具也会在收集到的机器学习数据集中引入错误,对于某些应用程序,错误率几乎高达100%。此外,对于被加密的流量,这些工具的性能会严重降低。

访问专家的机会是获取高质量标签的另一个瓶颈。尤其是对于那些标签过程所要求的专业知识非常重要的领域,例如医学图像分析[24]。通常要求多个专家对一组图像进行标记,然后将这些标签聚合以确保质量。由于能找到的专家资源有限,对大数据集而言进行全面标记很少是可行的。在这里,一个可能的选择是使用带有噪声的标签信息或较弱的注释,但是根据它们的定义,这些方法提供了不精确的标签,这最终导致模型质量的严重损失。这样的损失在医疗保健行业是不可接受的,即使是最小的偏差也可能导致灾难性的后果(这被称为最终百分比挑战)。

在将机器学习解决方案从实验室环境部署到现实世界时,缺少对高方差数据的访问可能是其中的主要挑战之一。Dulac Arnold等人[25]解释说,这就是强化倾斜(RL)的情况。在RL研究中,通常的做法是访问不同的环境来训练和评估一个代理(agent)。然而,在实践中,所有的数据都来自真实的系统,并且代理不能再有一个单独的探测策略--这是非常不安全的。因此,可用数据变为低方差。虽然这种方法确保了安全性,但这意味着代理人程序没有接受过这样的训练,即:识别不安全情况并在其中做出正确决策。这个问题的一个实际例子是自动驾驶车辆的目标规范(goal specification)[26]。

(3.4)数据分析

需要对数据进行分析,以发现其中潜在的偏差或意外的分布。高质量工具的可用性对于进行任何类型的数据分析都是必不可少的。从业者发现在这方面特别具有挑战性的一个领域是数据配置工作(data profile)的可视化[27]。数据配置工作是指与数据质量故障排除相关的所有活动,如缺失值、不一致的数据类型和假设验证。尽管与数据库和统计领域有着明显的相关性,但是能够有效执行这些数据挖掘任务的工具仍然太少。考虑到微软[28]进行的调查显示,数据科学家认为数据问题是对整体工作质量产生怀疑的主要原因,因此对此类工具的需求变得很明显。

(4)模型学习

模型学习是部署工作流的一个阶段,在学术界最受关注。所有关于机器学习方法的现代研究都有助于我们有更好的选择、在现阶段有大量的模型和方法可以用于部署。作为该领域增长规模的一个例证,提交给主要机器学习方法会议NeurIPS的申请数量在六年内翻了两番,从2014年的1678份增加到2019年的6743份[29]。然而,仍然有许多实际的考虑因素影响模型学习阶段。在这一部分中,我们将讨论模型学习的三个步骤:模型选择、训练和超参数选择。

(4.1)模型选择

在许多实际情况下,模型的选择往往取决于模型的一个关键特性:复杂性。尽管深度学习和强化学习等领域越来越受到研究界的欢迎,但在实践中,我们通常会选择简单模型,如下所述。该模型包括浅层网络结构、简单的PCA基(PCA-base)方法、决策树和随机森林。

简单的模型可以作为一种方法来证明所提出的机器学习解决方案的概念,并使端到端环境设置就位。这种方法加快了获得已部署解决方案的时间,允许收集重要的反馈,也有助于避免过于复杂的设计。这是Haldar等人[30]报告的案例。在将机器学习应用于AirBnB搜索的过程中,团队从一个复杂的深度学习模型开始。团队很快就被它的复杂性压倒了,最终消耗了(大量的)开发周期。在几次失败的部署尝试后,神经网络架构被彻底简化:一个单独的隐藏层NN,32个ReLU激活完全连接。即使是这样一个简单的模型也有价值,因为它允许在生产环境中构建部署机器学习模型的整个流水线,同时提供相当好的性能。随着时间的推移,模型不断发展,添加了第二个隐藏层,但它仍然相当简单,从未达到最初预期的复杂程度。

不太复杂的模型可以提供的另一个优势是它们的硬件需求相对适中。这成为资源受限环境中的关键决策点,如Wagstaff等人[31]所示。他们致力于将机器学习模型部署到Europa Clipper航天器上的一系列科学仪器上。航天器的设计总是在总重量、坚固性和船上科学工具的数量之间进行权衡。因此,计算资源是稀缺的,它们的使用必须尽可能小。这些需求自然倾向于计算需求较少的模型。Europa Clipper背后的团队将机器学习用于三个异常检测任务,一些模型将时间序列数据作为输入,而一些模型则采集图像,并且在这三种情况下都实现了简单的阈值或基于PCA的技术。选择它们是因为它们稳定可靠的性能,以及对计算力较低的需求。

资源受限环境的另一个例子是无线蜂窝网络,其中能量、内存消耗和数据传输十分受限。尽管能够处理高维的移动网络数据,但大多数先进的技术,如深度学习,尚未被考虑用于实际部署[32]。

将模型的输出解释为可理解的业务领域术语的能力通常在模型选择中起着关键作用,甚至可以超过性能考虑因素。因此,决策树(DT)被认为是一种基本的机器学习算法,在实践中得到了广泛的应用。例如,Hansson等人[33]描述了制造业中由于决策树的高解释性而采用决策树的几个案例。

银行业是决策树广泛使用的又一个例子。作为一个说明性的例子,Keramati等人[34]使用了该方法,其中机器学习应用程序的主要目标是通过理解if-then规则来预测客户流失。虽然很容易想象更复杂的模型学习这个特定问题的最终投入产出关系,但解释性是这里的关键要求,因为需要识别流失客户的特征。作者发现决策树是满足这一要求的最佳模型。

然而,深度学习(DL)通常用于实际背景任务,需要分析大量先前获得的数据。无人机领域就是这一概念的例证[35]。图像传感器由于其成本低、重量轻、功耗低而在无人机中很常见。因此,利用数字图像的原始处理能力是数字图像处理的主要途径。但计算资源需求仍然是无人机上部署深度学习作为在线处理工具的主要障碍。

(4.2)训练

模型训练最大的问题之一是,由于所需的计算资源,与进行训练阶段相关的经济成本。在自然语言处理(NLP)领域,这一点无疑是正确的,正如sharr等人[36]所示。作者观察到,虽然单个浮点运算的成本在降低,但是训练NLP的总成本只会增加。他们采用了该领域最先进的模型之一,BERT[37],发现根据所选的模型尺寸,整个训练过程的成本可能在5万美元到160万美元之间,这是大多数研究机构甚至公司无法承受的。作者观察到训练数据集的大小、模型参数的数量和训练过程使用的操作数都对总成本有贡献。这里特别重要的是第二个因素:新的NLP模型已经使用了数十亿个参数,这个数字在不久的将来还会进一步增加[38]。

Strubell等人[39]提出了一个相关的关注点,即机器学习模型的训练对环境的影响。机器学习模型训练消耗了越来越多的计算资源,提高了能源消耗和温室气体排放。根据本文提供的估计,利用神经结构搜索的一个完整训练周期所排放的二氧化碳量相当于四辆普通汽车在其一生中的排放量。作者强调研究人员意识到模型训练的这种影响是多么的重要,并认为社区应该给予计算效率高的硬件和算法更高的优先级。

(4.3)超参数选择

除了在训练过程中学习的参数外,许多机器学习模型还定义了几个超参数。超参数优化(HPO)就是选择这些超参数的最优集的过程。大多数HPO技术涉及机器学习模型的多个训练周期。除此之外,每一个新的搜索维度都会随着新的搜索空间的增加而呈指数级增长。正如Yang和Shami[40]所讨论的,这些考虑因素使得HPO技术在实践中非常昂贵且极其消耗资源,特别是对于深度学习的应用。即使是像Hyperband [41]或Bayesian optimization[42]这样专门设计用于所需训练周期最小化的方法,由于模型的复杂性或数据集的大小,仍然不能处理某些问题。

HPO通常需要考虑模型运行所在环境的特定要求。Marculescu等人[43]在硬件感知(hardware-aware)机器学习的背景下就举例说明了这一点。为了将模型部署到嵌入式和移动设备上,需要充分了解这些设备所施加的能量和内存限制。这就需要定制硬件感知优化技术,以协同优化模型的准确性和硬件效率。

(未完待续)

下一篇文章:(英国剑桥大学)部署机器学习中的挑战:案例研究综述(中)中文译文

(英国剑桥大学)部署机器学习中的挑战:案例研究综述(上)中文译文 Challenges in Deploying Machine Learnings: a Survey of Case Studies相关推荐

  1. 让医生能更好诊断患者风险 英国剑桥大学开发心脏病预测AI

    据了解,英国剑桥大学的研究人员开发的这款 AI 心脏病预测产品,需要使用大量的健康信息绘制每个患者的健康趋势,分类算出每种疾病的风险,进而使临床医生更好地诊断或预测患者的疾病风险. 该项目采用深度学习 ...

  2. 今晚7:30 | 罗切斯特大学张宋扬、英国剑桥大学刘方宇

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 8月12日 19:30~20:30 AI TIME特别邀请罗切斯特大学博士生--张宋扬.英国剑桥大学博士生--刘方宇,开启ACL第一场! ...

  3. 直播预告 | 罗切斯特大学张宋扬、英国剑桥大学刘方宇

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 8月12日 19:30~20:30 AI TIME特别邀请罗切斯特大学博士生--张宋扬.英国剑桥大学博士生--刘方宇,开启ACL第一场! ...

  4. 章泽天将赴英国剑桥大学读书?证件照都是这么能打...

    自从性侵风波事件之后,刘强东本人非常低调,其妻子章泽天更是鲜少有消息,不仅从未在公开场合露面,连微博更新也是停留在2018年5月31日,只有两次疑似朋友圈发言曝光. 日前,倒是有了关于章泽天的一些新消 ...

  5. c语言编程物理实验,大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究...

    大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究 摘要 用C语言编程的方法处理比较复杂的实验数据,简捷准确且避免了传统方法的弊端,与用Excel处理数据的方法相比,其结果更符合误差理论. ...

  6. 剑桥大学:机器学习模型部署都有哪些坑?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:机器之心本文约2500字,建议阅读6分钟在生产环境中部署机器学 ...

  7. php 项目反应理论,科学网—好文 | 纽约石溪大学:机器学习中基于项目反应理论的集成学习 - 陈培颖的博文...

    机器学习中,研究者们对分类集成的关注与日俱增,尤其关注分类精度的提升.IJAC近期发表了来自纽约石溪大学研究者的最新成果,该研究基于项目反应理论,提出一种加权投票方法---基于IRT理论的集成学习算法 ...

  8. 英国伯明翰大学首席教授姚新:人工智能研究应从三个问题重新考虑

    5月20日,由中国电子学会主办,ZD至顶网协办的第八届中国云计算大会进入了最后一个日程,在最后一日的全体大会上,英国伯明翰大学首席教授姚新做出了以"三个被遗忘的脑启发计算问题"为题 ...

  9. what???日本大蒜销量激增;剑桥大学『机器学习与贝叶斯推理』最新课程;黑客工具速查清单;图片隐形水印添加工具;前沿论文 | ShowMeAI资讯日报

最新文章

  1. python读取一行数组_python 把文件中的每一行以数组的元素放入数组中的方法
  2. 2017年终奖发放,程序员人均11776元排名第一!
  3. mysql查询系统年月_mysql每个月自动创建一张表,以年月做为表名,如何进行联合查询...
  4. Java8 List<对象> 转 Set、Map(高级)、排序、分组、统计
  5. Linux 命令(55)—— netstat 命令
  6. POJ3979 分数加减法【水题】
  7. Excel·VBA考勤打卡记录统计结果
  8. 如何自己制作图标文件
  9. Kubernetes之Secrets
  10. HMC510LP5ETR资料
  11. mysql求和语句大全_经典SQL语句大全(1)
  12. 华为RH2288 V3安装 linux 龙蜥anolis系统安装
  13. 什么是幽默?什么是高级幽默?
  14. 苹果手机 和安卓手机调用相机和相册
  15. InnoDB---深入理解事务提交--02
  16. ./configure 自动生成makefile
  17. 面向对象与原型-ps:这一章简直是天书
  18. BUUCTF 打卡8
  19. MyEclipse中jer配置
  20. rk3288 7.1 lvds屏幕亮度偏暗

热门文章

  1. MFS详解(二)——MFS原理和架构
  2. [BZOJ3669]-[Noi2014]魔法森林-LCT+并查集
  3. 小米8探索版android版本,小米8透明探索版三个月使用体验
  4. 全国通用ADSL宽带账号快速检测工具0.2 拽爷 专版
  5. 一个比较简单的x2m解密方法
  6. windows Media Player 9.0网页播放器
  7. DirectIO(O_DIRECT) 详解
  8. 【Python】使用pyecharts制作桑基图
  9. iOS8-Swift开发教程-李珊-专题视频课程
  10. 美剧《反恐24小时》