Exportar artefactos de modelo para realizar predicciones

Google Distributed Cloud (GDC) air-gapped ofrece contenedores precompilados para entregar predicciones en línea de modelos entrenados con los siguientes frameworks de aprendizaje automático (AA):

  • TensorFlow
  • PyTorch

Para usar uno de estos contenedores precompilados, debes guardar el modelo como uno o más artefactos del modelo que cumplan con los requisitos del contenedor precompilado. Estos requisitos se aplican sin importar si los artefactos del modelo se crean en Distributed Cloud o no.

Antes de comenzar

Antes de exportar artefactos del modelo, sigue estos pasos:

  1. Crea y entrena un modelo de predicción destinado a uno de los contenedores compatibles.
  2. Si no tienes un proyecto, configura uno para Vertex AI.
  3. Trabaja con tu operador de infraestructura (IO) para crear el clúster de predicción.

    El IO crea el clúster por ti, lo asocia con tu proyecto y asigna los grupos de nodos adecuados dentro del clúster, teniendo en cuenta los recursos que necesitas para las predicciones en línea.

  4. Crea un bucket de almacenamiento para tu proyecto.

  5. Crea la cuenta de servicio predeterminada de Vertex AI (vai-default-serving-sa) dentro de tu proyecto. Para obtener información sobre las cuentas de servicio, consulta Configura cuentas de servicio.

  6. Otorga el rol de visualizador de objetos del bucket del proyecto (project-bucket-object-viewer) a la cuenta de servicio predeterminada de Vertex AI (vai-default-serving-sa) para el bucket de almacenamiento que creaste. Para obtener información sobre cómo otorgar acceso al bucket a las cuentas de servicio, consulta Otorga acceso al bucket.

  7. Para obtener los permisos que necesitas para acceder a la predicción en línea, pídele a tu administrador de IAM del proyecto que te otorgue el rol de usuario de predicción de Vertex AI (vertex-ai-prediction-user). Para obtener información sobre este rol, consulta Prepara permisos de IAM.

  8. Para obtener los permisos que necesitas para implementar modelos de predicción en línea, pídele a tu administrador de IAM del proyecto que te otorgue el rol de administrador de predicción de Vertex AI (vertex-ai-prediction-Admin). Para obtener información sobre este rol, consulta Prepara permisos de IAM.

Requisitos específicos del framework para exportar a contenedores compilados previamente

Según el framework de AA que desees usar para la predicción, debes exportar 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 tu modelo como un directorio de modelos guardados de TensorFlow.

Hay varias maneras de exportar SavedModels desde el código de entrenamiento de TensorFlow. En la siguiente lista, se describen algunas opciones que funcionan para varias API de TensorFlow:

Si no usas Keras ni un Estimador, asegúrate de usar la etiqueta serve y la firma serving_default cuando exportes tu modelo guardado para asegurarte de que Vertex AI puede usar tus artefactos de modelo para entregar predicciones. Keras y Estimador controlan esta tarea automáticamente. Obtén más información sobre la especificación de firmas durante la exportación.

A fin de entregar predicciones con estos artefactos, crea un Model con el contenedor compilado previamente para la predicción que coincida con la versión de TensorFlow que usaste en el entrenamiento.

PyTorch

Si usas PyTorch para entrenar un modelo, debes empaquetar los artefactos del modelo, incluido un controlador predeterminado o personalizado, mediante la creación de un archivo de almacenamiento con el archivador de modelos de PyTorch. Las imágenes de PyTorch compiladas con anterioridad esperan que el archivo se llame model.mar, así que asegúrate de establecer el nombre del modelo como model.

Para obtener información sobre cómo optimizar el uso de memoria, la latencia o la capacidad de procesamiento de un modelo de PyTorch entregado con TorchServe, consulta la Guía de rendimiento de PyTorch.

Sube tu modelo

Debes subir tu modelo al bucket de almacenamiento que creaste. Para obtener más información sobre cómo subir objetos a buckets de almacenamiento, consulta Sube y descarga objetos de almacenamiento en proyectos.

La ruta de acceso al bucket de almacenamiento de tu modelo debe tener la siguiente estructura:

s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID

Para obtener detalles de la exportación, consulta los requisitos específicos del framework para exportar a contenedores compilados previamente.