10 个 AI/ML 工作流程必备的开源平台工程工具
如今,更快地构建和交付解决方案已成为创新的标杆。然而,对于人工智能 (AI) 和机器学习 (ML) 团队而言,扩展工作流程并快速交付价值面临着独特的挑战,包括复杂的基础设施、手动流程和低效率。平台工程可以通过内部开发者平台 (IDP) 简化这些工作流程并自动执行重复性任务,从而使团队能够专注于最重要的事情:提供高效的 AI/ML 解决方案。
2024 年 Dora 报告强调了平台工程的重大影响,它使部署频率提高了 60%,开发人员生产力提高了 8%,团队整体绩效提高了 10%。这 10 个开源平台工程工具可以帮助您在 AI/ML 项目中取得类似的成果。
TL;DR. 适用于 AI/ML 的顶级开源平台工程工具
以下是我推荐的平台工程工具的简要列表,用于简化 AI/ML 工作流程并降低基础架构的复杂性:
- KitOps:所有 AI/ML 项目资产的集中版本控制。
- Kubeflow: Kubernetes 上简化的 ML 工作流管理。
- DVC(数据版本控制):通过跟踪数据集、代码和实验确保可重复性。
- Seldon Core:用于部署和监控 ML 模型的 Kubernetes 原生工具。
- BentoML:简化模型打包和部署到生产中。
- Apache Airflow:自动化、监控和安排 ML 管道。
- Prometheus:实时基础设施和 ML 部署监控。
- Comet:跟踪 ML 实验并提供有关模型性能的见解。
- MLflow:管理生命周期,包括跟踪、部署和模型版本控制。
- Feast:用于实时管理 ML 特征数据的集中式特征存储。## 1. KitOps
KitOps通过可重用组件、集中版本控制和安全的 ModelKit 打包功能简化了 ML 工作流程。它与 Docker、Terraform 和 Kubernetes 等工具无缝集成,实现了自动化部署并缩短了开发周期。KitOps 还简化了 Jupyter Notebooks 从开发到生产的过渡,如下图所示。
此外,KitOps 还为工程师提供集中式、防篡改的记录,以提高透明度。它还提供了一个安全、可立即使用的软件包ModelKit,用于打包、版本控制和跟踪项目的各个组件——代码、数据集、模型和元数据(如下图所示)。
2. Kubeflow
Kubeflow是一个 Kubernetes 原生开源平台,可简化 Kubernetes 上的 ML 工作流管理。它能够处理容器化的复杂性,并支持端到端流水线自动化和大型数据集的分布式训练,使其成为生产级 ML 系统的理想选择。
Kubeflow 具有实验跟踪和模型版本管理功能,可确保跨本地、云和混合基础架构的 ML 团队之间的可重复性、一致性和协作。
3.数据版本控制(DVC)
数据版本控制是一款专为机器学习工作流量身定制的强大版本控制工具。它通过跟踪和共享数据、管道、实验和模型来确保可重复性。凭借其类似 Git 的界面,它可以与现有的 Git 存储库无缝集成。它支持各种云存储,例如 AWS S3 和 Azure Blob,从而能够在不增加 Git 存储库容量的情况下对大型数据集进行版本控制。
DVC 还与 CI/CD 管道集成,从而可以轻松地在整个 ML 生命周期内实现测试和模型部署的自动化。
4. 塞尔登核心
Seldon Core解决了 Kubernetes 的复杂性问题。在最近的云原生计算基金会 (CNCF) 调查中,超过40% 的工程师表示,Seldon Core 使机器学习工程师无需 Kubernetes 专业知识即可大规模部署模型。它支持从 A/B 测试、金丝雀发布、请求日志记录到异常值检测和多臂老虎机等高级部署策略,使其成为优化工作流程和确保部署灵活性的理想选择。
除了部署功能外,Seldon Core 还提供强大的监控工具来跟踪生产中的模型性能。
5. BentoML
BentoML是一款平台工程工具,旨在大规模部署机器学习模型,并使用任何开源或自定义微调模型构建生产级 AI 系统。它利用标准化框架创建一个名为 Bento 的可移植软件包来实现这一点,该软件包将模型、依赖项和配置封装在一个地方。这种方法简化了模型管理,实现了跨环境的无缝部署和集成,同时确保了构建时的一致性。
6.Apache Airflow
Apache Airflow在使用 Python 调度、编写和监控机器学习工作流方面非常简便。该工具最大的优势在于它与您正在运行的任何系统或流程兼容。这还可以消除人工干预并提高团队生产力,这与平台工程工具的原则相符。
除了调度和管理工作流之外,Apache Airflow 还支持多种工具和服务,从而扩展了平台的定制功能。此功能进一步帮助团队有效地管理机器学习基础设施。
7.普罗米修斯
Prometheus负责处理与警报和指标监控相关的所有事务。作为一款开源监控平台工具,它使 AI 开发人员和 ML 工程师能够深入了解其基础设施、创建自定义仪表板并实时监控其 ML 工作流程。
它还支持高级图形功能,并与 Grafana 等可视化工具集成,以解释和可视化数据。Prometheus 强大的查询语言支持对时间序列数据进行切片、切块和操作,并提供来自 Docker 和 JMX 等来源的第三方指标集成选项。
8.彗星
Comet是一个端到端机器学习平台,旨在评估大型语言模型 (LLM)、跟踪实验并监控生产环境中的模型。它支持自托管和云端设置,允许开发者实时记录指标、输出和超参数。凭借其强大的仪表板和可视化工具,Comet 允许团队以可视化的方式呈现洞察,从而更轻松地分析和理解模型性能。
Comet 与生态系统中的各种工具集成,因此具有极强的适应性。这种多功能性有助于开发人员简化工作流程、优化 AI/ML 流程,并在整个模型生命周期内保持高效运行。
9. MLflow
MLflow为开发者提供了管理整个 ML 生命周期的全面工具。它的四个主要组件——跟踪、模型、项目和模型注册表——有助于高效、可重复且可扩展地构建 ML 流水线。
每个组件都具有各种功能(如下所列),以减轻 ML 生命周期的复杂性。
- 跟踪使开发人员能够记录和比较参数、结果和指标。
- 模型处理、管理和部署模型。
- 项目包代码用于 ML 项目以实现可重复性。
- 该注册表允许开发人员集中模型存储以进行生命周期跟踪和版本控制。
10.盛宴
与其他工具不同, Feast解决了一个不同的问题:机器学习特征数据的管理。Feast通过存储和管理用于生成机器学习特征的代码来简化特征管理,并促进这些特征部署到生产环境中。通常,它会与您的数据源集成以简化管理。
当您的 ML 模型需要频繁重新训练以部署应用程序时,此工具尤为重要。
总结
开始使用平台工程工具的最佳时机是昨天;其次是现在。忽视使用平台工程工具会阻碍您快速构建,并降低团队和开发人员的生产力。值得庆幸的是,这份清单显示,有许多开源平台工程工具可供您使用。
无论您是构建可扩展的管道、跟踪实验还是将模型部署到生产中,KitOps都可以解决 ML 项目和模型开发的复杂性,同时保持您的工作流程高效、用户友好且强大。
如果您读到这里,就已经成功了一半。加入我们的Discord,与其他机器学习和平台工程师交流,或者立即浏览我们的入门指南,开启您的学习之旅。这份清单对您有帮助吗?如果有用,请与您的人脉圈分享!
鏂囩珷鏉ユ簮锛�https://dev.to/jozu/10-must-know-open-source-platform-engineering-tools-for-aiml-workflows-2i77