Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

小舟参与

机器学习模型部署都有哪些坑?剑桥研究者梳理了99篇相关研究

在生产环境中部署机器学习模型是一个复杂的过程,需要考虑诸多因素,也存在很多挑战。近日,来自剑桥的研究者梳理了该流程常见的问题。

近年来,机器学习在学术研究领域和实际应用领域得到越来越多的关注。但是,在生产系统中部署机器学习模型存在许多问题和担忧。近日,来自剑桥的研究者做了一项调查,综述了在各个用例、行业和应用中部署机器学习解决方案的报告,并提取了机器学习部署工作流程各阶段需要实际考量的因素。


论文地址:https://arxiv.org/pdf/2011.09926.pdf

该调查表明,机器学习从业者在部署模型的每一个阶段都面临挑战。该论文的意义是制定研究议程,以探索解决这些挑战的方法。

该调查主要考虑了三种类型的论文:

  • 用例研究型论文:这类论文提供单个机器学习部署项目的经过,通常会深入讨论作者面临的每个挑战以及克服方式。

  • 综述文章:这类文章描述了机器学习在特定领域或行业中的应用,通常总结了在所涉及领域中部署机器学习解决方案最常遇到的挑战。

  • 经验总结型论文:作者通常会回顾他们在生产中部署机器学习模型的经验。


为确保本次调查聚焦当前挑战,剑桥大学研究人员仅考虑近 5 年发表的论文,只有少数例外。此外,他们还引用了其他类型的论文,例如实践指导报告、访谈研究、规则制度。需要注意的是,该论文没有进行新的访谈。

机器学习部署流程

该论文使用 Ashmore 等人 [14] 提出的机器学习部署工作流程定义。根据该定义,在工业环境中开发 ML 解决方案的过程包含 4 个阶段:

  • 数据管理:重点是准备构建机器学习模型所需的数据。

  • 模型学习:模型选择和训练。

  • 模型验证:确保模型符合特定功能和性能要求。

  • 模型部署:将训练好的模型集成到运行模型所需的软件基础架构中。此阶段还涵盖模型维护和更新的问题。


以上每个阶段还可以进一步细分。但需要注意的是其顺序与现实场景未必完全相符,这些阶段并行执行或存在反馈循环是很正常的。

本文探讨了每个阶段会出现的常见问题,以及会对各阶段带来影响的跨领域问题,参见下表:



数据处理

数据是任何机器学习解决方案中不可或缺的部分,训练和测试数据对解决方案整体效果的影响不比算法少。创建高质量数据集通常是生产级机器学习流程的第一步。该论文介绍了数据管理的四个步骤:数据收集、数据预处理、数据增强和数据分析

数据收集

数据收集旨在发现和了解可用数据,以及组织数据的存储结构。发现和寻找数据本身就是一项挑战,特别是在大型生产环境中。查找数据源并了解其结构是主要任务,对于后续数据科学家开展实际应用开发具有重要作用。

数据预处理

预处理步骤通常涉及一系列数据清洗步骤:插补缺失值、将数据缩减为有序且简化的形式、从原始格式映射为更便于处理的格式。

数据增强

数据增强的原因有多种,其中最重要的原因之一是数据缺少标签。现实世界中的数据通常没有标签,缺少标注数据的可能因素有三个:专家访问受限、缺乏高方差(high-variance)数据、数据量过大。

数据分析

数据分析旨在发现数据中的潜在偏差或意外分布。高质量工具对于任何类型的数据分析都至关重要,其中数据剖析(data profiling)的可视化是极具挑战性的。

模型学习

近年来,机器学习方法的研究倾向于在模型学习阶段更好地选择和使用各种模型和方法。六年来,机器学习顶会 NeurIPS 的论文提交量翻了两番,从 2014 年的 1678 篇到 2019 年的 6743 篇。尽管如此,模型学习阶段仍然受到许多实际因素的影响。本文主要阐明了与模型选择、训练和参数选择 3 个步骤有关的问题。

模型选择

在许多实际例子中,模型选择通常取决于模型的一个关键特性:复杂度。尽管深度学习强化学习在研究界越来越受欢迎,但实际情况中往往会选择比较简单的模型。常用的模型包括:浅层网络架构,基于 PCA 的简单方法、决策树、随机森林

训练

模型训练最受关注的问题之一是因计算资源导致的经济成本。在自然语言处理(NLP)领域,尽管单个浮点运算的成本在降低,但训练 NLP 模型的总成本却在增长。Sharir 等人选择 SOTA 模型之一 BERT 进行实验,结果发现根据所选模型的大小,完整训练过程的经济成本可能在 5 万到 160 万美元不等,而这是大多数研究机构甚至企业无法承受的。此外,训练数据集的大小、模型参数的数量和训练过程中用到的操作数量都会对总成本产生影响。值得一提的是,模型参数量是尤其重要的影响因素:新的 NLP 模型已经达到了数十亿的参数量,未来这一数字还可能进一步增加。

参数选择

除了在训练过程中学习到的参数以外,许多机器学习模型还定义了一些参数参数优化(HPO)是选择这些参数最佳集合的过程。大多数 HPO 技术涉及机器学习模型的多个训练周期。此外,HPO 任务的规模随着每个新的参数呈指数式增长,因为它为搜索空间增加了新的维度。正如 Yang 和 Shami 所说,这些考虑因素使 HPO 技术在实践中非常昂贵且耗费资源,尤其是对于深度学习的应用而言。即使 Hyperband 和贝叶斯优化这类专门设计用来最小化所需训练周期的方法,由于模型复杂度和数据集大小等问题,有些问题仍然无法解决。

模型验证

模型验证阶段的目标是多方面的,因为机器学习模型应该很好地泛化到未见过的输入,显示出对边缘情况的合理处理和整体鲁棒性,并满足所有的功能需求。该论文讨论了与模型验证中的三个步骤——需求编码、形式验证和基于测试的验证有关的问题。

需求编码

定义机器学习模型的需求是测试活动的关键前提,但实际情况中经常会发现模型性能提升并不能转换为商业价值的增益。

形式验证

形式验证是指验证模型功能是否符合项目范围内所定义的要求。这类验证包括对其正确性的数学证明,也可以包括输出误差范围的数值估计,但是这种情况实际上很少发生,往往是通过广泛的监管框架形式化设置高质量标准。

基于测试的验证

基于测试的验证旨在确保模型能够很好地泛化到未见过的数据。尽管收集验证数据集通常不是问题,但对于生产部署而言这可能还不够。

模型部署

在生产环境中运行的机器学习系统是复杂的软件系统,需要根据时间的变化进行维护。这给开发人员带来了新的挑战。其中一些挑战在运行常规软件服务时也存在,而有些挑战则是机器学习特有的。

模型集成

模型集成步骤包括两个主要活动:构建运行模型的基础架构,以可使用和支持的形式实现模型。前者几乎是完全属于系统工程的主题,后者则属于机器学习领域,它揭示了机器学习与软件工程交集中的重要问题。

模型监测

模型监测是维护机器学习系统方面的问题之一。社区正处于理解待监测数据和模型的关键指标以及如何启动警报的早期阶段。监测不断变化的输入数据、预测偏差和机器学习模型的整体性能是一个尚未解决的问题。

该论文强调的另一个维护问题与数据驱动决策有关,即反馈循环。生产级机器学习模型可以通过定期的再训练影响自己的行为。在确保模型保持最新状态的同时,我们可以创建反馈循环,即调整模型的输入以影响其行为。

模型更新

模型完成初始部署后,通常还需要更改,以确保模型始终反映数据和环境的最新趋势。有多种技术可以使模型适应新数据,包括按计划定期再训练和持续学习。但在生产环境中,模型更新会受到多种实际因素的影响。

除了与机器学习模型部署工作流程四阶段相关的问题以下,该论文还探讨了伦理、用户信任、安全性相关的问题,详情参见原论文。

Powered by Froala Editor

理论机器学习模型部署
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

超参数优化技术

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

数据管理技术

数据管理是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程,其目的在于充分有效地发挥数据的作用。

随机森林技术

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造决策树的集合。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

模型选择技术

模型选择是从给定数据的一组候选模型中选择统计模型的任务。对于具有类似预测或解释力的候选模型,最简单的模型最有可能是最佳选择(奥卡姆剃刀)。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~