如果您要编写自己的训练代码,而不使用 AutoML,可以通过以下几种方式进行自定义训练。本主题简要介绍运行自定义训练的不同方法。
Vertex AI 上的自定义训练资源
您可以创建三种类型的 Vertex AI 资源以在 Vertex AI 上训练自定义模型:
创建自定义作业时,您需要指定 Vertex AI 运行训练代码所需的设置,包括:
- 用于单节点训练的一个工作器池 (
WorkerPoolSpec
),或用于分布式训练的多个工作器池 - 用于配置作业调度的可选设置 (
Scheduling
)、为训练代码设置特定的环境变量、使用自定义服务账号和使用 VPC 网络对等互连
在工作器池中,您可以指定以下设置:
- 机器类型和加速器
- 工作器池运行的训练代码的配置:Python 训练应用 (
PythonPackageSpec
) 或自定义容器 (ContainerSpec
)
超参数调节作业具有配置额外设置,例如指标。详细了解超参数调节。
训练流水线用其他步骤编排自定义训练作业或超参数调节作业,例如,在训练作业成功完成后加载数据集或将模型上传到 Vertex AI。
自定义训练资源
如需查看项目中的现有训练流水线,请转到 Google Cloud Console 的 Vertex AI 部分中的训练流水线页面。
要查看项目中的现有自定义作业,请转到自定义作业页面。
要查看项目中的现有超参数调节作业,请转到超参数调节页面。
预构建和自定义容器
在向 Vertex AI 提交自定义训练作业、超参数调节作业或训练流水线之前,您需要创建一个 Python 训练应用或自定义容器 定义您要在 Vertex AI 上运行的训练代码和依赖项。如果您使用 TensorFlow、PyTorch、scikit-learn 或 XGBoost 创建 Python 训练应用,则可以使用我们的预构建容器运行您的代码。如果您不确定选择哪个选项,请参阅训练代码要求了解详情。
分布式训练
您可以通过指定多个工作器池,为自定义训练作业配置超参数调节作业、超参数调节作业或训练流水线:
- 使用第一个工作器池配置主副本,并将副本计数设置为 1。
- 添加更多工作器池来配置工作器副本、参数服务器副本或评估器副本(如果您的机器学习框架支持分布式训练的这些额外集群任务)。
详细了解如何使用分布式训练。
后续步骤
- 了解如何创建永久性资源以运行自定义训练作业。
- 请参阅创建自定义训练作业,了解如何创建自定义训练作业,以在 Vertex AI 上运行自定义训练应用。
- 请参阅创建训练流水线,了解如何创建训练流水线以在 Vertex AI 中运行自定义训练应用。
- 如需了解超参数调节搜索,请参阅使用超参数调节。