MLOps一词是指数据科学家与运营专业人员协作的一组技术和实践。MLOps 旨在管理机器学习和深度学习模型在大规模生产环境中的部署。
DevOps一词来自软件工程领域,与开发和操作大型软件系统有关。DevOps 引入了两个概念:持续集成 (CI) 和持续交付 (CD)。DevOps 旨在缩短开发周期、提高部署速度并创建可靠的版本。
由于 ML 系统是一个软件系统,DevOps 原则也适用于 MLOps。
但是,两者之间存在差异。
在我们探讨 MLOps 和 DevOps 之间的区别之前,让我们看一下部署 ML 模型介绍生产的整体流程。
在生产中部署 ML/DL 模型的总体步骤是:
数据提取
数据分析
数据准备
模型训练
模型评估
模特服务
模型监控
在此背景下,这里是 MLOps 和 DevOps 之间的区别
与 DevOps 不同,MLOps 在本质上更具实验性。数据科学家尝试不同的特征、参数、模型。在所有这些迭代中,他们必须管理代码库并创建可重现的结果。
由于更改数据配置文件导致系统性能下降:ML 和 DL 系统受到更改数据配置文件的影响。在传统的 IT 系统中,情况并非如此。因此,即使模型当前“工作”,也必须刷新模型——导致管道中的更多迭代
模型监控:需要监控生产中的模型。同样,需要监控构建模型的数据的汇总统计信息,以便我们可以在需要时刷新模型。
模型构建前步骤的自动化:在构建模型之前有许多步骤可能需要自动化。
团队组成:在生产中构建和部署模型所需的团队可能并不总是由软件工程师组成。例如,从事探索性数据分析的成员可能是业务专家,而不是软件工程师。
测试:除了单元测试和集成测试等软件测试之外,测试 ML 系统还涉及模型验证、模型训练等。
总结:
除了测试代码之外,MLOps 的持续集成 (CI)还涉及验证数据和模式。
持续部署 (CD)验证生产中模型的性能——包括部署新模型和从模型回滚更改的能力。
我们需要一个新术语——持续测试(CT)来重新训练和服务模型。
相关帖子DA内容精选
|