Kubeflow 1.10.0 提供了必要的更新,增强了机器学习工作流的灵活性、效率和可扩展性。新功能涵盖了多个组件,改进了用户体验和系统性能。

亮点功能

  • Trainer 2.0
  • 模型注册中心的新用户界面
  • Spark Operator 作为核心 Kubeflow 组件
  • Kubernetes 和容器安全 (兼容 CISO)
  • LLMs 微调的超参数优化
  • Pipelines 中的循环并行
  • Katib 的新参数分布
  • 与 KServe 更深度的模型注册中心集成
  • KServe 的新 Python SDK、OCI 存储和模型缓存
  • Spark Operator 的新安全上下文和无根 Istio-CNI 集成

Kubeflow 平台(Manifests & 安全)

Kubeflow 平台工作组致力于简化 Kubeflow 的安装、操作和安全。详情见下文。

Manifests

  • Spark Operator 2.1.0 已包含在 Kubeflow 平台中,但默认未安装
  • 文档更新,使安装、扩展和升级 Kubeflow 更加容易
  • 有关更多详细信息和未来计划,请参阅 1.10.01.10.1/1.11.0 里程碑
Notebooks Dashboard Pipelines Katib Trainer KServe Model Registry Spark
1.10 1.10 2.4.1 0.18 1.9 0.14 0.2.15 2.1.0
Kubernetes Kind Kustomize Cert Manager Knative Istio Dex Oauth2-proxy
1.31-1.33 0.26 5.4.3 1.16.1 1.16 1.24 2.41 7.7

安全

  • CVE 减少 - 使用 trivy 定期扫描
  • Kubernetes 和容器安全最佳实践
    • 无根容器 / PodSecurityStandards 受限,适用于:Istio-CNI, Knative, Dex, Oauth2-proxy, Spark
    • 完成 50%:KFP, Notebooks / Workspaces, Katib, Trainer, Kserve, …
    • Istio-CNI 作为无根 Kubeflow 的默认设置推迟到 1.10.1
  • OIDC-authservice 已被 oauth2-proxy 替代
  • Oauth2-proxyDex 文档,用于外部 OIDC 认证 (Keycloak 和 Azure、Google 等 OIDC 提供商)

Trivy CVE 扫描 2025 年 3 月 25 日

工作组 镜像 关键 CVE 高危 CVE 中危 CVE 低危 CVE
Katib 17 11 101 417 734
Pipelines 15 57 490 4030 1922
工作台 (Notebooks) 12 12 59 179 224
Kserve 16 21 305 6803 1588
Manifests 14 8 4 94 52
Trainer 1 0 0 1 0
Model Registry 6 1 13 153 188
Spark 1 5 37 1640 141
所有镜像 81 115 1009 13275 4804

Pipelines

支持资源限制中的占位符

Kubeflow Pipelines 2.4.1 引入了对资源限制中占位符的支持,增强了管道执行的灵活性。此更新允许用户使用参数化值定义动态资源限制,从而实现更具适应性和可重用性的管道定义。

支持循环并行

Kubeflow Pipelines 2.4.1 为 ParallelFor 任务引入了新的并行限制,使用户能够运行大规模并行推理管道,并对其工作流中的并行执行有更多控制。此功能允许用户指定并行迭代的最大数量,防止资源过度利用并提高系统稳定性。在使用 GPU 运行大型管道时,正确使用此功能可以为您的团队节省数千美元的计算费用。

实现 SubDAG 输出解析

Kubeflow 1.10 确保使用嵌套 DAG 的管道在被视为组件时能够正确可靠地工作。深层嵌套 DAG 的输出现在将正确解析,避免断开的依赖关系。

Model Registry

模型注册中心引入了新的用户界面和增强的模型管理功能。

模型注册中心用户界面

新的 Kubeflow 模型注册中心用户界面提供了用户友好的 Web 界面,用于管理 Kubeflow 平台内的机器学习模型。它集中了模型元数据、版本跟踪和工件管理,简化了 MLOps 工作流。

主要功能包括

  • 使用自定义元数据轻松注册模型
  • 通过筛选和排序进行全面的模型管理
  • 归档功能
  • 版本控制
  • 元数据编辑

Model Registry UI

用户界面与模型注册中心的 REST API 交互,使其对各种技术背景的用户都可访问,并增强了数据科学、机器学习工程和 MLOps 团队之间的协作。

要开始使用目前处于 Alpha 阶段的模型注册中心用户界面,您可以按照此处的说明进行操作。

Kubeflow 模型注册中心用户界面团队希望进行用户研究,以确定我们可以在未来迭代中贡献的可能增强功能。如果您有兴趣参与此研究,请填写此调查问卷

自定义存储初始化器

模型注册中心自定义存储初始化器 (CSI) 是 KServe ClusterStorageContainer 的自定义实现。此功能允许用户利用模型注册中心元数据高效地下载和部署模型。随着最新版本的模型注册中心的发布,现在可以安装和使用自定义存储初始化器 (CSI)。

您可以在 Kubeflow 网站的模型注册中心组件的“入门”部分找到详细的安装说明和一些小示例。

有关进一步信息以及未来与 KServe 更好集成的开发,您可以参考此处的幻灯片。

训练 Operator (Trainer) & Katib

Kubeflow 1.10 增强了训练 Operator 和 Katib,提供了用于超参数优化的新工具和 API,特别是针对大型语言模型。

此外,Kubeflow 训练 Operator 现在支持JAX 进行分布式训练,使用户能够利用 JAX 的能力进行高效且可扩展的模型训练。

最后,如果您想参与 Trainer V2,请查看此 KEPissue

用于 LLMs 的超参数优化 API

Katib 引入了新的高级超参数调优 API,简化了 Kubernetes 中的 LLMOps 工作流。此 API 集成了 Katib 和训练 Operator,以自动化超参数优化,减少数据科学家微调大型语言模型所需的手动工作。有关更多信息,请参阅功能发布博客文章

支持各种参数分布

Katib 现在增加了对多种概率分布的支持。之前仅限于均匀分布,Katib 现在支持对数均匀分布、正态分布和对数正态分布,为数据科学家提供了更大的超参数调优灵活性。这对于学习率等参数特别有用,这些参数受益于对数均匀采样;或者对于预期围绕均值变化的数值,适用于正态分布。

基于 Push 的指标收集

Katib 现在允许用户直接将指标推送到 Katib DB。新的基于 push 的设计为现有的基于 pull 的设计提供了管理和性能方面的改进。有关更多详细信息,请参阅基于 Push 的指标收集博客文章

Dashboard & Notebooks

Kubeflow 1.10 改进了 Notebooks 的可观察性和可用性,同时提供了更新的默认镜像

Notebooks 的 Prometheus 指标

Notebooks 组件和 CRUD 后端现在都具有 Prometheus 指标。Notebooks 使用 prom-client 库暴露自定义指标,而 CRUD 后端使用 prometheus_flask_exporter 库。这确保了所有后端服务之间的指标集成一致性。

更具描述性的错误消息

由于资源限制导致的 Notebook 创建失败的错误消息现在更具描述性。用户可以快速识别资源不足等问题。

Spark Operator

Spark Operator 现已集成到 Kubeflow 的核心组件中,包括了架构、安全和性能方面的多项关键增强。

  • 使用 Controller Runtime (v2.0.0) 重建:使用 controller-runtime 现代化核心架构,与 Kubernetes 控制器模式对齐,改进结构、可扩展性和可测试性。
  • YuniKorn 组调度支持 (v2.0.0):能够将 Spark driver 和 executor pod 作为一组高效调度,非常适合需要资源保障的大规模数据管道。
  • 增强的安全上下文和 SeccompProfile 支持 (v2.1.1):添加了对 seccompProfile: RuntimeDefaultreadOnlyRootFilesystem 的支持,与 Kubernetes Pod 安全标准对齐,并最大程度地降低安全风险。

KServe

KServe v0.14.1 引入了几项关键功能,增强了其部署和管理机器学习模型的能力。

新的 Python SDK

此版本包含一个新的 Python SDK,带有 REST 和 GRPC 推理客户端,提供异步支持和以二进制格式处理张量数据的功能。

OCI 存储模型

模型 OCI 存储也已升级为稳定功能,通过将 OCI 模型配置为 init 容器来提高稳定性。

模型缓存功能

此外,模型缓存功能的引入利用本地节点存储减少模型加载时间,特别是对于大型模型,提高了可扩展性。

Hugging Face 集成

KServe v0.14.1 通过新的 hf:// URI 方案进一步扩展了与 Hugging Face 的集成,可以直接从 Hugging Face Hub 部署模型。

下一步计划?

如果您想了解 Kubeflow 1.11 的路线图规划并贡献您的想法,请参阅NotebooksManifests & Security、Pipelines、Model Registry、Katib、Training Operator。

如何开始使用 1.10

访问 Kubeflow 1.10 发布页面 或前往入门和支持页面。

加入社区

我们要感谢所有为 Kubeflow 1.10 做出贡献的人,特别是 Ricardo Martinelli De Oliveira,他作为 v1.10 发布经理的工作;以及所有发布团队成员和工作组领导,他们不懈地投入时间为这个伟大的项目做出贡献。

发布团队成员:Ricardo Martinelli De Oliveira, Dimitris Poulopoulos, Matteo Mortari, Julius von Kohout Valentina Rodriguez Sosa, Helber Belmiro, Vraj Bhatt, Diego Lovison, Dagvanorov Lkhagvajav, Sailesh Duddupudi, Manos Vlassis, Tarek Abouzeid, Milos Grubjesic

工作组领导:Andrey Velichkevich, Julius von Kohout, Mathew Wicks, …

Kubeflow 指导委员会:Andrey Velichkevich, Julius von Kohout, Yuan Tang, Johnu George, Francisco Javier Araceo

参与的分发版:Charmed Kubeflow (Canonical), Nutanix, OpenShift AI (RedHat), QBO

您可以在此处找到有关 Kubeflow 分发版的更多详细信息。

想帮忙吗?

Kubeflow 社区工作组举行开放会议,并一直在寻找更多志愿者和用户来释放机器学习的潜力。如果您有兴趣成为 Kubeflow 贡献者,请随时查看以下资源。我们期待与您合作!