MLOps为开发机器学习带来实践
来源:CPDA数据分析师网 / 作者:数据君 / 时间:2021-01-08
随着这一趋势MLOps机器学习操作变得越来越重要
因为它是扩展和加速机器学习功能发展的下一步,MLOps的定义尚不十分清楚,但是该实践旨在使机器学习模型的训练,部署和监视方式系统化和自动化,机器学习社区中有一个强烈的共识,即MLOps是一组共享的实践,而不是单一的技术或平台,但是与大多数实践一样,技术选择对具体的实现有重大影响。
为了更具体地了解MLOps在实际中的外观
让我们深入研究两个关键组件:版本控制和机器学习管道,很长时间以来,版本控制一直是软件开发的标准实践,但是对于ML实践却不能说相同,在软件开发中,要存储的关键工件是代码,在机器学习中,从业人员还需要对数据,参数,元数据以及模型进行版本控制,为了保持任何生产模型的完全可复制性,需要全新的版本控制解决方案,当您具有多个数据集和多个版本的代码时,可能的终结果将成倍增加,从而说明了这种复杂性。
第二个关键组件是机器学习管道
机器学习通常是从以ML模型为产品的角度进行的,尽管该模型可以说是重要的工件,但它不应该是产品,因为它只是暂时的。随着基础数据的变化,机器学习模型会随着时间的推移而退化,这需要对模型进行一次又一次的重新训练,机器学习管道应封装组织已了解的有关构建模型的所有信息,包括如何转换和测试数据以及如何看待预测,鼓励将隐性知识和手动流程转换为管道内的代码,以确保以相同的方式训练每种生产模型并遵守一组标准。
当将管道视为产品时可以在整个扩展的组织内共享
因为它是扩展和加速机器学习功能发展的下一步,MLOps的定义尚不十分清楚,但是该实践旨在使机器学习模型的训练,部署和监视方式系统化和自动化,机器学习社区中有一个强烈的共识,即MLOps是一组共享的实践,而不是单一的技术或平台,但是与大多数实践一样,技术选择对具体的实现有重大影响。
为了更具体地了解MLOps在实际中的外观
让我们深入研究两个关键组件:版本控制和机器学习管道,很长时间以来,版本控制一直是软件开发的标准实践,但是对于ML实践却不能说相同,在软件开发中,要存储的关键工件是代码,在机器学习中,从业人员还需要对数据,参数,元数据以及模型进行版本控制,为了保持任何生产模型的完全可复制性,需要全新的版本控制解决方案,当您具有多个数据集和多个版本的代码时,可能的终结果将成倍增加,从而说明了这种复杂性。
第二个关键组件是机器学习管道
机器学习通常是从以ML模型为产品的角度进行的,尽管该模型可以说是重要的工件,但它不应该是产品,因为它只是暂时的。随着基础数据的变化,机器学习模型会随着时间的推移而退化,这需要对模型进行一次又一次的重新训练,机器学习管道应封装组织已了解的有关构建模型的所有信息,包括如何转换和测试数据以及如何看待预测,鼓励将隐性知识和手动流程转换为管道内的代码,以确保以相同的方式训练每种生产模型并遵守一组标准。
当将管道视为产品时可以在整个扩展的组织内共享
审查重用和迭代工作,并且开发可以像以前那样与人员一起扩展。此外,由于手动操作主要是自动化的,因此管道可以释放大量资源用于将来的开发,版本控制和机器学习管道绝不是MLOps中的核心组件,而是组织早就识别为工作流中缺少的组件,生产中的机器学习需要对如何构建机器学习系统有共同的了解,并且借助MLOps,该行业正在朝着通用的实践迈进。