CI/CD 从业者知道而 ML 工程师尚不知道的……

社区文章 发布于 2024 年 6 月 10 日

随着 AI 在软件堆栈中加速普及,我们 CircleCI 看到用户面临新的挑战和复杂性。除了技术挑战之外,我们还看到 ML 工程师和数据科学家作为跨团队协作复杂性的新层次出现,组织必须应对这一挑战。模型评估、数据质量和操作不再局限于一小部分专家或孤立系统;每个软件工程师都在从确定性应用程序向概率性应用程序的转变中摸索。

当然,快速高效地发布产品的压力比以往任何时候都大。

ML 工程师也发现自己更多地参与到 DevOps 流程中。这并非易事,因为他们必须立即着手模型部署,甚至全面参与整个软件交付管道。

在 DevOps 生态系统中,我们认为大多数开发工具都在努力真正解决 AI 驱动应用程序 CI/CD 的新复杂性。目前,DevOps 生态系统中的少数成员能够妥善解决它。包括我们在内。

原因如下。

机器学习世界与 DevOps 世界相对独立发展,拥有不同的实践。但随着大型语言模型的兴起,这些世界正在碰撞。我们现在正集体努力追赶。在过去的一年中,CircleCI 一直致力于为 ML 模型构建者提供与我们通过 10 多年 DevOps 工具和最佳实践实验为软件工程师提供的相同速度、效率和信心来交付他们的工作。

对于我们 CircleCI 来说,这种新的用例意味着质疑 CI/CD 平台的核心假设。CI/CD 平台都围绕 VCS 展开,并且都遵循线性流程——对于提交到存储库的每个代码更改,进行构建、测试、发布和部署。

但 AI 带来了新的范式,在这个范式中,变化存在于 VCS 之外。数据集中或模型注册表中的事件不会导致对存储库的提交,但它们会影响应用程序的行为。因此,我们希望为 ML 工程师提供与开发人员修改代码库所需的相同测试和部署应用程序的控制权。我们过去将模型视为与应用程序大部分分离,并且仅在少数定制系统中使用,但现在 AI 正在成为堆栈中与数据库同等重要的一部分。

这就是为什么我们开始思考如何调整我们的 CI/CD 平台,以更好地适应 AI 驱动应用程序的构建者。我们首先尝试弄清楚如何让模型注册表的用户自动执行一套全面的测试,以控制他们所利用的模型和数据集的性能。

这项工作促成了(新发布的)入站 Webhook 的设计,这些 Webhook 可以将 CI 管道连接到 VCS 之外发生的事件。通过此次发布,我们摆脱了旧范式(用户需要手动触发管道以进行每次更改),转向了新系统,在该系统中,这些更改可以自动触发 CI 工作流。

自 2023 年 12 月发布入站 Webhook 以来,我们监控了使用情况,并立即看到我们的用户从 ML 平台触发工作流,其中包括——你猜对了——Hugging Face。事实上,出现的第一个用例之一是 Hugging Face 用户需要能够在模型新版本发布到平台时触发模型评估。

2024 年,我们致力于加速转型,以实现 AI 模型和 AI 驱动应用程序的自动化且易于扩展的集成和部署。

如果您想了解如何使用 Hugging Face 的 Webhook,本教程将向您展示如何触发 Hugging Face 上托管的图像检测模型的更新管道。所有通过 GitHub App 进行身份验证的 CircleCI 用户都可以使用这些 Webhook。除了 Hugging Face 事件之外,您还可以使用我们的 Webhook,并从任何平台(包括 Weights and Biases、Docker Hub 或 Replicated)创建与您的特定工作流和部署过程相关的事件。

一旦我们消除了手动管道触发的需要并加快了反馈循环,我们希望加倍努力实现模型部署。第一个里程碑是我们的Amazon SageMaker 集成,我们正在努力扩展到其他平台。

AI 在软件开发中的兴起给 CI/CD 流程带来了新的挑战。ML 工程师现在已成为跨团队协作不可或缺的一部分,面临着快速软件交付的需求。然而,大多数 CI/CD 平台尚未掌握 AI 应用程序的细微差别。

我们希望能够支持越来越多的 Hugging Face 用户,并且我们渴望获得有关这些 Webhook 以及我们为应对 AI 兴起给 CI/CD 流程带来的新挑战所做所有工作的反馈。

随着 ML 团队加入快速软件交付的努力,我们致力于继续为他们简化 DevOps 流程。

TL;DR

社区

注册登录发表评论