MLOps –为什么和什么
由数据科学家内置
机器学习(ML)的模型表示,其包括一个企业生产部署的工作流程,如在示出的部件的一小部分图1 [ 1 ]。为了实施ML模型,数据科学家需要与其他多个团队紧密合作,例如业务,工程和运营。这代表了在沟通,协作和协调方面的组织挑战。MLOps的目标是通过完善的实践来简化此类挑战。此外,MLOps带来了敏捷性和速度,这是当今数字世界的基石。
MLOps的动机
图1:只有一小部分现实世界的ML系统由ML代码组成,如中间的小框所示。所需的周围基础设施庞大而复杂。
2.与DevOps类似的MLOps挑战
机器学习模型操作的挑战与软件生产有很多共同点,DevOps已经证明了这一点。因此,采用DevOps的最佳实践是一种谨慎的方法,可以帮助数据科学家克服软件生产中常见的挑战。例如,与瀑布方法相比,DevOps提倡的敏捷方法的使用可提高效率。表1列出了MLOps中使用的其他DevOps做法。
3. MLOps挑战不同于DevOps
根据行业说法,MLOps是ML的DevOps。虽然在一定程度上是对的,但MLOps平台需要解决ML所面临的典型挑战。
这种挑战的一个例子是数据的作用。在传统的软件工程(即,软件1.0),开发者编写的程序中的空间以及限定逻辑/规则(如代码),如在展示图2 [ 2 ]。但是,在机器学习(即软件2.0)中,数据科学家编写代码
定义了如何使用参数来解决业务问题。使用数据(使用诸如梯度下降等技术)可以找到参数值。这些值可能会随数据的不同版本而改变,从而改变代码的行为。换句话说,数据在定义输出时起着与书面代码同等重要的作用。两者都可以改变,彼此独立。除了模型代码作为需要定义和跟踪的软件的固有部分之外,这还增加了一层数据复杂性。
4. MLOps组件
凭借MLOps的背景,其与DevOps的相似之处以及与DevOps的不同,下面描述了组成MLOps框架的不同组件,如图3所示。
用例发现:此阶段涉及业务与数据科学家之间的协作,以定义业务问题并将其转化为ML和相关的相关KPI(关键绩效指标)可以解决的问题陈述和目标。
数据工程:这一阶段涉及从各种源获取数据的数据工程师和科学家的数据之间的协作和准备建模的数据(处理/验证)。
机器学习管道:这个阶段的设计和部署一个管道与CI / CD集成。数据科学家使用管道进行多次实验和测试。该平台跟踪整个实验中的数据和模型沿袭以及相关的KPI。
生产部署:此阶段需要安全,无缝地部署到所选的生产服务器,无论是公共云,内部部署还是混合。
生产监控:此阶段包括模型监控和基础架构监控。使用已配置的KPI(例如输入数据分布的更改或模型性能的更改)连续监视模型。设置触发器以进行更多实验,以使用新算法,数据和/或超参数来生成ML管道的新版本。根据内存和计算要求对基础架构进行监控,并根据需要对其进行扩展。
题库