好用的MLOps工具和平台
MLOps 策略越来越多地应用于机器学习模型以及构建这些模型的团队中,这些团队通过MLOps优化和标准化模型生命周期管理的程序。
这篇文章我们将介绍市场上的一些主流的 MLOps 工具和平台,以及它们可以从工具、开发人员和程序的角度来简化机器学习。
01 什么是 MLOps?
机器学习运维,通常称为MLOps,是一种为机器学习模型建立程序、标准和最佳实践的策略。 MLOps 不会在没有计划的情况下将大量时间和资源投入到机器学习开发中,而是致力于确保 ML 开发的整个生命周期(从构思到部署)得到仔细记录和管理,以优化结果。
MLOps 的存在不仅是为了提高 ML 模型的质量和安全性,而且还以某种方式记录了最佳实践(这种方式对 ML 操作员和开发人员来说,使机器学习开发更具可扩展性)。
由于 MLOps将 DevOps 策略有效地应用于更小众的技术开发领域,因此有人将其称为用于机器学习的 DevOps。这是一种理解 MLOps 的有效的方式,因为与 DevOps 非常相似,它都是关于跨团队和工具的知识共享、协作和最佳实践;MLOps为开发人员、数据科学家和运营团队提供了协同工作的指南,从而创建最有效的 ML 模型。
02 MLOps 工具有什么作用?
MLOps 工具可以为 ML 团队执行各种任务,但通常这些工具可以分为两类:单个组件管理和平台管理。虽然一些 MLOps 工具专注于一个核心领域,比如数据或元数据管理,但其他工具采用更全面的方法并提供 MLOps 平台来管理 ML 生命周期的多个阶段。
无论您是在寻找用于 MLOps 的专用工具还是更通用的工具,都应寻找可帮助您的团队管理 ML 开发的以下领域的工具:
- 数据管理
- 模型建模与模型设计
- ML 模型的部署和持续维护
- 端到端生命周期管理,这通常在全方位服务的 MLOps 平台中可用
- 项目和工作空间管理
03 最佳 MLOps 工具和平台
1. Amazon SageMaker
最重要的特点:模型监控和漂移管理(Drift Management)
Amazon SageMaker 是领先的 MLOps 平台之一,原因有很多,但它的监控和漂移管理对使用它的团队帮助最大。该平台为开发团队提供有关模型、算法和数据集的警报,这些模型、算法和数据集需要随着时间的推移进行调整。 Amazon SageMaker 的一些核心关注领域包括实时模型和概念漂移跟踪,以及预测准确性监控和偏差警报。
功能:
- 自动化偏差、模型漂移和概念漂移检测
- 通过Amazon SageMaker Pipelines进行数据自动加载、数据转换、模型建立、模型训练与调试
- 通过源代码和版本控制、自动化测试和端到端自动化,进行CI/CD
- 训练数据、平台配置、模型参数和梯度学习的工作流日志
- 用于策略管理和执行、基础设施安全、数据保护、授权、身份验证和监控的安全机制
2. Domino Data Lab
最重要的特点:合作和研究
Domino Data Lab 的 Domino 数据科学平台对于专注于数据管理的团队来说是一个受欢迎的平台,特别是因为它专注于为 MLOps的数据创建集中式的存储和可视化空间。 Domino 的平台对于希望进行数据民主化的团队来说是一个强大的解决方案,因为它提供了如此多的学习和模板资源——例如它的知识中心和工作台。
功能:
- 用于项目管理和模板化的最佳实践仓库的知识中心
- 用于协作研究、进度跟踪和自助服务工具的工作台
- 用于高效模型和应用部署的Launchpad工具
- 用于安全性、合规性和自助服务管理的企业基础设施
- 通过可扩展的存储、计算和工具,按需进行数据存取
3. Valohai
最重要的特点:全周期自动化
Valohai 为其客户提供各种管道、工作流和其他自动化部署解决方案,可同时简化多个 ML 模型的生命周期管理。许多客户选择 Valohai,还因为它开放的 API 允许其与外部硬件和工具灵活地集成,例如预先存在的 CI/CD 流程。
功能:
- API 友好的 ML 流程,可以自动化模型再训练
- 多版本部署和 A/B 测试
- 工作流自动化,包括数据获取、预处理、合成数据生成和超参数扫描
- 安全机制,例如单点登录 (SSO)、双重认证 ( 2FA) 和活动目录
- 用于超参数调试并行运算的可视化
4. Iguazio
最重要的特点:特征工程
Iguazio 包含许多其他MLOps 平台所宣传的相同功能,但它的特征工程解决方案尤其引人注目。它通过实时聚合和流数据简化了协同特征工程的流程。该工具还提供原生特征平台集成、低代码/无代码转换以及图形和数据可视化,以帮助工程师持续管理他们创建的特征。
功能:
- 带有漂移检测和自动重训练的模型监控
- 用于流程开发的实时无服务器架构的技术
- 通过 ML、Git 和 CI/CD 框架进行 CI/CD
- 具有特征平台集成能力的特征工程
- 包含GPU 即服务的解决方案
5. H2O MLOps
最重要的特点:容器和测试环境的灵活性
H2O MLOps 是 H2O 为机器学习和人工智能工具提供的众多顶级解决方案之一。许多 MLOps 团队选择此工具是因为使用该平台的测试和部署环境的灵活性。团队可以为开发、测试和生产构建多种不同的环境。此外,该平台还可以灵活地与云、本地和容器基础架构一起使用。
功能:
- 集成了H2O Driverless AI和 H2O开源
- 支持主要的云供应商和Kubernetes 发行版(例如 RedHat OpenShift)
- 实时的仪表板,以及实时地对服务水平和数据漂移进行报警
- 更新、故障排除,以及在不同环境中对模型进行A/B 测试
- 模型仓库,包括版本控制、访问控制和数据记录
5. MLflow
最重要的特点:开源集成
MLflow 是一个开源生命周期管理平台,与许多闭源的竞争对手相比,它允许更多的定制。该工具还与其他几种流行的 MLOps 解决方案集成,例如H2O.ai、Amazon SageMaker、Databricks、Google Cloud、Azure Machine Learning、Docker 和 Kubernetes
功能:
- 与各种 ML 库、代码和语言兼容
- MLflow 跟踪记录和查询实验
- MLflow 项目以可重复的格式打包数据科学代码
- 用于在单个位置存储、注释、发现和管理模型的模型注册表
- MLflow 模型用于在不同的服务环境中部署模型
6. Neptune.ai
最重要的特点:元数据存储和管理
Neptune.ai专注于 MLOps 生命周期的一个关键领域——元数据存储和管理。用户可以使用此工具轻松记录、组织、搜索、编目和存储其 ML 模型的各种元数据。 Neptune 对深入元数据知识的战略重点,使其为专注于研究、实验和需要更深入数据洞察力的构建的团队提供了一种强大解决方案。
功能:
- 用于模型构建元数据管理的 ML数据平台
- 工件和模型元数据日志
- 用于版本历史和易搜索的模型注册表
- 具有数据可视化的数据库仪表板
- 通过表格可视化进行版本历史和数据比较
7. Cloudera
最重要的特点:共享数据体验 (SDX) 功能
Cloudera 数据平台是一个具有多个子类别的平台,例如机器学习和共享数据体验 (SDX)。机器学习模块提供了几个基本的 MLOps 功能,但让 Cloudera 与众不同的是 SDX 解决方案。 SDX 为用户提供了数据安全性、合规性和其他数据治理等的可见性和指导性管理。特别是当几个团队成员处理新的敏感数据时,SDX 可帮助公司在构建 ML 模型时保持合规性和安全性。
功能:
- 可应用的 ML 原型
- 模型调试与超参数调试
- 自助服务、拖放式的数据可视化
- 用于综合安全和治理解决方案的SDX
- 多终端的数据策略配置
04 MLOps工具的主要特点
在为您的团队选择 MLOps 工具时,重要的是看以下关键类别中该工具能提供什么功能:
开源与闭源:MLOps 工具没有正确或错误的格式,但开源和闭源工具提供不同的益处。开源解决方案通常提供可以轻松与其他 MLOps 工具集成的免费版本。但是,如果您的团队的开发人员较少,它们可能更难配置。
平台与特定工具:一些 MLOps 解决方案采用平台的形式,可解决 ML 模型生命周期管理的多个组件。其他工具为 ML 开发过程中的特定步骤提供更集中的支持。
模型和生产环境监控:模型和环境监控确保了生产bug被记录和被解决,但也可以帮助 MLOps 团队获取安全和合规等问题。
模型模板和编目:一旦创建了强大的模型,许多团队希望多次复制和扩展该模型。为这些模型提供模板的工具,以及可以通过目录轻松查找模板的工具,是 MLOps 团队的最爱。
模型训练、调试和漂移管理:模型需要进行训练,不仅在初始构建和部署期间,而且根据数据和算法的需要随时间进行变化。许多 MLOps 解决方案提供自动训练和模型调整。
流程管理:流程可以自动化MLOps不同的步骤,比如编码、数据管理和模型构建等。寻找可帮助团队管理该流程的工具。有些甚至在发生更改时自动触发这些核心区域中的更新构建。
协作和交流功能:此工具是否提供嵌入式交流工具或记录模型评论、问题和其他注释的方式?如果没有,请寻找可以与现有团队沟通和协作工具(例如 Slack)很好地集成的工具。