什么是 Kubeflow?

复制 URL

Kubeflow 是一种开源的 Kubernetes 原生框架,可用于开发、管理和运行机器学习(ML)工作负载。Kubeflow 是一个 AI/ML 平台,它汇集了多种工具,涵盖了主要的 AI/ML 用例:数据探索、数据管道、模型训练和模型服务。

Kubeflow 支持数据科学家通过一个门户访问这些功能,该门户提供了与这些工具进行交互的概要抽象信息。这意味着数据科学家无需了解 Kubernetes 插入这些工具所使用方法的具体细节。Kubeflow 本身专为在 Kubernetes 上运行而设计,并充分吸纳了许多关键概念,包括 Operator 模型。 

Kubeflow 通过提供一组工具和 API 来简化大规模训练和部署 ML 模型的过程,可以解决机器学习管道编排过程中涉及的诸多挑战。“管道”表示 ML 工作流,包括工作流的组件以及这些组件之间的交互方式。Kubeflow 能够满足一个项目中多个团队的需求,并允许这些团队从任何基础架构工作。这意味着,数据科学家可以从自己选择的云(包括 IBM Cloud、Google Cloud、Amazon 的 AWS 或 Azure)进行训练和提供 ML 模型。 

总的来说,Kubeflow 通过组织项目,同时利用云计算的强大功能,实现了机器学习运维(MLOp)的标准化。Kubeflow 的一些关键用例包括数据准备、模型训练、评估、优化和部署。

 

Kubernetes 对于加速 ML 生命周期非常重要,因为这些技术可为数据科学家提供训练、测试和部署 ML 模型所需的敏捷性、灵活性、可移植性和可扩展性。

可扩展性:Kubernetes 允许用户根据需要扩展或收缩 ML 工作负载。这可确保机器学习管道能够适应大规模处理和训练,而不干扰项目的其他元素。 

效率:Kubernetes 可根据节点可用性和容量将工作负载调度到节点上,从而优化资源分配。通过确保有意识地利用计算资源,用户可以有效降低成本,提升性能。

可移植性:Kubernetes 提供一个不受平台限制的标准化环境,允许数据科学家开发一个 ML 管道,并将其部署到多个环境和云平台。这意味着无需为兼容性问题和供应商锁定而担忧。

容错:凭借内置的容错和自我修复功能,用户可以确保 Kubernetes 即使遇到硬件或软件故障,也能保持 ML 管道正常运行。

  1. Kubeflow 中央控制面板为访问 Kubeflow 及其生态系统组件提供了一个经过验证的 Web 界面。作为一个集中式中心,它聚合了集群内各种工具和服务的用户界面,为管理机器学习平台提供了一个统一的接入点。
  2. Kubeflow 与 Jupyter Notebooks 集成,为数据探索、实验和模型开发提供了一个交互式环境。Notebooks 支持各种编程语言,包括 Python、R 和 Scala,允许用户以协作且可再现的方式创建和执行 ML 工作流。
  3. Kubeflow Pipelines 让用户能够以有向无环图(DAG)的形式定义和执行复杂的 ML 工作流。Kubeflow Pipelines 提供了一种方法,可编排并自动执行数据预处理、模型训练、评估和部署的端到端流程,从而促进了 ML 项目的可重现性、可扩展性和协作性。Kubeflow Pipelines SDK 是一组 Python 软件包,允许用户精确而高效地定义和执行机器学习工作流。
  4. Kubeflow Training Operator 为大规模训练机器学习模型提供了工具。这包括支持使用 TensorFlow、PyTorch 和 XGBoost 等框架进行分布式训练。用户可以利用 Kubernetes 的可扩展性和资源管理功能,跨机器集群高效地训练模型。
  5. Kubeflow Serving 支持用户将经过训练的 ML 模型部署为可扩展的生产就绪型服务。它为使用 TensorFlow Serving、Seldon Core 等流行框架或自定义推理服务器部署模型提供了一致的界面。模型可在实时或批处理场景中部署,通过 HTTP 端点提供预测。
  6. Kubeflow Metadata 是一个集中式存储库,用于跟踪和管理与 ML 实验、运行和工件相关的元数据。它为整个工作流提供了一致的 ML 元数据视图,可在 ML 项目中实现可重现性、协作和治理。

此外,Kubeflow 还提供了基于 Web 的用户界面(UI),用于监控和管理 ML 实验、模型训练作业和推理服务。这些 UI 可提供可视化效果、指标和日志,帮助用户跟踪其 ML 工作流的进度、解决问题并做出明智的决策。

由于采用了 Kubernetes Operator 模型,Kubeflow 具有可扩展性,并支持自定义以适应特定的用例和环境。用户可以集成其他组件,如数据预处理工具、特征平台、监控解决方案和外部数据源,以增强其 ML 工作流的功能。

红帽® OpenShift® 是值得信赖的、全面且一致的平台,适用于所有环境下的应用开发、部署和管理。凭借 DevOps 功能(如 OpenShift PipelinesOpenShift GitOps红帽 Quay)以及与硬件加速器的集成,红帽 OpenShift 可实现更好的协作,并加快 AI 驱动型应用的交付。

红帽 OpenShift AI 提供了一个可视化编辑器,用于创建和自动化基于 Kubeflow Pipelines 的数据科学管道和实验。OpenShift AI 是一个集成式 MLOps 平台,用于在混合云环境中大规模构建、训练、部署并监控依托 AI 技术的应用、预测模型和基础模型。自动化并简化将 ML 模型集成到软件开发、生产部署、监控、重新训练和重新部署的迭代流程,以保持预测准确性。

红帽 OpenShift 在 IBM Cloud、Google Cloud、AWS 和 Azure 上以原生方式提供,允许用户自动管理 Kubernetes 集群,通过生产就绪型应用平台快速构建、部署和扩展应用。 

 

继续阅读

文章

容器与虚拟机

Linux 容器和虚拟机(VM)都是封装型计算环境,里面组合了各种 IT 组件并独立于系统的其余部分。

文章

什么是容器编排?

容器编排是指自动化容器的部署、管理、扩展和联网。

文章

什么是 Linux 容器?

Linux 容器是与系统隔离开的一系列进程,它从单独的镜像运行,并由该镜像提供支持进程所需的全部文件。

详细了解容器

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

相关资源

培训

免费培训课程

"通过红帽来运行容器"技术概述

免费培训课程

容器、Kubernetes 和红帽 OpenShift 技术概述

免费培训课程

利用微服务架构开发云原生应用