Trabaja con Cloud Storage

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

Predicción por lotes

  • Almacenar tus archivos de entrada de predicción por lotes
  • Almacenar tus resultados de predicción por lotes
  • Almacenar el 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.

  1. 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
  2. Comprueba el nombre del bucket que creaste.

    echo $BUCKET_NAME
  3. Selecciona una región para tu bucket 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 establece en us-central1:

    REGION=us-central1
  4. Crea el bucket nuevo:

    gsutil mb -l $REGION gs://$BUCKET_NAME

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 predeterminado, como el Cliente de Python para Google Cloud Storage, el módulo tf.io.gfile.GFile de TensorFlow o Pandas 0.24.0 o posterior. 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 bucket 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 bucket 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

Consola

  1. Abre la página de IAM en la consola de Google Cloud.

    Abrir la página de IAM

  2. 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.

  1. 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)")
    
  2. Obtén el token de acceso para tu proyecto con gcloud:

    AUTH_TOKEN=$(gcloud auth print-access-token)
    
  3. 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

Consola

  1. Abre la página Almacenamiento en la consola de Google Cloud.

    Abrir la página de Storage

  2. 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.

  3. Haz clic en el botón Mostrar el panel de información en la esquina superior derecha para mostrar la pestaña Permisos.

  4. 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.

  5. 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.

  1. Establece el nombre de tu bucket en una variable de entorno llamada BUCKET_NAME:

    BUCKET_NAME="your_bucket_name"
    
  2. Otorga acceso de lectura a la cuenta de servicio de tu bucket de Cloud Storage:

    gsutil -m defacl ch -u $SVC_ACCOUNT:R gs://$BUCKET_NAME
    
  3. Si tu bucket contiene objetos a los que necesitas acceder, debes otorgarles acceso de lectura de manera explícita:

    gsutil -m acl ch -u $SVC_ACCOUNT:R -r gs://$BUCKET_NAME
    
  4. Otorga acceso de escritura:

    gsutil -m acl ch -u $SVC_ACCOUNT:W gs://$BUCKET_NAME
    

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?