À propos des services de stockage pour les charges de travail d'IA et de ML

Les services de stockage fournissent l'architecture de données essentielle qui permet l'entraînement, l'inférence et l'ajustement précis de modèles hautes performances dans AI Hypercomputer.

Ces recommandations concernent spécifiquement les GPU en cluster.

Ce document est destiné à aider les architectes, les ingénieurs de stockage et les développeurs à évaluer et à sélectionner le service de stockage adapté à leurs charges de travail sur AI Hypercomputer.

Présentation des services de stockage

Google Cloud propose plusieurs solutions de stockage optimisées pour les cas d'utilisation de l'IA et du ML :

  • Cloud Storage est un système de stockage d'objets conçu pour traiter et stocker des ensembles de données volumineux, comme ceux requis pour l'entraînement ou l'inférence par lot. Cloud Storage propose plusieurs fonctionnalités pour vous aider à optimiser le stockage de vos données pour les tâches d'IA et de ML.

  • Google Cloud Managed Lustre est un système de fichiers parallèle entièrement géré et conforme à POSIX. Il est conçu pour les performances de métadonnées spécialisées, à faible latence et à forte concurrence requises pour les charges de travail d'entraînement et d'inférence.

  • Les pools Hyperdisk et les exapools Hyperdisk fournissent un bloc agrégé de capacité de stockage, de débit et d'opérations d'entrée/sortie par seconde (IOPS) que vous pouvez partager entre les instances de calcul. Vous pouvez demander des volumes Hyperdisk Balanced ou Hyperdisk Throughput dans une réservation.

Les sections suivantes fournissent plus d'informations sur chaque service de stockage.

Cloud Storage

Cloud Storage est un store d'objets fondamental conçu pour offrir une évolutivité, une durabilité et une rentabilité à l'échelle mondiale. Lorsque vous utilisez Cloud Storage, vous stockez les données en tant qu'objets dans des conteneurs appelés buckets. Cloud Storage propose plusieurs fonctionnalités pour vos buckets qui vous aident à optimiser les performances des charges de travail d'IA et de ML :

  • Les produits de la famille Cloud Storage Rapid sont conçus pour éliminer les goulots d'étranglement des données pour vos charges de travail d'IA et de ML en rapprochant vos données de vos ressources de calcul. Ces produits vous permettent de colocaliser vos données dans les mêmes zones que vos charges de travail de calcul, et de mettre à l'échelle le stockage de données de manière performante et économique pour vos clusters GPU ou TPU. Les produits Cloud Storage Rapid incluent les éléments suivants :

    • Rapid Bucket offre les performances de lecture et d'écriture les plus rapides dans Cloud Storage pour les buckets zonaux. Les objets des buckets zonaux sont stockés dans la classe de stockage Rapid, une classe de stockage hautes performances optimisée pour les charges de travail nécessitant beaucoup d'E/S. En plus d'une latence plus faible, Rapid Bucket offre un débit nettement plus élevé (jusqu'à 15 To/s) que les autres produits et emplacements de buckets dans Cloud Storage.

    • Rapid Cache accélère la lecture des données dans les buckets existants sans nécessiter de modifier le code. Le cache Rapid est un cache de lecture zonal basé sur SSD pour les buckets Cloud Storage. Il est utilisé pour diffuser des données pour les demandes de lecture de données. Ce produit offre un débit plus élevé (jusqu'à 2,5 To/s) et une latence plus faible que les buckets sans cache.

      Rapid Cache est souvent configuré pour les buckets multirégionaux, où la capacité de l'accélérateur est fragmentée dans Google Cloud régions. Les données lues à partir du cache sont facturées avec des frais de transfert de données réduits par rapport aux données lues directement depuis un bucket multirégional.

  • Cloud Storage FUSE est un adaptateur FUSE Open Source qui vous permet d'installer des buckets en tant que systèmes de fichiers locaux. Les applications peuvent ainsi interagir avec le stockage d'objets à l'aide d'une sémantique standard de système de fichiers. Cette fonctionnalité vous permet de profiter de l'évolutivité, de la durabilité et de la rentabilité de Cloud Storage à l'échelle mondiale, tout en accédant aux fichiers locaux. Cloud Storage FUSE est activement géré et compatible avec Google.

    Cloud Storage FUSE propose plusieurs paramètres de mise en cache et d'optimisation côté client, tels que les téléchargements parallèles. Ces fonctionnalités peuvent abstraire les complexités de développement et aider à atteindre des performances optimales en fragmentant ou en parallélisant les flux.

  • L'espace de noms hiérarchique permet de créer une véritable structure de système de fichiers dans les buckets et offre des fonctionnalités de gestion des données efficaces, y compris le renommage atomique des dossiers et la recherche de fichiers plus rapide lorsque le bucket est monté avec Cloud Storage FUSE. L'espace de noms hiérarchique offre un nombre de requêtes par seconde (RPS) huit fois plus élevé pour la lecture et l'écriture d'objets que les buckets sans espace de noms hiérarchique. Pour en savoir plus sur les avantages de l'utilisation de l'espace de noms hiérarchique, consultez Avantages en termes de performances et de gestion.

    Il est fortement recommandé d'activer l'espace de noms hiérarchique lorsque vous avez des charges de travail qui nécessitent un chargement de données à haut débit et un checkpointing de modèle fréquent. L'espace de noms hiérarchique doit être activé lorsque vous créez des buckets zonaux avec Rapid Bucket.

Managed Lustre

Google Cloud Managed Lustre est un système de fichiers parallèle hautes performances, conforme à POSIX et entièrement géré, optimisé pour les applications d'IA et de ML. L'architecture Managed Lustre est idéale pour les charges de travail d'IA/de ML à débit élevé, à faible latence et à forte concurrence de métadonnées, telles que la création de points de contrôle, la propagation de poids à grande vitesse dans l'apprentissage par renforcement et la mise en cache clé-valeur (KV).

Pour en savoir plus sur les cas d'utilisation courants de Managed Lustre, consultez Cas d'utilisation.

Pools Hyperdisk

Les pools Hyperdisk vous permettent de gérer et de partager la capacité de stockage, le débit et les IOPS dans un pool dédié sur plusieurs instances de calcul. Cette approche permet de s'assurer que vous disposez des ressources de stockage dont vous avez besoin pour exécuter vos charges de travail.

Lorsque vous réservez de la capacité pour des GPU en cluster, vous pouvez également demander un pool Hyperdisk. Cette action fournit des ressources de calcul et de stockage en même temps.

Comparaison des services de stockage

Le tableau suivant compare de manière générale les pools Cloud Storage, Managed Lustre et Hyperdisk en fonction de caractéristiques clés :

Caractéristiques Cloud Storage Managed Lustre Pools Hyperdisk
Architecture

Store d'objets

  • Par défaut, les données sont stockées dans des buckets plats. Tous les types de buckets (zonaux, régionaux, birégionaux et multirégionaux) offrent des options de géoredondance qui peuvent être accélérées grâce aux fonctionnalités Rapid de Cloud Storage.
  • Vous pouvez éventuellement activer l'espace de noms hiérarchique pour créer des buckets permettant de stocker des données dans une structure de système de fichiers.
  • Vous pouvez éventuellement activer Cloud Storage FUSE pour installer des buckets en tant que systèmes de fichiers locaux.

Système de fichiers parallèle

  • Les données sont stockées sous forme de fichiers dans des instances Lustre gérées et montées en tant que systèmes de fichiers locaux dans vos clusters d'accélérateurs, sans nécessiter de réglages supplémentaires.

Pools Hyperdisk

  • Si vous utilisez des volumes Hyperdisk Balanced, les pools de stockage et les Exapools sont compatibles avec les disques de démarrage et les disques non bootables. Si vous utilisez des volumes Hyperdisk Throughput, les pools de stockage et les Exapools ne sont compatibles qu'avec les disques non bootables.
Capacité de stockage

Évolutivité jusqu'à des exaoctets de capacité.

La capacité peut atteindre 80 Po, selon le niveau de performances de l'instance.

Évolue de 10 Tio à 5 Pio par pool (jusqu'à 5 Eio avec Exapools).

Performances

Il est compatible avec les éléments suivants :

  • Latence inférieure à une milliseconde pour les fichiers ouverts avec Rapid Bucket
  • Des dizaines de millions d'IOPS/Tio avec les buckets Rapid
  • Jusqu'à 2,5 Tio/s de bande passante avec Rapid Cache
  • Jusqu'à 15 Tio/s de bande passante avec Rapid Bucket
  • Demandes d'augmentation de la bande passante

Il est compatible avec les éléments suivants :

  • Latence inférieure à une milliseconde
  • Des dizaines de millions d'IOPS/Tio
  • Jusqu'à 10 Tio/s de bande passante

Il est compatible avec les éléments suivants :

  • Latence inférieure à une milliseconde
  • Jusqu'à 4 194 304 IOPS provisionnées pour les pools de stockage Hyperdisk équilibré
  • Jusqu'à 1 Tio/s de débit provisionné pour les pools de stockage
  • Pour les Exapools, les performances évoluent en fonction des unités de capacité (optimisées pour la lecture, l'écriture ou la capacité) pour atteindre des millions d'IOPS et plusieurs Tio/s de débit.
  • Provisionnement standard ou avancé pour la capacité et les performances
Tarifs

Pour en savoir plus, consultez la page Tarifs de Cloud Storage.

Pour en savoir plus, consultez les tarifs de Managed Lustre.

Pour en savoir plus, consultez Tarifs de Persistent Disk et Hyperdisk.

Recommandations par exigence

Recommandé pour les applications qui ont besoin d'un stockage d'objets évolutif et d'une rentabilité générale pour les ensembles de données d'entraînement, la création de points de contrôle asynchrones à plusieurs niveaux et le stockage des pondérations de modèle. Cloud Storage Rapid est particulièrement recommandé pour le scaling des données hautes performances et économique.

Recommandé pour les applications qui ont besoin d'un système de fichiers parallèles ou de répertoires personnels entièrement conformes à POSIX. Également recommandé pour les charges de travail sensibles à la latence ou à la concurrence élevée des métadonnées, telles que les déchargements de mise en cache KV, la création de points de contrôle synchrones et la propagation de poids à grande vitesse pour l'apprentissage par renforcement.

Recommandé pour les disques de démarrage des nœuds, les systèmes de fichiers locaux hautes performances et les disques de travail dédiés qui nécessitent des performances constantes et un niveau élevé d'assurance de capacité.

Recommandations de services de stockage par cas d'utilisation

Cas d'utilisation Recommandation de service de stockage Motif de la recommandation
Entraîner et préparer des ensembles de données Recommandation de stockage d'objets : Cloud Storage Rapid Bucket Les buckets Cloud Storage offrent la capacité, l'évolutivité du débit, la rentabilité et la durabilité souvent nécessaires pour les volumes massifs d'ensembles de données d'entraînement et d'inférence. Lorsque vous utilisez Rapid Bucket pour créer un bucket zonal, celui-ci bénéficie d'un débit très élevé (jusqu'à 15 To/s) et d'une latence inférieure à la milliseconde pour les fichiers ouverts, à un coût optimal.
Recommandation de stockage de fichiers : Managed Lustre Managed Lustre offre une latence inférieure à une milliseconde. Il s'agit d'un espace de travail dédié et ultrarapide pour vos tâches d'entraînement et de préparation des ensembles de données les plus intensives, où la faible latence et les performances de concurrence des métadonnées sont une priorité.
Déplacer ou enregistrer les pondérations du modèle pour la création de points de contrôle ou les transferts de pondérations Recommandation de stockage d'objets : Cloud Storage Rapid Bucket Rapid Bucket est bien adapté au checkpointing asynchrone à plusieurs niveaux ou distribué lorsqu'il est utilisé avec GCSFS via fsspec ou Cloud Storage FUSE avec optimisation des performances côté client.
Recommandation de stockage de fichiers : Managed Lustre Managed Lustre offre une latence inférieure à une milliseconde et un accès aux données parallèle, ce qui permet à des milliers de nœuds de calcul de déploiement d'extraire le même fichier de poids simultanément.
Stocker et télécharger des modèles pour l'inférence Recommandation de stockage d'objets : cache Rapid Cache ou bucket Rapid Bucket Cloud Storage

Rapid Cache agit comme un booster qui permet de réduire le démarrage à froid de l'inférence. Avec Rapid Cache, les pondérations du modèle peuvent être préchauffées dans la même zone que vos nœuds d'inférence, ce qui permet à une nouvelle instance d'inférence de télécharger rapidement les pondérations du modèle et de traiter sa première requête.

Rapid Bucket sert de moteur de stockage zonal accéléré et hautes performances. Il vous permet de localiser les pondérations de modèle dans la même zone que votre parc d'inférence.

Pour la mise en service du modèle, nous vous recommandons d'utiliser Run:ai Model Streamer for vLLM pour des performances de téléchargement optimales. Pour les autres piles d'inférence, l'optimisation des paramètres de téléchargement parallèle de Cloud Storage FUSE peut réduire considérablement la latence de démarrage à froid lors du téléchargement des pondérations du modèle.

Recommandation de stockage de fichiers : Managed Lustre Managed Lustre offre une latence inférieure à la milliseconde et un accès parallèle aux données, ce qui est bénéfique pour les modèles sensibles aux performances et pour la mise à l'échelle des GPU simultanés téléchargeant le même modèle en même temps.
Déchargement du cache KV Recommandation de stockage de fichiers : Managed Lustre Managed Lustre offre une latence inférieure à une milliseconde et un accès parallèle aux données, ce qui permet à différents nœuds d'extraire le cache KV et de reprendre les discussions sans retraiter l'intégralité de l'historique de la discussion.
Disques de démarrage des nœuds et stockage local hautes performances Recommandation principale : pools Hyperdisk Les pools Hyperdisk regroupent la capacité de stockage, les IOPS et le débit des instances de calcul, ce qui permet d'obtenir des performances prévisibles pour les disques de démarrage et les autres disques.

Étapes suivantes