在本文中,我们探讨了两个在专业机器学习应用程序中变得越来越普遍的术语-MLOps和DevOps
术语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)以重新训练和服务模型。
关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!