阅读我们的文章

.

在本文中,我们将介绍一个工具,实际演示我们在生产项目中使用顶点人工智能管道的经验。.
如果您对如何使用顶点人工智能感到困惑,您将能够找到方向,因为本教程中的所有内容都是基于实际经验的。其中有许多管道示例,说明了如何使用顶点人工智能和 Kubeflow 的某些很酷的功能。您还将找到一个 makefile 文件,帮助您运行重要的配方,节省大量时间来构建模型并在生产中运行。.

人工智能中的管道可定义为执行人工智能工作流的完整或特定部分(例如:训练管道)的连接作业集。.

example of a simple training pipeline

简单培训管道示例

example of a training pipeline on Vertex AI Pipelines using Kubeflow

使用 Kubeflow 在 Vertex AI 管道上进行培训的示例

如果设计得当,管道具有可重现性和高度可定制性的优点。这两个特性使实验和在生产中部署管道变得相对容易。将 Vertex AI 管道与 Kubeflow 结合使用,有助于我们快速设计和运行具有上述特性的自定义管道。我们在入门套件中举例说明的管道非常具有代表性,它们是在开发需要部署到生产中的 ML 项目时可能遇到的情况。我们还分享了一些技巧和自动脚本,以便您可以专注于熟悉 Vertex AI。.

我刚开始使用顶点人工智能流水线时,对完成相同任务的所有可能性感到不知所措。我不太确定如何构建管道的最佳选择。几个月后,我们找到了自己的方向,并建立了一些信念,至少在使用这项技术管理生产中的项目生命周期的最重要方面。.

如前所述,本文旨在介绍一个入门工具包,以实际方法展示我们在使用顶点人工智能流水线时的经验和心得。我们希望这能帮助新手快速掌握这一强大的工具,而无需支付高昂的入门费用。.

在接下来的章节中,我们将介绍使用顶点人工智能管道发现的最有趣的概念/功能。我们还将使用一个玩具预测项目(M5 竞赛)来说明一切。我们将有意不把重点放在建模部分,而是强调在生产中操作模型所需的不同步骤。.

创建自定义基础图像,并将其作为组件的基础

如果你曾经使用过 Kubeflow 管道,你可能会有一个问题:何时使用基于容器的组件,何时使用基于函数的组件。这两种选择各有利弊,但也可以找到一个中间点。与基于函数的组件相比,基于容器的组件更适合代码依赖性较多的复杂任务,而基于函数的组件将所有代码依赖性都包含在一个函数中,通常更简单。后者运行速度更快,因为我们不需要每次编辑代码时都构建和部署映像。在基于函数的组件中,运行函数时会使用默认的 python 3.7 映像。.

为了以同样的方式运行复杂和简单的组件,我们的解决方案是使用默认基础镜像的改写版本。在这个经过修改的基础镜像中,我们将所有代码作为一个软件包安装。然后,我们在基于函数的组件中导入这些函数,就像导入 pandas 一样。这样,我们就能以同样的方式运行复杂和简单的任务,并将图像构建时间缩短为 1(基础图像)。.

我们还组织我们的 配置文件 的方式,轻松调整组件和管道的输入。.

Using a an overwritten base image as the single foundation for all your components

将覆盖的基础图像作为所有组件的唯一基础

并行化部分流水线就像编写 for 循环一样简单

在尝试使用 ML 时,我们通常需要对一个简单的训练工作流程进行多次迭代,以调整超参数或建立多个模型(例如按产品类别建立模型)。.

要以最佳方式实现这一点,就必须对不同的训练工作流程进行并行化处理,以节省时间和优化资源。有了顶点管道和 Kubefkow,您只需花最少的精力编写一个 for 循环。在编译管道时,Kubeflow 会计算出哪些步骤和/或步骤组可以并行运行,哪些需要连续运行。.

包含并行运行部件的流水线示例

无缝运行 ML 模型的条件部署

有了 kfp.dsl.condition,您就可以轻松部署训练有素的模型,并准备在以后通过一些代码逻辑重复使用它。如果您正在尝试多种设置,并希望在生产中无缝移动给定条件集,那么 Kubeflow 的这一功能将非常方便。将其与出色的 CICD 相结合,您就能顺利地运行 ML 模型生命周期。.

有条件部署示例

除了这些功能(并非全部),您还将拥有 再现性 , 溯源性, 可管理性 最后但并非最不重要的是,在 GCP 上的顶点人工智能界面上有一个很好的用户界面来监控一切。.

结论

如今,许多 ML 模型有望在生产中运行。因此,如果您正在 GCP 上工作并计划使用 Vertex AI,我们希望这个入门套件能帮助您在使用该工具的过程中获得愉快的体验。如果您正在启动自己的项目,并希望尽快让它们发挥作用,也就是将它们部署到生产中,那么您也应该看看它。.

非常感谢 Luca Serra、Jeffrey Kayne 和 Robin Doumerc (Artefact) 帮助制作了这个入门套件,还有 Maxime Lutel 为我们使用的玩具项目实际制作了模型。.

如果您想更上一层楼,您可以在 GCP 文档中找到如何操作:

中号 Blog by Artefact。.

本文最初发表于 Medium.com.
在我们的 Medium Blog 上关注我们!