Usa Cloud Storage como un sistema de archivos activado

Con Cloud Storage FUSE, puedes 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 como un sistema de archivos tiene los siguientes beneficios:

  • Los datos de entrenamiento se transmiten a tu trabajo de entrenamiento en lugar de descargarse en réplicas, lo que puede hacer que las cargas de datos y las tareas de configuración sean más rápidas cuando el trabajo comience a ejecutarse.
  • 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

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

  • Tus datos de entrenamiento son datos no estructurados, como imagen, 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 tus buckets de Cloud Storage como subdirectorios del directorio /gcs raíz. Por ejemplo, si tus datos de entrenamiento se encuentran en gs://example-bucket/data.csv, puedes leer y escribir en el bucket desde tu 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 mediante el agente de servicio de 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 el 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 vaciar los archivos (flush()) innecesariamente. Cerrar o limpiar los archivos envía el archivo 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 ingresada cuando se buscan y abren objetos en un bucket, almacena datos en archivos más grandes y menos.
  • Usa el entrenamiento paralelo 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.

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 Diferencias con otros sistemas de archivos.

Carga datos en Cloud Storage

Para obtener más información sobre las opciones de transferencia de datos a Cloud Storage, consulta Opciones de transferencia de datos.

¿Qué sigue?