概述
Kubeflow 是一种开源的 Kubernetes 原生框架,可用于开发、管理和运行机器学习(ML)工作负载。Kubeflow 是一个 AI/ML 平台,它汇集了多种工具,涵盖了主要的 AI/ML 用例:数据探索、数据管道、模型训练和模型服务。
Kubeflow 支持数据科学家通过一个门户访问这些功能,该门户提供了与这些工具进行交互的概要抽象信息。这意味着数据科学家无需了解 Kubernetes 插入这些工具所使用方法的具体细节。Kubeflow 本身专为在 Kubernetes 上运行而设计,并充分吸纳了许多关键概念,包括 Operator 模型。
Kubeflow 有什么用途?
Kubeflow 通过提供一组工具和 API 来简化大规模训练和部署 ML 模型的过程,可以解决机器学习管道编排过程中涉及的诸多挑战。“管道”表示 ML 工作流,包括工作流的组件以及这些组件之间的交互方式。Kubeflow 能够满足一个项目中多个团队的需求,并允许这些团队从任何基础架构工作。这意味着,数据科学家可以从自己选择的云(包括 IBM Cloud、Google Cloud、Amazon 的 AWS 或 Azure)进行训练和提供 ML 模型。
总的来说,Kubeflow 通过组织项目,同时利用云计算的强大功能,实现了机器学习运维(MLOp)的标准化。Kubeflow 的一些关键用例包括数据准备、模型训练、评估、优化和部署。
红帽资源
为什么要在 Kubernetes 上运行机器学习工作负载?
Kubernetes 对于加速 ML 生命周期非常重要,因为这些技术可为数据科学家提供训练、测试和部署 ML 模型所需的敏捷性、灵活性、可移植性和可扩展性。
可扩展性:Kubernetes 允许用户根据需要扩展或收缩 ML 工作负载。这可确保机器学习管道能够适应大规模处理和训练,而不干扰项目的其他元素。
效率:Kubernetes 可根据节点可用性和容量将工作负载调度到节点上,从而优化资源分配。通过确保有意识地利用计算资源,用户可以有效降低成本,提升性能。
可移植性:Kubernetes 提供一个不受平台限制的标准化环境,允许数据科学家开发一个 ML 管道,并将其部署到多个环境和云平台。这意味着无需为兼容性问题和供应商锁定而担忧。
容错:凭借内置的容错和自我修复功能,用户可以确保 Kubernetes 即使遇到硬件或软件故障,也能保持 ML 管道正常运行。
Kubeflow 有哪些组件?
- Kubeflow 中央控制面板为访问 Kubeflow 及其生态系统组件提供了一个经过验证的 Web 界面。作为一个集中式中心,它聚合了集群内各种工具和服务的用户界面,为管理机器学习平台提供了一个统一的接入点。
- Kubeflow 与 Jupyter Notebooks 集成,为数据探索、实验和模型开发提供了一个交互式环境。Notebooks 支持各种编程语言,包括 Python、R 和 Scala,允许用户以协作且可再现的方式创建和执行 ML 工作流。
- Kubeflow Pipelines 让用户能够以有向无环图(DAG)的形式定义和执行复杂的 ML 工作流。Kubeflow Pipelines 提供了一种方法,可编排并自动执行数据预处理、模型训练、评估和部署的端到端流程,从而促进了 ML 项目的可重现性、可扩展性和协作性。Kubeflow Pipelines SDK 是一组 Python 软件包,允许用户精确而高效地定义和执行机器学习工作流。
- Kubeflow Training Operator 为大规模训练机器学习模型提供了工具。这包括支持使用 TensorFlow、PyTorch 和 XGBoost 等框架进行分布式训练。用户可以利用 Kubernetes 的可扩展性和资源管理功能,跨机器集群高效地训练模型。
- Kubeflow Serving 支持用户将经过训练的 ML 模型部署为可扩展的生产就绪型服务。它为使用 TensorFlow Serving、Seldon Core 等流行框架或自定义推理服务器部署模型提供了一致的界面。模型可在实时或批处理场景中部署,通过 HTTP 端点提供预测。
- Kubeflow Metadata 是一个集中式存储库,用于跟踪和管理与 ML 实验、运行和工件相关的元数据。它为整个工作流提供了一致的 ML 元数据视图,可在 ML 项目中实现可重现性、协作和治理。
此外,Kubeflow 还提供了基于 Web 的用户界面(UI),用于监控和管理 ML 实验、模型训练作业和推理服务。这些 UI 可提供可视化效果、指标和日志,帮助用户跟踪其 ML 工作流的进度、解决问题并做出明智的决策。
由于采用了 Kubernetes Operator 模型,Kubeflow 具有可扩展性,并支持自定义以适应特定的用例和环境。用户可以集成其他组件,如数据预处理工具、特征平台、监控解决方案和外部数据源,以增强其 ML 工作流的功能。
红帽可如何提供帮助?
红帽® OpenShift® 是值得信赖的、全面且一致的平台,适用于所有环境下的应用开发、部署和管理。凭借 DevOps 功能(如 OpenShift Pipelines、OpenShift GitOps 和红帽 Quay)以及与硬件加速器的集成,红帽 OpenShift 可实现更好的协作,并加快 AI 驱动型应用的交付。
红帽 OpenShift AI 提供了一个可视化编辑器,用于创建和自动化基于 Kubeflow Pipelines 的数据科学管道和实验。OpenShift AI 是一个集成式 MLOps 平台,用于在混合云环境中大规模构建、训练、部署并监控依托 AI 技术的应用、预测模型和基础模型。自动化并简化将 ML 模型集成到软件开发、生产部署、监控、重新训练和重新部署的迭代流程,以保持预测准确性。
红帽 OpenShift 在 IBM Cloud、Google Cloud、AWS 和 Azure 上以原生方式提供,允许用户自动管理 Kubernetes 集群,通过生产就绪型应用平台快速构建、部署和扩展应用。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。