机器学习系统构建的挑战与MLOps文化
Camilla Montonen在NDC Oslo 2023上讨论了构建机器学习系统的挑战,并强调了MLOps文化的重要性。她指出,构建和维护模型是机器学习系统的主要挑战,而MLOps平台和解决方案虽然提供了构建系统所需的组件,但MLOps的核心在于文化和实践,而非工具本身。
机器学习系统部署的挑战
Montonen列举了将机器学习系统部署到生产环境中的一系列挑战,包括:
- 如何清理、管理和维护模型训练数据
- 如何高效训练和评估模型
- 如何衡量模型在生产环境中的持续表现
- 如何计算和提供模型对新数据的预测
- 如何处理缺失、损坏的数据以及边缘情况
- 如何及何时高效地重新训练模型
- 如何版本控制和存储不同版本的模型
机器学习系统的常见组件
Montonen解释了机器学习系统的常见组件,包括:
- 特征存储:用于存储和管理特征数据
- 实验跟踪系统:帮助数据科学家轻松版本化他们生产的各种模型
- 模型注册表或版本控制系统:跟踪当前部署到生产环境的模型
- 数据质量监控系统:检测数据质量问题的出现
这些组件已成为市场上许多MLOps平台和解决方案的一部分。
MLOps的核心是文化而非工具
Montonen强调,MLOps的核心在于文化,而非工具。她指出,MLOps不仅仅是添加模型注册表或特征存储到技术栈中,而是关注构建和维护系统的人员如何与系统互动,并最大限度地减少摩擦点。这包括:
- 在ML代码库中保持良好的Git实践
- 设计管道组件的测试方式
- 保持数据科学实验环境和生产环境之间的反馈循环
- 在整个代码库中保持高标准的工程实践
数据科学与机器学习工程的融合
Montonen建议,我们应努力弥合数据科学和机器学习工程之间的分歧。数据科学优先考虑快速实验和迭代,而机器学习工程则优先考虑版本控制、通过CI/CD管道进行受控交付和部署、自动化测试以及更精心设计的生产代码。
从基础开始的建议
Montonen建议,与其立即采用可能使问题复杂化的MLOps工具,不如从基础开始:
- 诊断问题:首先诚实地诊断机器学习团队面临的困难。
- 投资基础:通过投资测试、CI/CD和Git实践,可以显著提高数据科学家的开发速度和生产可靠性。
当前MLOps工具的局限性
在InfoQ的采访中,Montonen指出,大多数大型MLOps工具提供商起源于工程师在大型语言模型或计算机视觉模型训练项目中的工作,这些工具在这些用例中表现良好。然而,对于中小型企业来说,这些现成组件通常不够灵活,无法应对ML系统中随时间积累的许多独特问题。
对部署机器学习系统的建议
Montonen建议,在引入任何工具或解决方案之前,先找出机器学习团队的具体问题。例如:
- 如果代码库复杂,可能需要投资于重构和适当的CI/CD流程和工具。
- 如果新模型在在线A/B测试中表现不如生产模型,但缺乏洞察力,可能需要投资于一个简单的仪表板来跟踪关键指标。
通过诊断当前问题,可以帮助确定哪些工具能够真正解决问题,并帮助权衡利弊。大多数MLOps工具需要一定的学习、维护和集成努力,因此确保它们解决的问题值得这些投入是非常重要的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。