Google Distributed Cloud (GDC) air-gapped 提供 预构建容器 ,以便使用以下 机器学习 (ML) 框架训练的模型提供在线预测:
- TensorFlow
- PyTorch
如需使用这些预构建容器之一,您必须将模型保存为符合预构建容器要求的一个或多个 模型工件。无论您的模型工件是否是在 Distributed Cloud 上创建的,这些要求都适用。
准备工作
在导出模型工件之前,请执行以下步骤:
- 创建和训练以其中一个 受支持的容器为目标的预测模型。
- 如果您没有项目, 请为 Vertex AI 设置项目。
与您的基础架构运维人员 (IO) 合作 创建预测集群。
IO 会为您创建集群,将其与您的项目相关联,并根据您在线预测所需的资源在集群中分配相应的节点池。
在您的项目中创建 Vertex AI 默认服务 (
vai-default-serving-sa) 服务帐号。如需了解服务账号,请参阅 设置服务账号。向您创建的存储桶的 Vertex AI 默认服务 (
vai-default-serving-sa) 服务帐号授予 Project Bucket Object Viewer (project-bucket-object-viewer) 角色。如需了解如何向服务账号授予存储桶访问权限,请参阅 授予存储桶访问权限。如需获得访问在线预测所需的权限,请让您的项目 IAM 管理员为您授予 Vertex AI Prediction User (
vertex-ai-prediction-user) 角色。如需了解 此角色,请参阅准备 IAM 权限。如需获得部署在线预测模型所需的权限,请让您的项目 IAM 管理员为您授予 Vertex AI Prediction Admin (
vertex-ai-prediction-Admin) 角色。如需了解 此角色,请参阅准备 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
如需了解导出详情,请参阅 导出到预构建容器的框架专属要求。