Kubeflow 模型管理和训练优化的新工具

news2024/11/16 14:23:51

Kubeflow 显著简化了安全机器学习模型和大语言模型(LLMs)的开发、调优和管理。亮点包括:

  • 模型注册表:集中管理机器学习模型、版本和制品。

  • LLMs 微调 API:简化使用自定义数据集微调 LLMs 的过程。

  • 流水线:整合了 Tekton 和 Argo Workflows 后端,提高灵活性。

  • 安全增强:网络策略、Oauth2 代理和 CVE 扫描。

  • 集成升级:与 Ray、Seldon、BentoML 和 KServe 的集成优化,支持 LLM 的 GPU 优化。

  • 安装和文档:简化安装,更新平台依赖,改进文档。

这些更新旨在简化工作流程,改善集成依赖,并为企业规模提供 Kubernetes 原生的操作效率、安全性和隔离性。

模型注册表

模型注册表为机器学习模型开发者提供了一个中央目录,以管理模型、版本和制品元数据。它填补了模型实验和生产活动之间的空白。模型注册表为机器学习生命周期中的所有利益相关者提供了一个中央接口,促进对模型的协作。社区早已期待这一功能,我们很高兴将其引入 Kubeflow 生态系统。

这一初步版本包括 REST API 和 Python SDK,用于跟踪模型制品和元数据,采用标准化格式,可以在 Kubeflow 组件中重用,例如部署推理服务器。你可以通过 Kubeflow 网站上的模型注册表教程入门,或观看模型注册表的短演示视频。

这只是一个开始。我们正在进行 Alpha 版本,希望收到反馈。模型注册表工作组每两周开会,你可以通过参加会议或直接在代码库中提供反馈。

LLMs 微调 API

在快速发展的机器学习/人工智能领域,微调预训练模型的能力为实现定制解决方案提供了重要的突破。使用自定义数据集进行微调,允许实践者根据具体需求调整大型语言模型(LLMs)。

然而,微调任务通常需要大量的手动干预,包括配置训练环境和跨节点分配数据。新的微调 API 旨在简化这一过程,提供易于使用的 Python 接口,抽象掉在分布式系统上设置和执行微调任务的复杂性。

通过提供该 API,训练操作器不仅简化了机器学习实践者的用户体验,还利用了现有的分布式训练基础设施。你可以利用 Kubernetes 动态调度 GPU,从而节省计算资源和成本。训练操作器还为你提供容错保证,保护训练过程免受集群节点故障的影响。

流水线

v1 功能对齐

我们在 KFPv1 功能对齐方面取得了重大进展,添加了更多 Kubernetes 资源到 Pipelines 代码中,推出了新的 kfp-kubernetes 1.2.0 Python 包。我们鼓励每位 KFP 用户测试新 V2 功能,并规划从 V1 到 V2 的迁移。仍有一些待迁移的功能,请通过在 KFP 代码库中打开新问题来帮助我们识别缺失的部分。

Argo Workflows 和 Tekton 后端整合

Pipelines 的 Tekton 后端已合并到 Kubeflow Pipelines 主代码库中。你现在可以从同一 Pipelines 版本中选择工作流引擎。这证明了 KFP v2 架构的可扩展性和灵活性,鼓励其他贡献者支持其他工作流引擎。

Argo Workflows 和 Tekton 各有独特优势。Argo Workflows 以其简单易用而受到许多用户的青睐。Tekton 则提供了丰富的自定义选项,通过流水线定义和可重用组件,适合各种 CI/CD 系统的集成。根据具体需求和偏好,你可以利用 Argo Workflows 或 Tekton 的优势来优化机器学习工作流。

在这篇博客文章[1]中,你可以找到有关使用 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 提交训练作业的数据科学家,现在可以从调优方法中设置算法设置和环境变量。之前,你必须直接依赖 Kubernetes CRD 提交。你还可以利用 TensorFlow 2.16 和 PyTorch 2.2 的最新功能。团队还解决了环境冲突,允许 Katib Python SDK 与 Kubeflow Python SDK 同时安装。

还有许多其他改进和 bug 修复。请查看完整的更改日志[2]。

中央仪表板

此版本对 Kubeflow 中央仪表板进行了多项改进,包括:

  • 侧边栏的样式改进,将所有 Kubeflow Pipelines 链接分组,减少杂乱。

  • “管理贡献者”页面的显著改进,包括能够管理你拥有的所有配置文件的贡献者,并查看你可以访问的配置文件,即使你不是所有者。

  • 允许外部服务通过向非 iframe 应用程序发送命名空间选择器值来解析当前配置文件(命名空间)。

  • 对依赖项进行了重大更新,以减少 CVE。

图片

笔记本

KServe

我们升级到 KServe 0.13。此版本包括:

  • 增强的 Hugging Face 运行时支持:支持 Hugging Face 模型,实施了 KServe Hugging Face Serving Runtime。当前支持的任务包括序列分类、标记分类、填充掩码、文本生成和文本到文本生成。

  • vLLM 支持:现在包括针对 vLLM 的专用运行时支持,简化了 LLMs 的部署过程。

  • OpenAI 模式集成:KServe 现在支持生成性变换器模型的端点,遵循 OpenAI 协议。这使 KServe 可以直接与 OpenAI 的客户端库或第三方工具(如 LangChain 和 LlamaIndex)一起使用。

 Trivy 对清单主分支进行自动 CVE 扫描。我们感谢社区对减少 CVE 数量的贡献,安全工作组需要帮助以构建更安全的平台。你可以在此处找到有关我们的安全扫描过程和披露政策的更多详细信息。以下是 6 月 25 日的总结:

你可以在此处[7]找到详细的安全工作组路线图

文档

MLOps 是一个复杂的主题,用户希望有清晰、最新和全面的文档。我们很高兴地宣布,我们开始了重组过程,以更好地对齐各组件的文档结构。我们正在改进文档,以更好地符合用户期望,并组织技术文档。我们将继续提高文档的质量和完整性,新增用户指南、教程和参考架构主题。

我们正在寻找新成员,帮助我们撰写完整且高质量的文档。请通过在 Kubeflow 网站上打开和审核 PR 参与其中。

参考

Kubeflow 1.9:模型管理和训练优化的新工具

[1]博客文章: https://developer.ibm.com/blogs/awb-tekton-optimizations-for-kubeflow-pipelines-2-0/

[2]更改日志: https://github.com/kubeflow/katib/blob/master/CHANGELOG.md

[3]更改日志: https://github.com/kubeflow/kubeflow/releases/tag/v1.9.0

[4]此处: https://github.com/kubeflow/kubeflow/issues/7156

[5]此处: https://github.com/kubeflow/manifests/tree/master/common/networkpolicies

[6]此处: https://github.com/kubeflow/manifests/tree/master/common/oidc-client/oauth2-proxy

[7]此处: https://github.com/kubeflow/manifests/issues/2598

[8]此处: https://github.com/kubeflow/manifests/issues/2592

[9]公告博客: https://blog.kubeflow.org/operators/2024/04/15/kubeflow-spark-operator.html

[10]此页面: https://summerofcode.withgoogle.com/programs/2024/organizations/kubeflow

[11]发布页面: https://www.kubeflow.org/docs/releases/kubeflow-1.9/

[12]入门: https://www.kubeflow.org/docs/started/

[13]此处: https://www.kubeflow.org/docs/started/installing-kubeflow/#packaged-distributions

[14]Kubeflow 网站: https://www.kubeflow.org/docs/about/community/

[15]Kubeflow Slack 频道: https://www.kubeflow.org/docs/about/community/

[16]kubeflow-discuss: https://groups.google.com/g/kubeflow-discuss

[17]社区会议: https://www.kubeflow.org/docs/about/community/#kubeflow-community-call

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1949833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 SpringBoot 中优雅的做参数校验?

一、故事背景 关于参数合法性验证的重要性就不多说了,即使前端对参数做了基本验证,后端依然也需要进行验证,以防不合规的数据直接进入服务器,如果不对其进行拦截,严重的甚至会造成系统直接崩溃! 本文结合…

7月22日JavaSE学习笔记

Collection接口,还有一个父级接口Iterable可迭代的 Collection继承树 Set 集合 Set的底层是用Map实现(存储在key中,value中是空的Object对象) 有序:取出的顺序和添加的顺序是一样的。 List是有序的,Set是…

Idea2024 创建Meaven项目没有src文件夹

1、直接创建 新建maven项目,发现没有src/main/java 直接新建文件夹:右击项目名->new->Directory 可以看到idea给出了快捷创建文件夹的选项,可以根据需要创建,这里点击src/main/java 回车,可以看到文件夹已经创建…

搭建本地私有知识问答系统:MaxKB + Ollama + Llama3 (wsl网络代理配置、MaxKB-API访问配置)

目录 搭建本地私有知识问答系统:MaxKB、Ollama 和 Llama3 实现指南引言MaxKB+Ollama+Llama 3 Start buildingMaxKB 简介:1.1、docker部署 MaxKB(方法一)1.1.1、启用wls或是开启Hyper使用 WSL 2 的优势1.1.2、安装docker1.1.3、docker部署 MaxKB (Max Knowledge Base)MaxKB …

解决Windows 11更新错误0x800f081f的详细指南

在尝试更新Windows 11时,用户可能会遇到各种错误代码,其中之一是0x800f081f。这个错误通常与Windows更新组件或系统文件的损坏有关。本文将提供解决这一特定错误的详细步骤,并解释可能的原因。 错误代码0x800f081f概述 错误代码0x800f081f指…

【LLM】-08-搭建问答系统-语言模型,提问范式与 Token

目录 1、语言模型 1.1、训练过程: 1..2、大型语言模型分类: 1.3、指令微调模型训练过程: 2、Tokens 3、Helper function辅助函数 (提问范式) 4、计算token数量 1、语言模型 大语言模型(LLM)是通过预测下一个词…

【数据结构】搜索二叉树

二叉搜索树 二叉树的博客 在之前的数据结构的文章中已经基本对二叉树有一定的了解,二叉搜索树也是一种数据结构,下面将对二叉搜索树进行讲解。 二叉搜索树的概念 二叉搜索树又称为二叉排序树,它或者是一棵空树,或者是具有下面性…

汇凯金业:区块链技术包括哪些技术

区块链,作为一项颠覆性的技术,其应用场景日益广泛。然而,很多人对于区块链技术的组成部分却知之甚少。本文将深入探讨区块链技术所包含的各种技术组件,揭示其背后的工作原理,帮助读者更全面地理解区块链。 区块链技术…

最优化大模型效果之 RAG(一):Naive RAG

Hi,我是 Hyde,今天的话题是 RAG(Retrieval-Augmented Generation),一种用于优化大模型效果的方法,翻译成中文就是检索增强生成。 在之前的文章《最优化大模型效果的方向和思考》中,我们提到当前…

Google Test 学习笔记(简称GTest)

文章目录 一、介绍1.1 介绍1.2 教程 二、使用2.1 基本使用2.1.1 安装GTest (下载和编译)2.1.2 编写测试2.1.3 运行测试2.1.4 高级特性2.1.5 调试和分析 2.2 源码自带测试用例2.3 TEST 使用2.3.1 TestCase的介绍2.3.2 TEST宏demo1demo2 2.3.3 TEST_F宏2.3…

2-45 基于matlab的递归最小二乘法(RLS)对声音信号去噪

基于matlab的递归最小二乘法(RLS)对声音信号去噪,并对消噪前后的信号进行FFT分析,对比消噪前后的效果。可替换自己的声音信号进行分析。程序已调通,可直接运行。 2-45 递归最小二乘法(RLS) FFT分析 - 小红书…

聘请TPM管理咨询公司如何赢得员工认可?

聘请TPM管理咨询公司是一个重要的决策,它不仅能提升企业的运营效率和质量管理水平,而且需要得到员工的广泛认可才能确保改革的顺利实施。然而,赢得员工的认可并非易事,需要公司管理层和咨询公司共同努力,采取一系列措施…

崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB

前言 首届YashanDB「迁移体验官」开放后,陆续收到「体验官」们的投稿,小崖在此把优秀的投稿文章分享给大家~今天分享的用户文章是《崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB》(作者:小草),满满…

C++ | Leetcode C++题解之第275题H指数II

题目&#xff1a; 题解&#xff1a; class Solution { public:int hIndex(vector<int>& citations) {int n citations.size();int left 0, right n - 1;while (left < right) {int mid left (right - left) / 2;if (citations[mid] > n - mid) {right m…

C++ primer plus 第16章string 类和标准模板库, 函数符概念

C primer plus 第16章string 类和标准模板库, 函数符概念 C primer plus 第16章string 类和标准模板库, 函数符概念 文章目录 C primer plus 第16章string 类和标准模板库, 函数符概念16.5.1 函数符概念程序清单16.15 functor.cpp 16.5.1 函数符概念 正如 STL定义了容器和迭代…

【AOP实战】掌握Spring Boot AOP:重构代码,提升效率

文章目录 Spring Boot AOP - 面向切面编程AOP到底有什么不同AOP中的编程术语和常用注解定义切面环绕通知通知方法传参总结 Spring Boot AOP - 面向切面编程 AOP&#xff0c;即面向切面编程&#xff0c;其核心思想就是把业务分为核心业务和非核心业务两大部分。例如一个论坛系统…

ESP32和mDNS学习

目录 mDNS的作用mDNS涉及到的标准文件组播地址IPv4 多播地址IPv6 多播地址预先定义好的组播地址 mDNS调试工具例程mDNS如何开发和使用注册服务查询服务 mDNS的作用 mDNS 是一种组播 UDP 服务&#xff0c;用来提供本地网络服务和主机发现。 你要和设备通信&#xff0c;需要记住…

PHP基础语法-Part1

脚本格式 PHP脚本以<?php开头&#xff0c;以?>结尾&#xff1b; PHP语句以分号结尾&#xff08;;&#xff09; PHP是解释型语言&#xff1b; 输入和输出 获取用户的输入&#xff1a; $input readline("input:"); echo $input; echo "input:";…

EEtrade:区块链是什么

区块链&#xff0c;这个近年来频繁出现在我们视野中的术语&#xff0c;已经从一个技术小众圈的词汇&#xff0c;逐渐演变为全球关注的焦点。从比特币的诞生&#xff0c;到如今在金融、供应链、物联网等领域的广泛应用&#xff0c;区块链技术正在深刻地改变着我们的生活。那么&a…

将YOLOv8模型从PyTorch的.pt格式转换为TensorRT的.engine格式

TensorRT是由NVIDIA开发的一款高级软件开发套件(SDK)&#xff0c;专为高速深度学习推理而设计。它非常适合目标检测等实时应用。该工具包可针对NVIDIA GPU优化深度学习模型&#xff0c;从而实现更快、更高效的运行。TensorRT模型经过TensorRT优化&#xff0c;包括层融合(layer …