Kubeflow 1.9:模型管理和训练优化的新工具
Kubeflow 1.9 显著简化了安全机器学习模型和 LLM 的开发、调优和管理。亮点包括:
- 模型注册中心 (Model Registry):集中管理机器学习模型、版本和工件。
- 面向 LLM 的微调 API (Fine-Tune APIs for LLMs):简化了使用自定义数据集对 LLM 进行微调的过程。
- 流水线 (Pipelines):整合了 Tekton 和 Argo Workflows 后端以提高灵活性。
- 安全增强 (Security Enhancements):网络策略、Oauth2-proxy 和 CVE 扫描。
- 集成升级 (Integration Upgrades):改进了与 Ray、Seldon、BentoML 和 KServe 的集成,用于 LLM GPU 优化。
- 安装和文档 (Installation and Documentation):简化了安装流程,更新了平台依赖项,并增强了文档。
这些更新旨在简化工作流程,改进集成依赖关系,并为企业规模、安全性和隔离性提供 Kubernetes 原生的操作效率。
模型注册中心 (Model Registry)
模型注册中心为机器学习模型开发者提供了一个集中的目录,用于索引和管理模型、版本和机器学习工件元数据。它弥补了模型实验和生产活动之间的差距。它为机器学习生命周期中的所有利益相关者提供了一个集中的接口,以协作处理机器学习模型。模型注册中心是社区长期以来一直要求的,我们很高兴将其引入到 Kubeflow 生态系统中。
这个初始版本包含了 REST API 和 Python SDK,用于以标准化格式跟踪模型工件和模型元数据,这些格式可以在 Kubeflow 组件之间重用,例如用于部署推理服务器。你可以按照Kubeflow 网站上的模型注册中心教程开始使用,或者观看模型注册中心实际操作的短演示视频。
我们刚刚开始。这是一个 Alpha 版本,我们期待收到反馈。模型注册中心工作组每两周开会一次:你可以通过参加会议或直接在仓库中提供反馈。
面向 LLM 的微调 API
在快速发展的机器学习/人工智能领域,微调预训练模型的能力是朝着以更少的精力y和时间实现定制解决方案迈出的重要一步。使用自定义数据集进行微调使实践者能够根据其特定需求调整大型语言模型 (LLM)。
然而,微调任务通常需要大量的手动干预,包括训练环境的配置和数据在节点间的分布。新的微调 API 旨在简化这一过程,提供一个易于使用的 Python 接口,抽象化在分布式系统上设置和执行微调任务的复杂性。
通过提供这个 API,训练操作员 (Training Operator) 不仅简化了机器学习实践者的用户体验,还利用了其现有的分布式训练基础设施。你可以利用 Kubernetes 动态调度 GPU 的能力,从而节省计算资源和成本。训练操作员还提供容错保证,以防止你的训练过程因集群节点故障而中断。
流水线 (Pipelines)
v1 功能对等性
通过使用新的 kfp-kubernetes 1.2.0 Python 包向流水线代码中添加更多 Kubernetes 资源,我们在实现 KFPv1 功能对等性方面取得了重大进展。我们鼓励每位 KFP 用户测试新的 V2 功能,并规划从 V1 到 V2 的迁移。我们仍有一些待办功能需要移植到 V2,请通过在 KFP 仓库中开启新 issue 来帮助我们识别缺失的功能。
Argo Workflows 和 Tekton 后端整合
流水线 Tekton 后端已合并到主 Kubeflow Pipelines 仓库中。你现在可以在同一流水线版本中选择要使用的 workflow 引擎。这证明了 KFP v2 架构的可扩展性和灵活性,鼓励其他贡献者为其他 workflow 引擎提供支持。
Argo Workflows 和 Tekton 都提供了独特的优势。Argo Workflows 以其简洁易用而闻名,成为许多用户的热门选择。Tekton 通过其流水线定义和可重用组件提供了广泛的定制选项,这对于集成到各种 CI/CD 系统中可能非常有利。根据你的具体需求和偏好,你可以利用 Argo Workflows 或 Tekton 的优势来优化你的机器学习工作流程。
在这篇博文中,你可以找到更多关于使用 Tekton 或 Argo Workflows 运行 KFP 的好处的详细信息。
Argo Workflows 升级
Kubeflow Pipelines 的 Argo Workflows 后端已升级到 3.4.16。这次升级使支持的版本更接近最新的上游版本,并带来了许多 CVE 修复。之前的次要版本不再由 Argo 社区提供补丁,因此随着时间的推移积累了许多安全问题。
Katib
Kubeflow 1.9 集成了 Katib 0.17,这带来了对 ARM64 的官方支持,使我们离完全支持 ARM64 又近了一步。
对于使用 Python SDK 提交训练作业的数据科学家,你现在可以通过 tune 方法设置算法设置和环境变量。以前,你必须直接依赖 Kubernetes CRD 提交来实现这些。你还可以利用 TensorFlow 2.16 和 PyTorch 2.2 的最新功能。团队还努力解决了阻止 Katib Python SDK 与 Kubeflow Python SDK 一起安装的环境冲突问题。
还有大量额外的改进和错误修复。在此查看完整的更新日志此处。
中心仪表盘 (Central Dashboard)
此版本为 Kubeflow 中心仪表盘带来了一些改进,包括:
- 改进了侧边栏的样式,包括将所有 Kubeflow Pipelines 链接分组以减少混乱
- 显著改进了“管理贡献者”页面,包括能够管理你拥有的所有配置文件的贡献者,以及查看你有权访问哪些配置文件(即使你不是所有者)的能力
- 允许外部服务通过将命名空间选择器值发送到非 iframed 应用程序来解析当前配置文件(命名空间)
- 显著更新了依赖项以减少 CVE

Notebooks
在此版本中,我们提供显著更新了所有示例 Notebook 镜像,包括 PyTorch 2.3.0、Tensorflow 2.15.1 以及许多其他库更新。虽然你可以继续使用旧镜像,但我们建议更新以使用最新最好的机器学习库。
此外,Notebook 镜像现在使用非 root SecurityContext 运行,从而提高了安全性。
查看更新日志,了解错误修复和改进的完整列表。
虽然此版本在 Notebook 新功能方面有所欠缺,但工作组正在努力开发一个令人兴奋的新项目:我们正在新的仓库中积极开发 Notebooks V2,并得到了多家公司的贡献。在此查看并加入我们的工作组会议参与其中!
Kubeflow 平台(安全和 Manifests)
安全
网络策略 (Network Policies)
网络策略已为 Kubeflow 核心服务启用,作为 Istio 授权策略之前的第二道防线。这为管理员提供了更好的网络概览和分段,同时还强制执行常见的企业安全准则。你可以在此处阅读更多关于当前实现和架构的信息。
认证
Oauth2-proxy 取代了 oidc-authservice,带来了改进的基于令牌的认证。机器学习工程师现在可以使用令牌而不是不安全的密码来进行 Kubeflow 部署和维护的 CI/CD 自动化(例如使用 GitHub actions)。你可以在此处阅读更多关于当前实现和架构的信息。
CVE 扫描
在此版本中,我们在 manifests 主分支上引入了使用 Trivy 进行的自动化 CVE 扫描。我们感谢为减少 CVE 数量所做的贡献,安全工作组需要帮助来构建一个更安全的平台。你可以在此处找到有关我们的安全扫描流程和披露政策的更多详细信息。以下是 6 月 25 日的摘要

你可以在此处找到详细的安全工作组路线图。
Manifests
安装和文档改进
文档已得到改进,现在包含了管理员升级和扩展 Kubeflow 平台的指南。新用户现在只需几分钟就可以在他们的笔记本电脑上安装 Kubeflow
平台依赖项更新
| 组件 | Kubernetes | Kustomize | Istio | Dex | Cert-Manager | Knative |
| KF 1.9 版本 | 1.27 - 1.29 | 5.2.1+ | 1.22.1 | 2.39.1 | 1.14.5 | 1.12.4 |
注意 预计 Kubernetes 1.30+ 也能工作,但未经过官方测试。
注意 Kustomize 5.2.1+ 的支持警告更少。因此,平台工程师拥有一个现代化且受支持的安装工具链。
与第三方机器学习工具集成
我们更新了 /contrib 中的第三方组件,以提供与更广泛的机器学习生态系统的集成。
你可以在此处找到详细的 Manifests 工作组路线图。
KServe
我们已升级到KServe 0.13。此版本包括:
- 增强的 Hugging Face 运行时支持:开箱即用地支持 Hugging Face 模型,实现了KServe Hugging Face Serving Runtime。目前支持的任务包括序列分类、令牌分类、填充掩码、文本生成和文本到文本生成。
- vLLM 支持:现在包含了对vLLM 的专用运行时支持,简化了 LLM 的部署过程。
- OpenAI Schema 集成:KServe 现在支持遵循 OpenAI 协议的生成式 transformer 模型的端点。这使得 KServe 可以直接与 OpenAI 的客户端库或 LangChain 和 LlamaIndex 等第三方工具一起使用。
文档
MLOps 是一个复杂的主题,用户一直要求提供清晰、最新和全面的文档。我们很高兴地宣布,我们已经启动了一个重组流程,以便更好地对齐各个组件的文档,使其具有相似的结构。我们正在改进文档,以更好地满足用户期望以及你期望技术文档的组织方式。我们将通过添加新的用户指南、教程和参考架构主题来持续提高文档的质量和完整性。
我们正在寻找能够帮助我们编写完整且高质量文档的新成员。请通过在 Kubeflow 网站中提交和审查 PR 来参与其中!
荣誉提名
Google Spark Operator 迁移至 Kubeflow
我们很高兴地宣布,Google 的 Spark Operator 已迁移到 Kubeflow Spark Operator,这标志着 Kubeflow 生态系统的一个重要新增组件的推出。Kubeflow Spark Operator 简化了在 Kubernetes 上部署和管理 Apache Spark 应用程序的过程。这一宣布不仅是关于一项新技术,更是关于围绕 Kubernetes 上的 Spark 构建一个更强大、开放治理、更具协作性的社区。
Kubeflow Spark Operator 尚未正式包含在 Kubeflow 版本中,但你可以按照此处的说明进行安装。
在此公告博文中阅读更多关于 Kubeflow Spark operator 的信息。
Google Summer of Code (GSoC)
今年,Kubeflow 很高兴参与 Google Summer of Code (GSoC) 项目,吸引了一大批充满热情的学生!超过 250 名学生加入了我们的 Slack 频道,渴望了解如何为 Kubeflow 社区做贡献并提交有影响力的提案。
我们也很幸运拥有一支由 20 位敬业导师组成的团队,准备指导这些才华横溢的个人。从近 70 份提案中,我们选择了 10 份提案,并得到了 Google 授予的 8 名优秀学生。他们现在正积极为各种 Kubeflow 功能做贡献,在各个 Kubeflow 组件中产生着实际影响。
我们将在未来通过一系列博文跟踪他们的进展并分享他们的成就,敬请关注!非常感谢所有导师和学生,是你们让 Kubeflow 的 GSoC 2024 项目取得了巨大成功!
感谢所有学生:Adem Baccara, Biswajit Pattnaik, Hansini Karunarathne, Hezhi Xie, Sandipan Panda, Shao Wang, Shashank Mittal, SIVASUBRAMANIAM L.。访问此页面了解更多关于每个项目和相应导师的详细信息。
下一步是什么
社区持续增长,特别是随着 CloudNative 社区对 AI 主题兴趣的不断增长。我们最近选举了第一届 Kubeflow 指导委员会。这是迈向更成熟的治理结构和民主开放社区的第一步。
如果你想了解 Kubeflow 1.10 路线图规划并贡献你的想法,请查看Notebooks、Manifests 与安全、流水线、模型注册中心、Katib、训练操作员。
如何开始使用 1.9
访问 Kubeflow 1.9 发布页面或前往入门部分了解更多关于安装、架构和快速入门示例的信息。
加入社区
我们要感谢所有为 Kubeflow 1.9 做出贡献的人,特别是 Ricardo Martinelli De Oliveira 作为 v1.9 发布经理的工作,以及所有发布团队和工作组负责人,他们不懈地为这个伟大的项目奉献自己的时间。
发布团队成员:Ricardo Martinelli De Oliveira, Stefano Fioravanzo, Helber Belmiro, Diego Lovison, Ajay Nagar, Mathew Wicks, Steven Irvin, Milos Grubjesic, Andrew Scribner, Julius von Kohout。
工作组负责人:Andrey Velichkevich, Ce Gao, Chaoran Yu, Chen Sun, Christian Kadner, Ilias Katsakioris, James Liu, James Wu, Johnu George, Julius von Kohout, Kimonas Sotirchos, Mathew Wicks, Matteo Mortari, Ramesh Reddy, Stefano Fioravanzo, Tommy Li, Vara Bonthu, Yannis Zarkadas, Yuan Tang, Yuki Iwai。
Kubeflow 指导委员会:Andrey Velichkevich, Johnu George, Josh Bottum, James Wu, Yuan Tang。
参与发行版:Charmed Kubeflow (Canonical), IBM IKS, Nutanix, OpenShift AI (RedHat), Oracle Cloud Infrastructure, DeployKF, VMWare, QBO。你可以在此处找到更多关于 Kubeflow 发行版的详细信息。
想提供帮助?
Kubeflow 社区工作组定期召开公开会议,并始终欢迎更多志愿者和用户加入,共同释放机器学习的潜力。如果你有兴趣成为 Kubeflow 贡献者,请随时查看以下资源。我们期待与你合作!
- 访问我们的Kubeflow 网站或 Kubeflow GitHub 页面
- 加入Kubeflow Slack 频道
- 加入kubeflow-discuss 邮件列表
- 参加我们的每周社区会议