AI Platform Prediction lee datos de ubicaciones de Cloud Storage en las que tienes acceso al proyecto de AI Platform Prediction. En esta página, se ofrece una guía rápida para usar Cloud Storage con AI Platform Prediction.
Descripción general
El uso de Cloud Storage es obligatorio o recomendado para los siguientes aspectos de los servicios de AI Platform Prediction:
Predicción en línea
- Almacenar tu modelo guardado para convertirlo en una versión modelo.
- Almacenar códigos personalizados para manejar solicitudes de predicción, si usas una rutina de predicción personalizada (versión Beta) o una canalización de scikit-learn con código personalizado (versión Beta)
- Almacenar datos adicionales para que tu código personalizado pueda acceder cuando se manejen las predicciones.
Predicción por lotes
- Almacenar tus archivos de entrada de predicción por lotes
- Almacenar tus resultados de predicción por lotes
- Almacenar tu modelo si usas la predicción por lotes sin implementar primero el modelo en AI Platform Prediction
Consideraciones sobre la región
Cuando creas un bucket de Cloud Storage para usarlo con AI Platform Prediction, debes hacer lo siguiente:
- Asignarlo a una región de procesamiento específica, no a un valor multirregión
- Usar la misma región en la que ejecutas tus trabajos de entrenamiento
Obtén más información sobre las regiones de AI Platform Prediction disponibles.
Cómo configurar tus depósitos de Cloud Storage
En esta sección se muestra cómo crear un bucket nuevo. Puedes usar un bucket existente, pero debe estar en la misma región en la que planeas ejecutar los trabajos de AI Platform. Además, si no forma parte del proyecto que usas para ejecutar AI Platform Prediction, debes otorgar acceso a las cuentas de servicio de AI Platform Prediction de forma explícita.
-
Especifica un nombre para el bucket nuevo. El nombre debe ser único en todos los depósitos en Cloud Storage.
BUCKET_NAME="YOUR_BUCKET_NAME"
Por ejemplo, usa el nombre de tu proyecto con
-aiplatform
agregado:PROJECT_ID=$(gcloud config list project --format "value(core.project)") BUCKET_NAME=${PROJECT_ID}-aiplatform
-
Comprueba el nombre del bucket que creaste.
echo $BUCKET_NAME
-
Selecciona una región para tu depósito y establece una variable de entorno
REGION
.Usa la misma región en la que planeas ejecutar trabajos de AI Platform Prediction. Consulta las regiones disponibles para los servicios de AI Platform Prediction.
Por ejemplo, con el siguiente código, se crea una
REGION
y se la configura comous-central1
:REGION=us-central1
-
Crea el bucket nuevo:
gcloud storage buckets create gs://$BUCKET_NAME --location=$REGION
Organización de modelos en depósitos
Organiza la estructura de carpetas en tu bucket para alojar muchas iteraciones de tu modelo.
- Coloca cada modelo guardado en su propio directorio separado dentro de tu bucket.
- Considera usar marcas de tiempo para nombrar los directorios de tu bucket.
Por ejemplo, puedes colocar tu primer modelo en una estructura similar a gs://your-bucket/your-model-DATE1/your-saved-model-file
. Si deseas nombrar los directorios para cada iteración subsecuente de tu modelo, usa una marca de tiempo actualizada (gs://your-bucket/your-model-DATE2/your-saved-model-file
y así sucesivamente).
Cómo acceder a Cloud Storage durante la predicción
Si implementas una rutina de predicción personalizada (versión Beta) o una canalización de scikit-learn con código personalizado (versión Beta), la versión del modelo podrá leer desde cualquier depósito de Cloud Storage en el mismo proyecto durante el control de predicciones.
Usa un módulo de Python que pueda leer desde Cloud Storage en tu código de predicción personalizado, como el Cliente de Python para Google Cloud Storage, el módulo tf.io.gfile.GFile
de TensorFlow o Pandas 0.24.0 o versiones posteriores. AI Platform Prediction se encarga de la autenticación.
También puedes especificar una cuenta de servicio cuando implementas tu rutina de predicción personalizada para determinar a qué recursos de Cloud Storage tiene acceso tu implementación.
Usa un bucket de Cloud Storage de un proyecto diferente
En esta sección, se describe cómo configurar los depósitos de Cloud Storage desde fuera del proyecto para que AI Platform Prediction pueda acceder a ellos.
Si configuras el depósito de Cloud Storage en el mismo proyecto en el que usas AI Platform Prediction, las cuentas de servicio de AI Platform Prediction ya tendrán los permisos necesarios para acceder al depósito de Cloud Storage.
Estas instrucciones se proporcionan para los siguientes casos:
- No puedes usar un bucket de tu proyecto, como cuando se comparte un gran conjunto de datos en varios proyectos.
- Si usas varios depósitos con AI Platform Prediction, debes otorgar acceso a las cuentas de servicio de AI Platform Prediction por separado para cada uno.
Paso 1: Obtén la información necesaria de tu proyecto de la nube
Console
Abre la página de IAM en la consola de Google Cloud.
La página IAM muestra una lista de todos los principales que tienen acceso al proyecto, junto con sus funciones asociadas. El proyecto de AI Platform Prediction tiene varias cuentas de servicio. Localiza la cuenta de servicio en la lista que tiene el rol Agente de servicio de Cloud ML y copia el ID de la cuenta de servicio, que es similar a lo siguiente:
“service-111111111111@cloud-ml.google.com.iam.gserviceaccount.com”.
Debes pegar este ID de cuenta de servicio en una página diferente en la consola de Google Cloud durante los próximos pasos.
Línea de comandos
En los pasos de esta sección, se obtiene información sobre el proyecto de Google Cloud a fin de cambiar el control de acceso de la cuenta de servicio del proyecto de AI Platform Prediction. Es necesario que almacenes los valores para su uso posterior en las variables de entorno.
Obtén el identificador de tu proyecto mediante Google Cloud CLI con tu proyecto seleccionado:
PROJECT_ID=$(gcloud config list project --format "value(core.project)")
Obtén el token de acceso para tu proyecto con
gcloud
:AUTH_TOKEN=$(gcloud auth print-access-token)
Obtén la información de la cuenta de servicio mediante la solicitud de la configuración del proyecto del servicio de REST:
SVC_ACCOUNT=$(curl -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $AUTH_TOKEN" \ https://ml.googleapis.com/v1/projects/${PROJECT_ID}:getConfig \ | python3 -c "import json; import sys; response = json.load(sys.stdin); \ print(response['serviceAccount'])")
Paso 2: Configura el acceso a tu bucket de Cloud Storage
Console
Abre la página Almacenamiento en la consola de Google Cloud.
Selecciona el bucket de Cloud Storage que usas a fin de implementar los modelos. Para ello, marca la casilla a la izquierda del nombre del bucket.
Haz clic en el botón Mostrar el panel de información en la esquina superior derecha para mostrar la pestaña Permisos.
Pega el ID de la cuenta de servicio en el campo Agregar miembros. A la derecha de ese campo, selecciona tus funciones deseadas, como lector de depósitos heredados de Storage.
Si no estás seguro de qué función seleccionar, puedes elegir varias para mostrarlas debajo del campo Agregar principales, cada una con una breve descripción de sus permisos.
Para asignar tus funciones a la cuenta de servicio, haz clic en el botón Agregar a la derecha del campo Agregar principales.
Línea de comandos
Ahora que tienes la información de tu cuenta de servicio y proyecto, debes actualizar los permisos de acceso para tu bucket de Cloud Storage. En estos pasos, se usan los mismos nombres de variables que en la sección anterior.
Establece el nombre de tu depósito en una variable de entorno llamada
BUCKET_NAME
:BUCKET_NAME="your_bucket_name"
Otorga acceso de lectura a la cuenta de servicio a los objetos de tu bucket de Cloud Storage:
gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectReader
Otorga acceso de escritura:
gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectWriter
Para elegir qué función deseas otorgar a la cuenta de servicio de AI Platform Prediction, consulta las funciones de IAM de Cloud Storage. Para obtener información general acerca de la actualización de las funciones de IAM en Cloud Storage, consulta cómo otorgar acceso a una cuenta de servicio para un recurso.
¿Qué sigue?
- Pon en práctica AI Platform Prediction con la guía de introducción.
- Descubre cómo funciona AI Platform.
- Obtén más información sobre cómo funciona AI Platform Prediction.