人工智能学习

KitOps:实用的KitOps方法,用于加速AI/ML从开发到生产过程的过程

本文主要是介绍KitOps:实用的KitOps方法,用于加速AI/ML从开发到生产过程的过程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

每家公司和高管都在谈论通过AI/ML加速他们的成功步伐。但现实与愿望之间有着巨大的差距。对于大型科技公司,他们正通过大量的投资来填补这个鸿沟:招聘数据科学家、ML工程师、MLOps从业人员以及其他一系列非常高薪的职位和角色,并将他们安置在新的部门或AI卓越中心(AI CoE,人工智能卓越中心)里。

这个新的 CoE 看起来和它旁边的那个软件工程组织很相似。这其实并不令人惊讶,因为许多困扰 AI/ML 开发的问题都是几年前软件开发中遇到的问题:如何有效协作,如何在不同团队和环境下重现实验,如何确保项目的安全,如何知道知识产权的来源等等。

认为公司需要从零开始组建全新的团队来解决AI/ML方面的问题……这真是有点奇怪。为什么我们不能利用多年来在软件开发中积累的经验和解决方案呢?

咱们可以……也应当。

关键是分辨现有基础设施、工具和流程中哪些部分可以适应AI/ML的需求,哪些部分确实需要全新的方法。

AI/ML项目打包和版本管理

在重现一个AI/ML项目时,对于所需的各类工件的打包及版本控制,目前没有统一的标准。

  • 在 Jupyter 笔记本或 MLOps 工具中的模型
  • 数据集位于数据湖、数据库或文件系统中
  • 存储在 Git 仓库中的代码
  • 分散在不同存储系统中的元数据,包括超参数、特征和权重等

这太疯狂了——在技术的其他领域,都有基本的标准,使团队能够用不同的工具合作:容器、PDF、TAR,还有很多其他例子。

没有这,管理AI项目生命周期的工作变得更难,失败的风险也更高。

我们创建了KitOps来解决这个问题,它是一个专为AI/ML项目设计的开源、标准打包和版本控制系统。KitOps利用现有的软件标准和规范,因此,您的DevOps/SRE团队可以利用他们在容器化应用程序上的工具和流程,同样适用于AI/ML项目。

KitOps 让 AI 团队可以将 AI/ML 模型、数据集、代码和元数据打包成所谓的 ModelKit。这个 ModelKit 是一个带有版本控制的捆绑包,可以发送到预发布环境、用户验收测试 (UAT) 或生产环境。对于 DevOps 和 SRE 团队来说,这意味着他们可以像管理任何其他生产组件(如容器或微服务)一样管理 AI 模型。

对于使用容器和企业注册表的公司而言,KitOps 是一个无缝的契合。KitOps ModelKits 使用 OCI 标准——因为当已有标准适用时,没有必要创造一个新的标准。通过 KitOps,DevOps 和 SRE 团队可以在同一个注册中心管理 AI 资产,如模型、数据集、代码和元数据,就像管理其他制品一样。

让我们来看看KitOps如何优化AI/ML流程并解决公司在采用机器学习时遇到的一些独特挑战。

第一级:简化从开发到生产的过渡

将KitOps集成到您的CI/CD管道中后,您可以自动部署AI模型。这既可以由模型开发团队手动触发,也可以在模型或其相关工件发生变化时自动触发。这里就是为什么这很重要:

  • 统一操作:所有资产集中一处,让操作团队更轻松地测试、部署、审计和管理AI工作负载。
  • 合规性和安全性:通过将AI版本包保持在与其他生产资产相同的企业注册表中,这对于合规性要求来说至关重要。
  • 供应商独立性:通过使用OCI标准,您的公司可以避免供应商锁定,这使您在与供应商谈判时更具灵活性,并能够根据需求变化调整您的MLOps或服务基础设施。

对于正在尝试AI/ML的公司而言,这是使用KitOps的第一步,但许多人希望能进一步扩大其应用范围。

第二级:增加安全考量

安全性是首要关注点,尤其是在处理敏感数据或符合GDPR或HIPAA等合规要求时。结合开源的ModelScan工具,KitOps能够允许您的团队在模型从开发阶段推广出去之前扫描模型中的潜在漏洞,并将它们打包成一个不可篡改的ModelKit。

安全意识强的团队可以创建精选的ModelKit,通过从像Hugging Face这样的公共库中提取经过验证的模型,扫描这些模型并将其存储在企业注册表中的ModelKit下。这确保组织内部仅使用经过验证和不可篡改的模型。这种级别的安全性不仅能让人安心,而且在受严格监管的行业中也越来越重要。

一旦该模型通过扫描验证,它会被打包并签名成为ModelKit,确保其在传输过程中不会被篡改。

第三层:基于KitOps的全方位生命周期管理

对于希望让其人工智能运营成熟或符合严格合规要求(例如欧盟的要求)的公司来说,KitOps 可以贯穿整个 AI 项目生命周期。您不必等到生产阶段,而可以在开发阶段就开始使用 ModelKits。

这种方法能搞定很多常见难题:

  • 统一存储:所有AI/ML项目的工件都存储为符合OCI标准的对象,确保组织内部流程的一致性和标准化。
  • 跨团队协作:由于数据、AI/ML和软件团队使用不同的工具工作,使用KitOps确保他们可以安全高效地共享和协作工件,而不必放弃他们选择的工具。
  • 防篡改的工件:通过将开发工件存储为ModelKits,可以防止它们被意外或恶意篡改——这是AI开发中日益常见的担忧。

最好的一点是,此过程可以通过KitOps CLI自动化,这意味着你们的团队不需要手动跟踪每个更新或模型变更。

一个真实的例子:KitOps 的实际操作

我们来看看一个典型公司是如何在从开发到生产的过程中使用KitOps的。

  1. 开发阶段:数据科学家使用Jupyter笔记本工作,但在每个里程碑使用简单的KitOps命令将其工作保存为ModelKit:

kit -t registry.gitlab.com/chatbot/legalchat:tuned

运行这个命令,推送容器镜像至GitLab仓库: kit push registry.gitlab.com/chatbot/legalchat:tuned

这确保了所有模型、数据集和代码都被版本化,并安全地存储在集中位置。

  1. 集成:应用团队获取最新的ModelKit代码库:

kit pull registry.gitlab.com/chatbot/legalchat:tuned

他们测试服务的集成情况,重点关注性能和不同模型版本间的任何变化。

  1. 测试:在集成完成后,工程师用内置的验证数据集来测试模型是否准确,以检查其准确性。

解包 registry.gitlab.com/chatbot/legalchat:tuned 并加载模型和数据集

  1. 部署:当准备好投入生产之际,SRE团队将ModelKit标记为challenger并推送到CI/CD管道中。

标签 registry.gitlab.com/chatbot/legalchat:tuned registry.gitlab.com/chatbot/legalchat:challenger

运行工具包推送 registry.gitlab.com/chatbot/legalchat:challenger

部署团队监控新challenger模型在生产环境中的运行情况,如果表现良好,他们就会将其标记为champion。如遇问题,可轻松回滚到之前的模型。

为什么你应该了解一下KitOps

采用 AI/ML 并不一定要增加新的团队和基础设施。KitOps 提供了一个结构化、安全且可扩展的解决方案,用于管理整个 AI 项目的生命周期,从始至终。它能与现有的容器基础架构无缝结合,采用开放标准,并提供了关键的安全和审计功能,帮助您的团队保持合规和高效。

这篇关于KitOps:实用的KitOps方法,用于加速AI/ML从开发到生产过程的过程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!