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

Las configuraciones basadas en perfiles en Cloud Storage FUSE te permiten aplicar un conjunto predefinido y optimizado de funciones para el almacenamiento en caché, los subprocesos y los tamaños de búfer según tu tipo de carga de trabajo de inteligencia artificial o aprendizaje automático (IA/AA). Los perfiles te ayudan a optimizar la configuración de Cloud Storage FUSE y lograr un alto rendimiento con menos esfuerzo.

Para aplicar un perfil, usa el campo profile o la opción --profile con uno de los siguientes valores: aiml-training para las cargas de trabajo de entrenamiento, aiml-checkpointing para las cargas de trabajo de puntos de control o aiml-serving para las cargas de trabajo de entrega.

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 el bucket de Cloud Storage FUSE.

  • Cuando usas parámetros de configuración basados en perfiles, Cloud Storage FUSE establece la capacidad de la caché de metadatos y el tiempo de actividad (TTL) como ilimitados, 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 parámetros de configuración basados 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 en un archivo de configuración de Cloud Storage FUSE.
    2. Valores establecidos por un perfil, en el que el perfil se especifica con la opción --profile en un comando gcsfuse o el campo profile en un archivo de configuración de Cloud Storage FUSE.
    3. Son los 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 campo profile ni la opción --profile.

  • El almacenamiento en caché de archivos no se puede habilitar con parámetros de configuración basados en perfiles, ya que 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 en las cargas de trabajo de entrega, entrenamiento o puntos de control, debes configurar las opciones o los campos de almacenamiento en caché de archivos de forma explícita.

Aplica parámetros de configuración basados en perfiles para las cargas de trabajo de entrenamiento

El perfil específico de entrenamiento optimiza el rendimiento para las lecturas de alta capacidad de procesamiento de conjuntos de datos grandes y evita que el hardware de las GPU de Cloud y 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 los siguientes parámetros de configuración:

   # 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 parámetros de configuración basados en perfiles para las cargas de trabajo de creación de puntos de control

El perfil específico de puntos de control optimiza el rendimiento de las operaciones de escritura de alta capacidad de procesamiento para archivos grandes, ya que reduce drásticamente el tiempo que se tarda en guardar puntos de control de varios gigabytes, lo que minimiza las pausas en el entrenamiento.

Para aplicar el perfil específico de los puntos 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 los siguientes parámetros de configuración:

  # 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 parámetros de configuración basados en perfiles para entregar cargas de trabajo

La entrega optimiza el rendimiento de las cargas de trabajo de entrega mejorando los mecanismos de acceso a los datos y almacenamiento en caché.

Para aplicar el perfil específico de 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 los siguientes parámetros de configuración:

  # 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?