Las ofertas de Google Distributed Cloud (GDC) aisladas de la red incluyen contenedores precompilados para ofrecer predicciones online a partir de modelos entrenados con los siguientes frameworks de aprendizaje automático (AA):
- 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 tanto si los artefactos de modelo se crean en Distributed Cloud como si no.
Antes de empezar
Antes de exportar artefactos de modelo, sigue estos pasos:
- Crea y entrena un modelo de predicción que esté dirigido a uno de los contenedores admitidos.
- Si no tienes un proyecto, configura uno para Vertex AI.
Colabora con tu operador de infraestructura (OI) para crear el clúster de predicción.
El IO crea el clúster, lo asocia a tu proyecto y asigna los grupos de nodos adecuados dentro del clúster, teniendo en cuenta los recursos que necesitas para las predicciones online.
Crea la cuenta de servicio de servicio predeterminado 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 de lector de objetos de bucket de proyecto (
project-bucket-object-viewer) a la cuenta de servicio de servicio predeterminado de Vertex AI (vai-default-serving-sa) para el bucket de almacenamiento que has creado. Para obtener información sobre cómo conceder acceso a un bucket a las cuentas de servicio, consulta el artículo Conceder acceso a un bucket.Para obtener los permisos que necesitas para acceder a la predicción online, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol de usuario de predicción de Vertex AI (
vertex-ai-prediction-user). Para obtener información sobre este rol, consulta el artículo Preparar permisos de gestión de identidades y accesos.Para obtener los permisos que necesitas para desplegar modelos de predicción online, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol de administrador de predicción de Vertex AI (
vertex-ai-prediction-Admin). Para obtener información sobre este rol, consulta el artículo Preparar permisos de gestión de identidades y accesos.
Requisitos específicos del framework para exportar a contenedores precompilados
En función de el framework de AA que vayas a usar para la predicción, debes exportar los artefactos de modelo en diferentes formatos. En las siguientes secciones se describen los formatos de modelo aceptables para cada framework de AA.
TensorFlow
Si usas TensorFlow para entrenar un modelo, exporta el modelo como un directorio de TensorFlow SavedModel.
Hay varias formas de exportar SavedModels desde el código de entrenamiento de TensorFlow. En la siguiente lista se describen algunas formas que funcionan con varias APIs de TensorFlow:
Si usas Keras para el entrenamiento, usa
tf.keras.Model.savepara exportar un SavedModel.Si usas un estimador para el entrenamiento, usa
tf.estimator.Estimator.export_saved_modelpara exportar un SavedModel.De lo contrario, usa
tf.saved_model.saveo usatf.compat.v1.saved_model.SavedModelBuilder.
Si no usas Keras ni un estimador, asegúrate de
usar la etiqueta serve y la firma serving_default al exportar tu SavedModel
para que Vertex AI pueda usar tus artefactos de modelo para ofrecer
predicciones. Keras y el estimador se encargan de esta tarea automáticamente.
Consulta 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 has usado para el entrenamiento.
PyTorch
Si usas PyTorch para entrenar un modelo,
debes empaquetar los artefactos de modelo, incluido un controlador predeterminado o personalizado, creando un archivo con Torch Model Archiver.
Las imágenes precompiladas de PyTorch 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 que se ofrece con TorchServe, consulta la guía de rendimiento de PyTorch.
Subir el modelo
Debes subir el modelo al bucket de almacenamiento que has creado. Para obtener más información sobre cómo subir objetos a buckets de almacenamiento, consulta el artículo Subir y descargar objetos de almacenamiento en proyectos.
La ruta al bucket 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.