Ce document explique comment utiliser des configurations basées sur des profils pour simplifier l'adoption et améliorer les performances de Cloud Storage FUSE pour vos charges de travail d'intelligence artificielle ou de machine learning (IA/ML).
Pour vous aider à simplifier la configuration de Cloud Storage FUSE pour vos charges de travail de diffusion, de création de points de contrôle ou d'entraînement, vous pouvez appliquer des profils préconfigurés en fonction de votre type de charge de travail à l'aide du champ profile
ou de l'option --profile
. À l'aide du champ ou de l'option, vous pouvez spécifier un ensemble prédéfini et optimisé de fonctionnalités Cloud Storage FUSE pour la mise en cache, le multithreading et les tailles de mémoire tampon. Vous garantissez ainsi des performances élevées avec un minimum d'efforts pour les charges de travail d'entraînement, de création de points de contrôle et de diffusion, avec les valeurs de profil aiml-training
, aiml-checkpointing
et aiml-serving
, respectivement.
Remarques
Vous ne pouvez définir l'option
--profile
ou le champprofile
que lors d'une opération de montage. Si vous devez mettre à jour l'option--profile
ou le champprofile
, vous devez remonter votre bucket Cloud Storage FUSE.Lorsque vous utilisez des configurations basées sur des profils, Cloud Storage FUSE définit la capacité et la valeur TTL (Time To Live) du cache de métadonnées sur "illimité", ce qui signifie que les entrées ne sont jamais supprimées du cache de métadonnées. Si votre machine virtuelle ne dispose pas de suffisamment de mémoire, vous pouvez rencontrer des erreurs de mémoire insuffisante (OOM). Par conséquent, nous vous recommandons de vérifier votre capacité de mémoire avant d'appliquer des configurations basées sur des profils. Les erreurs de mémoire insuffisante sont plus susceptibles de se produire sur les machines disposant de moins d'un tébioctet de mémoire.
Lorsque vous spécifiez des valeurs de configuration à l'aide de profils, de types de machines hautes performances détectés, d'une commande
gcsfuse
ou d'un fichier de configuration Cloud Storage FUSE, les méthodes sont prioritaires dans l'ordre suivant (où les méthodes en haut de la liste remplacent celles en dessous) :Valeurs définies dans une commande
gcsfuse
ou dans un fichier de configuration Cloud Storage FUSE.Valeurs définies comme argument de l'option
--profiles
dans une commandegcsfuse
ou du champprofile
dans un fichier de configuration Cloud Storage FUSE.Valeurs de configuration automatisées définies lorsque Cloud Storage FUSE détecte qu'un type de machine à hautes performances est utilisé. Pour en savoir plus, consultez Valeurs de configuration automatisées.
Les volumes CSI FUSE Cloud Storage dans les pods Google Kubernetes Engine ne sont pas compatibles avec le champ
profile
ni l'option--profile
.La mise en cache de fichiers ne peut pas être activée à l'aide de configurations basées sur des profils, car elle nécessite l'utilisation de champs de configuration Cloud Storage FUSE et d'options de l'interface de ligne de commande Cloud Storage FUSE qui ne peuvent pas être généralisés. Pour activer la mise en cache des fichiers pour les charges de travail de diffusion, d'entraînement ou de checkpointing, vous devez configurer explicitement les options ou les champs de mise en cache des fichiers.
Appliquer des configurations basées sur des profils pour les charges de travail d'entraînement
Le profil spécifique à l'entraînement optimise les performances pour les lectures à haut débit de grands ensembles de données et empêche le matériel Cloud GPU et Cloud TPU d'attendre les données.
Pour appliquer le profil spécifique à l'entraînement, spécifiez profile=aiml-training
à l'aide d'un fichier de configuration Cloud Storage FUSE ou --profile=aiml-training
à l'aide de la CLI Cloud Storage FUSE. Les configurations suivantes sont ensuite appliquées :
# 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
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
Appliquer des configurations basées sur des profils pour les charges de travail de point de contrôle
Le profil spécifique à la gestion des points de contrôle optimise les performances pour les écritures à haut débit pour les fichiers volumineux en réduisant considérablement le temps nécessaire pour enregistrer les points de contrôle de plusieurs gigaoctets, ce qui minimise les pauses d'entraînement.
Pour appliquer le profil spécifique à l'entraînement, spécifiez profile=aiml-checkpointing
à l'aide d'un fichier de configuration Cloud Storage FUSE ou --profile=aiml-checkpointing
à l'aide de la CLI Cloud Storage FUSE. Les configurations suivantes sont ensuite appliquées :
# 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
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-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
Appliquer des configurations basées sur des profils pour diffuser des charges de travail
La diffusion optimise les performances des charges de travail de diffusion en améliorant l'accès aux données et les mécanismes de mise en cache.
Pour appliquer le profil spécifique à l'entraînement, spécifiez profile=aiml-serving
à l'aide d'un fichier de configuration Cloud Storage FUSE ou --profile=aiml-serving
à l'aide de la CLI Cloud Storage FUSE. Les configurations suivantes sont ensuite appliquées :
# 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
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-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
Étapes suivantes
En savoir plus sur les valeurs de configuration automatiques pour les types de machines hautes performances
Découvrez comment optimiser les performances avec les fichiers YAML GKE préconfigurés.