ML:MLOps系列讲解之《MLOps的定义与发展—你为什么可能想使用机器学习》解读
目录
1、《MLOps的定义与发展—你为什么可能想使用机器学习》解读
1.2、Scenarios of Change That Need to be Managed需要管理的变化的场景
根据Statista《2019年数字经济指南》,两大趋势将扰乱经济和我们的生活:
为了保持一致性,我们将使用术语机器学习(ML),然而,这些概念适用于人工智能和数据科学领域。
每一个机器学习管道都是一组操作,执行这些操作以产生一个模型。ML模型粗略地定义为现实世界过程的数学表示。我们可以将ML模型看作是一个函数,它接受一些输入数据并产生输出(分类、情感分析、推荐或聚类)。每个模型的性能都是通过使用评估指标来评估,例如precision & recall, or accuracy(精确率、召回率、准确性)。
作为一个强大的工具,机器学习可以解决很多实际问题。与任何其他软件工具类似,我们需要确定“正确的nail钉子”(用例或问题),才能使用这个“hammer锤子”(机器学习算法)。
我们对将机器学习纳入软件系统很感兴趣,因为机器学习可以解决一些过于复杂而无法用传统方法解决的问题。对于这类问题,通过机器学习实现的概率(随机)解决方案可能是正确的方法。例如,会话UI中的感知问题可以通过语音识别或情感分析等技术来解决。机器学习(deep learning)似乎是最合适的方法,因为这类问题有大量不同表示形式的元素。另一类适合ML的问题是多参数问题。例如,我们应用机器学习方法来生成股票价格预测,这是股票交易决策的基础。
将模型放到生产环境中意味着您的模型可用于软件系统。实际上,通过部署ML模型,我们可以提供以下功能:
在下表中,我们总结了ML/AI的能力:
表来源:David Carmona《The AI Organization》
https://learning.oreilly.com/library/view/the-ai-organization/9781492057369/
相关文章
Statista 《Digital Economy Compass 2019》
https://cdn.statcdn.com/download/pdf/DigitalEconomyCompass2019.pdf
越来越多的企业正在试验ML。将模型引入现实世界不仅仅是构建它。为了充分利用构建的ML模型,使其可用于我们的核心软件系统,我们需要将训练有素的ML模型合并到核心代码库中。这意味着,我们需要将ML模型部署到生产中。通过部署模型,其他软件系统可以向这些模型提供数据并获得预测,这些预测又被重新填充到软件系统中。因此,只有通过ML模型的部署才能充分发挥ML模型的优势。
然而,根据Algorithmia的一份《2020年企业机器学习状况》报告,许多公司还没有想出如何实现他们的ML/AI目标。因为在ML模型构建和实际部署之间搭建桥梁仍然是一个具有挑战性的任务。在Jupyter Notebook模型中构建ML模型,与将ML模型部署到产生业务价值的生产系统中是有根本区别的。尽管AI预算在增加,但只有22%的使用机器学习的公司成功地将机器学习模型部署到生产中。
源自Algorithmia公司的《2020 state of enterprise machine learning》
AI:Algorithmia《2021 enterprise trends in machine learning 2021年机器学习的企业趋势》翻译与解读_一个处女座的程序猿-CSDN博客
《2020年企业机器学习状况》报告是基于对近750人的调查,包括机器学习从业者、机器学习项目经理和科技公司高管。一半的受访者回答说,他们的公司需要一周到三个月的时间来部署一个ML模型。大约18%的人表示需要3个月到1年的时间。根据这份报告,“人们在开发ML功能时面临的主要挑战是规模、版本控制、模型可重复性和利益相关者的协调一致。
出现上述部署差距的原因在于,基于机器学习的应用程序的开发与传统软件的开发有着根本的不同。完整的开发管道包括三个级别的变更:数据、ML模型和代码。这意味着,在基于机器学习的系统中,构建的触发器可能是代码更改、数据更改或模型更改的组合。这也被称为“改变任何事物就改变一切”原则。
在下面,我们列出了机器学习应用中可能发生变化的一些场景:
此外,有三个常见的问题会影响ML模型投入生产后的价值。
由于ML/AI正在扩展到新的应用和塑造新的行业,因此构建成功的ML项目仍然是一个具有挑战性的任务。如上所示,需要围绕设计、构建和部署ML模型到生产环境中建立有效的实践和流程—MLOps。
我们看到了应用机器学习可以解决现实世界中的问题。我们确定了将ML模型投入生产的挑战。最后,我们定义术语MLOps:
术语MLOps被定义为:MLOps是“DevOps方法论的扩展,将机器学习和数据科学资产作为DevOps生态系统的“一等公民”。”(来源:MLOps SIG)。
或者,我们可以使用机器学习工程(MLE)的定义,其中,MLE是使用机器学习和传统软件工程的科学原理、工具和技术来设计和构建复杂的计算系统。MLE包括从数据收集到模型构建的所有阶段,以使模型可供产品或消费者使用。”(由A.Burkov)。
MLOps 与 DevOps 一样,源于这样一种理解,即将 ML 模型开发与交付它的过程(ML 操作)分开会降低整个智能软件的质量、透明度和敏捷性。
相关文章
《MLOps SIG》:
https://github.com/cdfoundation/sig-mlops/blob/master/roadmap/2020/MLOpsRoadmap2020.md
在21世纪初,当企业需要实施机器学习解决方案时,他们使用了供应商的授权软件,如SAS、SPSS和FICO。随着开源软件的兴起和数据的可用性,越来越多的软件从业者开始使用Python或R库来训练ML模型。然而,这些模型在生产中的使用仍然是个问题。随着集装箱化(containerization)技术的兴起,Docker容器和Kubernetes解决了模型的可扩展部署问题。最近,我们看到了这些解决方案向ML部署平台的演变,这些平台覆盖了模型实验、训练、部署和监控的整个迭代。下图显示了MLOps的演化过程。
Pre-History Age | Proprietary Inference Servers 专有推理服务器 | using proprietary tools to perform modeling and inference SAS SPSS FICO 使用专有工具进行建模和推理 SAS SPSS FICO |
2000 Stone Age | The Rise of Open Source Data Science Tools 开源数据科学工具的兴起 | ...attempt to wrap the data science stack in a lightweight web service framework, and put it into production ..尝试将数据科学堆栈包装在轻量级 Web 服务框架中,并将其投入生产 Python: SciPy stack scitkit-learn is TensorFlow etc. R: dplyr ggplot2 I etc. I Spark, H2O, others... |
2015 Bronze Age | Containerization to-the-rescue 容器化救援 | Containerization of the "Stone Age" approach, making it easy to scale, robust, etc. “容器化时代”方法的容器化,使其易于扩展、健壮等。 Dockerized 开源 ML 堆栈。 |
2018 MLOps Gold Rush Age | "MLOps Platforms" “MLOps 平台” | Dockerized open-source ML stacks Deployed them on-premise or in the cloud via Kubernetes and providing some manageability ("ML Ops"). 通过 Kubernetes 将它们部署在本地或云中,并提供一些可管理性(“ML Ops”)。 |
The content of this site was created by Dr. Larysa Visengeriyeva, Anja Kammer, Isabel Bär, Alexander Kniesz, and Michael Plöd (DDD Advisor). Design made by Sebastian Eberstaller.
It is published under Creative Commons Attribution 4.0 International Public License and can therefore be shared and adapted with attribution ("INNOQ").
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!