Usa Cloud Storage como un sistema de archivos activado

Cloud Storage FUSE te permite cargar datos de entrenamiento en un bucket de Cloud Storage y acceder a ellos desde tu trabajo de entrenamiento personalizado, como un sistema de archivos activado. Usar Cloud Storage FUSE tiene los siguientes beneficios:

  • Los datos de entrenamiento se transmiten a tu trabajo de entrenamiento en lugar de descargarse en las réplicas, lo que puede acelerar las tareas de carga y configuración de datos cuando comienza a ejecutarse el trabajo.
  • Los trabajos de entrenamiento pueden manejar entradas y salidas a gran escala sin realizar llamadas a la API, manejar respuestas ni integrarse en bibliotecas del cliente.
  • Cloud Storage FUSE proporciona alta capacidad de procesamiento para lecturas secuenciales de archivos grandes y en situaciones de entrenamiento distribuido.

Casos de uso

Te recomendamos usar Cloud Storage para almacenar datos de entrenamiento en las siguientes situaciones:

  • Tus datos de entrenamiento son datos no estructurados, como imágenes, texto y video.
  • Tus datos de entrenamiento son datos estructurados en un formato como TFRecord.
  • Tus datos de entrenamiento contienen archivos grandes, como videos sin procesar.
  • Usas el entrenamiento distribuido.

Cómo funciona

Los trabajos de entrenamiento personalizados pueden acceder a los buckets de Cloud Storage como subdirectorios del directorio raíz /gcs. Por ejemplo, si los datos de entrenamiento se encuentran en gs://example-bucket/data.csv, puedes leer y escribir en el bucket desde la aplicación de entrenamiento de Python de la siguiente manera:

Leer en el bucket

with open('/gcs/example-bucket/data.csv', 'r') as f:
  lines = f.readlines()

Escribir en el bucket

with open('/gcs/example-bucket/epoch3.log', 'a') as f:
  f.write('success!\n')

Permisos de acceso a buckets

De forma predeterminada, un trabajo de entrenamiento personalizado puede acceder a cualquier bucket de Cloud Storage dentro del mismo proyecto de Google Cloud con el agente de servicio del código personalizado de Vertex AI. Para controlar el acceso a los buckets, puedes asignar una cuenta de servicio personalizada al trabajo. En este caso, el acceso a un bucket de Cloud Storage se otorga según los permisos asociados con los roles de Cloud Storage de la cuenta de servicio personalizada.

Por ejemplo, si deseas otorgar acceso de lectura y escritura al trabajo de entrenamiento personalizado en Bucket-A, pero solo acceso de lectura a Bucket-B, puedes asignar una cuenta de servicio personalizada que tenga los siguientes roles en el trabajo:

  • roles/storage.objectAdmin para el bucket A
  • roles/storage.objectViewer para el bucket-B

Si el trabajo de entrenamiento intenta escribir en Bucket-B, se muestra un error de “permiso denegado”.

Si deseas obtener más información sobre los roles de Cloud Storage, consulta Funciones de IAM para Cloud Storage.

Prácticas recomendadas

  • Evita cambiar el nombre de los directorios. Una operación de cambio de nombre no es atómica en Cloud Storage FUSE. Si se interrumpe la operación, algunos archivos permanecerán en el directorio anterior.
  • Evita cerrar (close()) o borrar archivos (flush()) de forma innecesaria. Si cierras o borras archivos, se envían a Cloud Storage, lo que genera un costo.

Lineamientos de optimización del rendimiento

Para obtener una capacidad de procesamiento de lectura óptima cuando usas Cloud Storage como un sistema de archivos, recomendamos implementar los siguientes lineamientos:

  • Para reducir la latencia que se ingresa cuando se buscan y abren objetos en un bucket, almacena los datos en menos archivos y en menor cantidad.
  • Usa el entrenamiento distribuido para maximizar el uso del ancho de banda.
  • Almacena en caché los archivos a los que se accede con frecuencia para mejorar el rendimiento de lectura. Para obtener más información, consulta Descripción general del almacenamiento en caché en Cloud Storage FUSE.
  • Usa el almacenamiento local para los puntos de control y los registros en lugar de Cloud Storage.

Limitaciones

Para obtener información sobre las limitaciones de Cloud Storage FUSE, incluidas las diferencias entre los sistemas de archivos de Cloud Storage FUSE y los POSIX, consulta Limitaciones y diferencias con los sistemas de archivos POSIX.

Usa Cloud Storage FUSE

Para usar Cloud Storage FUSE para el entrenamiento personalizado, haz lo siguiente:

  1. Crea buckets de Cloud Storage. Ten en cuenta que los buckets de doble región y multirregión no son compatibles con el entrenamiento personalizado.
  2. Sube tus datos de entrenamiento al bucket. Para obtener más información, consulta Cargas.

    Para obtener información sobre las opciones para transferir datos a Cloud Storage, consulta Opciones de transferencia de datos.

  3. Instala Cloud Storage FUSE.

  4. Activa el bucket en tu aplicación de entrenamiento.

¿Qué sigue?