本文档包含在 Google Cloud上运行生成式 AI 工作负载时 Cloud Build 的最佳实践和准则。将 Cloud Build 与 Vertex AI 搭配使用,在 Google Cloud上构建、测试和部署无服务器 CI/CD 平台。
请考虑将 Cloud Build 与 Vertex AI 搭配使用的以下应用场景:
- 自动构建机器学习流水线:借助 Cloud Build,您可以自动构建和测试在 Vertex AI Pipelines 中定义的机器学习流水线。这种自动化有助于您更快、更一致地构建和部署模型。
- 构建用于部署的自定义容器映像:Cloud Build 可以为模型部署环境构建自定义容器映像。借助 Cloud Build,您可以将模型代码、依赖项和运行时环境打包到单个映像中,然后将该映像部署到 Vertex AI Inference 以提供预测。
- 与 CI/CD 工作流集成:借助 Cloud Build,您可以在 CI/CD 工作流中自动构建和部署机器学习模型。这种自动化可确保您的模型保持最新状态并部署到生产环境。
- 根据代码更改触发构建:当模型代码或流水线定义发生更改时,Cloud Build 可以自动触发构建。这种自动化有助于确保您的模型是使用最新代码构建的,并且所有更改都会自动部署到生产环境。
- 获得可伸缩的安全基础设施:Cloud Build 使用Google Cloud可伸缩的安全基础设施来构建和部署模型。这种可伸缩性意味着您无需担心管理自己的基础设施,可以专注于开发模型。
- 支持各种编程语言:Cloud Build 支持各种编程语言,包括 Python、Java、Go 和 Node.js。借助此支持,您可以使用自己选择的语言构建模型。
- 使用预构建的构建步骤:为了简化构建流程,Cloud Build 针对常见的机器学习任务(例如安装依赖项、运行测试和将映像推送到容器注册表)提供了预构建的构建步骤。
- 创建自定义构建步骤:您可以在 Cloud Build 中定义自己的自定义构建步骤,以便在构建过程中执行任意代码。
- 为其他 Vertex AI 服务构建制品:Cloud Build 可以为其他 Vertex AI 服务(例如 Vertex AI Feature Store 和 Vertex AI Data Labeling)构建制品。这种灵活性有助于您在 Google Cloud上构建完整的机器学习工作流。
- 实现经济实惠的解决方案:Cloud Build 提供随用随付的价格模式,因此您只需为所使用的资源付费。
必需的 Cloud Build 控制措施
使用 Cloud Build 时,强烈建议您采取以下控制措施。
定义允许的专用池
| Google 控制 ID | CBD-CO-6.1 |
|---|---|
| 类别 | 必需 |
| 说明 | 借助 使用以下格式之一定义允许或拒绝的工作器池列表:
|
| 适用的产品 |
|
| 路径 | constraints/cloudbuild.allowedWorkerPools |
| 运算符 | = |
| 类型 | 字符串 |
| 相关 NIST-800-53 控制 |
|
| 相关 CRI 配置文件控制 |
|
| 相关信息 |
定义哪些外部服务可以调用构建触发器
| Google 控制 ID | CBD-CO-6.2 |
|---|---|
| 类别 | 必需 |
| 说明 |
|
| 适用的产品 |
|
| 路径 | constraints/cloudbuild.allowedIntegrations |
| 运算符 | = |
| 类型 | 列表 |
| 相关 NIST-800-53 控制 |
|
| 相关 CRI 配置文件控制 |
|
| 相关信息 |
为虚拟机实例定义允许的外部 IP 地址
| Google 控制 ID | CBD-CO-6.3 |
|---|---|
| 类别 | 必需 |
| 说明 | 借助 |
| 适用的产品 |
|
| 路径 | compute.vmExternalIpAccess |
| 运算符 | = |
| 值 |
|
| 类型 | 列表 |
| 相关 NIST-800-53 控制 |
|
| 相关 CRI 配置文件控制 |
|
| 相关信息 |