Configuraciones basadas en perfiles para cargas de trabajo de IA/AA

En este documento, se describe cómo puedes usar las configuraciones basadas en perfiles para optimizar la adopción y mejorar el rendimiento de Cloud Storage FUSE para tus cargas de trabajo de inteligencia artificial o aprendizaje automático (IA/AA).

Para ayudarte a optimizar la configuración de Cloud Storage FUSE para tus cargas de trabajo de entrega, punto de control o entrenamiento, puedes aplicar perfiles preconfigurados según el tipo de carga de trabajo con el campo profile o la opción --profile. Con el campo o la opción, puedes especificar un conjunto predefinido y optimizado de funciones de Cloud Storage FUSE para el almacenamiento en caché, el subprocesamiento y los tamaños de búfer, lo que garantiza un alto rendimiento con un esfuerzo mínimo para las cargas de trabajo de entrenamiento, punto de control y entrega, con los valores de perfil aiml-training, aiml-checkpointing y aiml-serving, respectivamente.

Consideraciones

  • Solo puedes configurar la opción --profile o el campo profile durante una operación de activación. Si necesitas actualizar la opción --profile o el campo profile, debes volver a activar tu bucket de Cloud Storage FUSE.

  • Cuando usas configuraciones basadas en perfiles, Cloud Storage FUSE establece la capacidad de la caché de metadatos y el tiempo de actividad (TTL) en ilimitado, lo que significa que las entradas nunca se expulsan de la caché de metadatos. Si tu máquina virtual no tiene suficiente memoria, es posible que experimentes errores de memoria insuficiente (OOM). Por lo tanto, te recomendamos que revises tu capacidad de memoria antes de aplicar configuraciones basadas en perfiles. Es más probable que se produzcan errores de OOM en máquinas con menos de un TiB de memoria.

  • Cuando un parámetro de Cloud Storage FUSE se configura de varias maneras, se aplica el siguiente orden de prioridad (de mayor a menor):

    1. Valores establecidos directamente en un comando gcsfuse o un archivo de configuración de Cloud Storage FUSE.
    2. Valores establecidos por un perfil, en el que el perfil se especifica con la --profile opción en un gcsfuse comando o el profile campo en un archivo de configuración de Cloud Storage FUSE.
    3. Valores predeterminados que se aplican automáticamente cuando Cloud Storage FUSE detecta un tipo de máquina de alto rendimiento. Para obtener más información, consulta Valores de configuración automatizados para tipos de máquinas de alto rendimiento.
  • Los volúmenes de CSI de Cloud Storage FUSE en los pods de Google Kubernetes Engine no admiten el profile campo ni la --profile opción.

  • El almacenamiento en caché de archivos no se puede habilitar con configuraciones basadas en perfiles porque requiere el uso de campos de configuración de Cloud Storage FUSE y opciones de la CLI de Cloud Storage FUSE que no se pueden generalizar. Para habilitar el almacenamiento en caché de archivos para cargas de trabajo de entrega, entrenamiento o punto de control, debes configurar los campos o las opciones de almacenamiento en caché de archivos de forma explícita.

Aplica configuraciones basadas en perfiles para cargas de trabajo de entrenamiento

El perfil específico del entrenamiento optimiza el rendimiento para lecturas de alta capacidad de procesamiento de conjuntos de datos grandes y evita que las GPU de Cloud y el hardware de Cloud TPU esperen datos.

Para aplicar el perfil específico del entrenamiento, especifica profile: aiml-training con un archivo de configuración de Cloud Storage FUSE o --profile=aiml-training con la CLI de Cloud Storage FUSE. Luego, se aplican las siguientes configuraciones:

   # Create implicit directories locally when accessed:
   - implicit-dirs
   # Disable caching for lookups of files or directories that don't exist:
   - metadata-cache:negative-ttl-secs:0
   # Keep cached metadata (file attributes, types) indefinitely time-wise:
   - metadata-cache:ttl-secs:-1
   # Allow unlimited size for the file attribute (stat) cache:
   - metadata-cache:stat-cache-max-size-mb:-1

Aplica configuraciones basadas en perfiles para cargas de trabajo de punto de control

El perfil específico del punto de control optimiza el rendimiento para escrituras de alta capacidad de procesamiento para archivos grandes, ya que reduce drásticamente el tiempo que lleva guardar puntos de control de varios gigabytes, lo que minimiza las pausas de entrenamiento.

Para aplicar el perfil específico del punto de control, especifica profile: aiml-checkpointing con un archivo de configuración de Cloud Storage FUSE o --profile=aiml-checkpointing con la CLI de Cloud Storage FUSE. Luego, se aplican las siguientes configuraciones:

  # Create implicit directories locally when accessed:
  - implicit-dirs
  # Disable caching for lookups of files/dirs that don't exist:
  - metadata-cache:negative-ttl-secs:0
  # Keep cached metadata (file attributes, types) indefinitely time-wise:
  - metadata-cache:ttl-secs:-1
  # Allow unlimited size for the file attribute (stat) cache:
  - metadata-cache:stat-cache-max-size-mb:-1
  # Cache the entire file when any part is read sequentially:
  - file-cache:cache-file-for-range-read:true
  # Allow renaming directories with a lot of files in non-HNS buckets.
  - file-system:rename-dir-limit:200000

Aplica configuraciones basadas en perfiles para cargas de trabajo de entrega

La entrega optimiza el rendimiento para las cargas de trabajo de entrega, ya que mejora el acceso a los datos y los mecanismos de almacenamiento en caché.

Para aplicar el perfil específico de la entrega, especifica profile: aiml-serving con un archivo de configuración de Cloud Storage FUSE o --profile=aiml-serving con la CLI de Cloud Storage FUSE. Luego, se aplican las siguientes configuraciones:

  # Create implicit directories locally when accessed:
  - implicit-dirs
  # Disable caching for lookups of files/dirs that don't exist:
  - metadata-cache:negative-ttl-secs:0
  # Keep cached metadata (file attributes, types) indefinitely time-wise:
  - metadata-cache:ttl-secs:-1
  # Allow unlimited size for the file attribute (stat) cache:
  - metadata-cache:stat-cache-max-size-mb:-1
  # Cache the entire file when any part is read sequentially:
  - file-cache:cache-file-for-range-read:true
  # Enable kernel-list-cache to make listing faster as this is a readonly file system hierarchy.
  - file-system:kernel-list-cache-ttl-secs:-1

¿Qué sigue?