Google Distributed Cloud (GDC) con air gap ofrece contenedores precompilados para ofrecer predicciones online a partir de modelos entrenados con los siguientes frameworks de aprendizaje automático:
- TensorFlow
- PyTorch
Para usar uno de estos contenedores precompilados, debes guardar tu modelo como uno o varios artefactos de modelo que cumplan los requisitos del contenedor precompilado. Estos requisitos se aplican independientemente de si los artefactos de tu modelo se crean en Distributed Cloud.
Antes de empezar
Antes de exportar los artefactos del modelo, sigue estos pasos:
- Crea y entrena un modelo de predicción orientado a uno de los contenedores admitidos.
- Si no tienes ningún proyecto, configura uno para Vertex AI.
Colabora con tu operador de infraestructura para crear el clúster de predicción.
La IO crea el clúster, lo asocia a tu proyecto y asigna los grupos de nodos adecuados en el clúster, teniendo en cuenta los recursos que necesitas para las predicciones online.
Crea la cuenta de servicio predeterminada de Vertex AI (
vai-default-serving-sa
) en tu proyecto. Para obtener información sobre las cuentas de servicio, consulta el artículo Configurar cuentas de servicio.Asigna el rol Lector de objetos del segmento de proyecto (
project-bucket-object-viewer
) a la cuenta de servicio predeterminada de Vertex AI Serving (vai-default-serving-sa
) del segmento de almacenamiento que has creado. Para obtener información sobre cómo conceder acceso a un contenedor a cuentas de servicio, consulta Conceder acceso a un contenedor.Para obtener los permisos que necesitas para acceder a Predicción online, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol Usuario de predicción de Vertex AI (
vertex-ai-prediction-user
). Para obtener información sobre este rol, consulta Preparar permisos de gestión de identidades y accesos.
Requisitos específicos del framework para exportar a contenedores prediseñados
En función del framework de aprendizaje automático que quieras usar para la predicción, debes exportar los artefactos del modelo en diferentes formatos. En las siguientes secciones se describen los formatos de modelo aceptables para cada framework de aprendizaje automático.
TensorFlow
Si usas TensorFlow para entrenar un modelo, exporta el modelo como un directorio SavedModel de TensorFlow.
Hay varias formas de exportar SavedModels
desde el código de entrenamiento de TensorFlow. En la siguiente lista se describen algunas formas de trabajar con varias APIs de TensorFlow:
Si usas Keras para el entrenamiento, usa
tf.keras.Model.save
para exportar un SavedModel.Si usas un Estimator para el entrenamiento, usa
tf.estimator.Estimator.export_saved_model
para exportar un SavedModel.De lo contrario, usa
tf.saved_model.save
o usatf.compat.v1.saved_model.SavedModelBuilder
.
Si no usas Keras ni Estimator, asegúrate de usar la etiqueta serve
y la firma serving_default
al exportar tu SavedModel para que Vertex AI pueda usar los artefactos de tu modelo y ofrecer predicciones. Keras y Estimator se encargan de esta tarea automáticamente.
Más información sobre cómo especificar firmas durante la exportación
Para ofrecer predicciones con estos artefactos, crea un Model
con el contenedor precompilado para la predicción que coincida con la versión de TensorFlow que hayas usado para el entrenamiento.
PyTorch
Si usas PyTorch para entrenar un modelo,
debes empaquetar los artefactos del modelo, incluido un controlador
predeterminado o
personalizado,
creando un archivo con
Torch model archiver.
Las imágenes de PyTorch prediseñadas esperan que el archivo se llame model.mar
, así que asegúrate de que el nombre del modelo sea model.
Para obtener información sobre cómo optimizar el uso de memoria, la latencia o el rendimiento de un modelo de PyTorch servido con TorchServe, consulta la guía de rendimiento de PyTorch.
Subir un modelo
Debes subir el modelo al segmento de almacenamiento que has creado. Para obtener más información sobre cómo subir objetos a segmentos de almacenamiento, consulta Subir y descargar objetos de almacenamiento en proyectos.
La ruta al segmento de almacenamiento de tu modelo debe tener la siguiente estructura:
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
Para obtener información detallada sobre la exportación, consulta los requisitos específicos del framework para exportar a contenedores precompilados.