在我展开每个部分时继续阅读。
查看谷歌趋势会告诉你,这是一个相对较新的学科,因为越来越多的组织正试图将 ML 系统集成到他们的产品和平台中。
MLOps是一门工程学科,旨在统一 ML 系统开发(dev)和 ML 系统部署(ops),以标准化过程生产高性能模型的持续交付。
直到最近,我们还在处理可管理的数据量和小规模的极少量模型。现在情况正在转变,我们正在将决策自动化嵌入到广泛的应用程序中,这产生了许多来自构建和部署基于 ML 的系统的技术挑战。
要了解 MLOps,我们必须首先了解 ML 系统的生命周期。生命周期涉及数据驱动组织的多个不同团队。从头到尾,以下团队参与其中:
这是 ML 生命周期的非常简化的表示。
Google 的团队一直在对构建基于 ML 的系统所带来的技术挑战进行大量研究。 一篇关于机器学习系统中隐藏的技术债务的 NeurIPS 论文表明,开发模型只是整个过程的一小部分。 许多其他流程、配置和工具将被集成到系统中。
为了简化整个系统,我们拥有这种新的机器学习工程文化。 该系统涉及从具有最少技术技能的高级管理人员到数据科学家到 DevOps 和 ML 工程师的每个人。
大规模管理此类系统并非易事,需要解决许多瓶颈。以下是团队提出的主要挑战:
在这一点上,我已经深入了解了系统的瓶颈以及 MLOps 如何解决这些瓶颈。您需要瞄准的技能可以从这些挑战中获得。
以下是您需要关注的关键技能:
机器学习系统开发通常从业务目标或目标开始。它可以是将欺诈交易的百分比降低到 0.5% 以下的简单目标,也可以是构建一个系统来检测皮肤科医生标记的图像中的皮肤癌。
这些目标通常具有特定的性能度量、技术要求、项目预算和 KPI(关键性能指标),它们推动监控已部署模型的过程。
在目标被清楚地转化为机器学习问题之后。下一步是开始搜索合适的输入数据以及要针对此类数据尝试的模型类型。
搜索数据是最艰巨的任务之一。这是一个包含多项任务的过程:
数据准备包括特征工程、清理(格式化、检查异常值、插补、重新平衡等)等任务,然后选择有助于输出潜在问题的特征集。
将设计一个完整的管道,然后编码以生成干净且兼容的数据,以提供给模型开发的下一阶段。
部署此类管道的一个重要部分是选择高性能且经济高效的云服务和架构的正确组合。 例如,如果您有大量数据移动和大量数据要存储,您可以考虑使用 AWS S3 和 AWS Glue 构建数据湖。
您可能想要练习构建几种不同类型的管道(批处理与流)并尝试将这些管道部署在云上。
准备好数据后,您就可以继续下一步训练 ML 模型。 现在,训练的初始阶段是用一堆不同类型的模型进行迭代。 您将使用准确度、精确度、召回率等多种量化指标缩小到最佳解决方案的范围,您还可以对模型进行定性分析,以解释驱动该模型的数学,或者简单地将模型的可解释性放在首位。
我有这个完整的任务列表,您可以在训练 ML 模型时阅读这些任务:
现在,您将使用不同类型的数据和参数运行大量实验。 数据科学家在训练模型时面临的另一个挑战是再现性。 这可以通过对模型和数据进行版本控制来解决。
您可以将版本控制与参数一起添加到 ML 系统的所有组件(主要是数据和模型)。
其他任务包括:
构建 ML 管道时应牢记以下任务:
部署 ML 模型主要有两种方式:
在动态部署中,您可以使用不同的方法:
以下是注意事项:
组织需要密切关注模型在生产中的表现,但要确保良好和公平的治理。 此处的治理意味着采取控制措施,以确保模型向所有受其影响的利益相关者、员工和用户履行其职责。
作为此阶段的一部分,我们需要数据科学家和 DevOps 工程师通过执行以下任务来维护整个系统的生产:
原文来自知乎https://zhuanlan.zhihu.com/p/392216271