Google Distributed Cloud (GDC) air-gapped 提供预构建容器,以便使用以下机器学习 (ML) 框架训练的模型提供在线预测:
- TensorFlow
- PyTorch
如需使用这些预构建容器之一,您必须将模型保存为符合预构建容器要求的一个或多个模型工件。无论您的模型工件是否是在 Distributed Cloud 上创建的,这些要求都适用。
准备工作
在导出模型制品之前,请执行以下步骤:
- 创建并训练以受支持的容器之一为目标的预测模型。
- 如果您没有项目,请为 Vertex AI 设置项目。
与您的 Infrastructure Operator (IO) 合作创建预测集群。
IO 会为您创建集群,将其与您的项目相关联,并根据您进行在线预测所需的资源,在集群内分配相应的节点池。
在您的项目中创建 Vertex AI Default Serving (
vai-default-serving-sa
) 服务账号。如需了解服务账号,请参阅设置服务账号。向您创建的存储桶的 Vertex AI Default Serving (
vai-default-serving-sa
) 服务账号授予 Project Bucket Object Viewer (project-bucket-object-viewer
) 角色。如需了解如何向服务账号授予存储桶访问权限,请参阅授予存储桶访问权限。如需获得访问在线预测所需的权限,请让项目 IAM 管理员为您授予 Vertex AI Prediction User (
vertex-ai-prediction-user
) 角色。如需了解此角色,请参阅准备 IAM 权限。
导出到预构建容器的框架专属要求
根据您打算用于预测的机器学习框架,您必须以不同格式导出模型工件。以下部分介绍了每个机器学习框架可接受的模型格式。
TensorFlow
如果您使用 TensorFlow 训练模型,请将模型导出为 TensorFlow SavedModel 目录。
您可以通过多种方法从 TensorFlow 训练代码中导出 SavedModels
。以下列表介绍了适用于各种 TensorFlow API 的多种方式:
如果您使用 Keras 进行训练,请使用
tf.keras.Model.save
导出 SavedModel。如果您使用 Estimator 进行训练,请使用
tf.estimator.Estimator.export_saved_model
导出 SavedModel。否则,请使用
tf.saved_model.save
或使用tf.compat.v1.saved_model.SavedModelBuilder
。
如果您未使用 Keras 或 Estimator,则请务必在导出 SavedModel 时使用 serve
标记和 serving_default
签名,以确保 Vertex AI 可以使用您的模型工件来执行预测。Keras 和 Estimator 会自动处理此任务。详细了解如何在导出期间指定签名。
如需使用这些制品来提供预测,请使用与您用于训练的 TensorFlow 版本匹配的用于预测的预构建容器创建 Model
。
PyTorch
如果您使用 PyTorch 训练模型,则必须使用 Torch 模型归档程序创建归档文件,以打包模型工件(包括默认或自定义处理程序)。预构建的 PyTorch 映像要求归档命名为 model.mar
,因此请确保将模型名称设置为 model。
如需了解如何优化使用 TorchServe 提供的 PyTorch 模型的内存用量、延迟时间或吞吐量,请参阅 PyTorch 性能指南。
上传模型
您必须将模型上传到您创建的存储桶。如需详细了解如何将对象上传到存储分区,请参阅在项目中上传和下载存储对象。
模型存储桶的路径必须具有以下结构:
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
如需了解导出详情,请参阅导出到预构建容器的特定于框架的要求。