Présentation des services de stockage pour les charges de travail d'IA et de ML dans AI Hypercomputer

Les services de stockage fournissent l'architecture de données essentielle qui permet d'entraîner, d'inférer et d'ajuster des modèles hautes performances dans l'écosystème AI Hypercomputer. Bien que plusieurs services de stockage soient disponibles dans Google Cloud, le choix le plus approprié dépend de vos exigences en termes d'E/S, de débit, d'échelle et de latence pour les cas d'utilisation du cycle de vie de l'intelligence artificielle (IA) et du machine learning (ML).

Ce document présente et compare les services de stockage dans Google Cloud qui peuvent vous aider à optimiser les performances des GPU ou des TPU. Il fournit également des recommandations sur le service idéal pour des cas d'utilisation spécifiques de l'IA et du ML.

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 offre 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, 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 sections suivantes fournissent plus d'informations sur chaque service de stockage.

Cloud Storage

Cloud Storage est un store d'objets de base conçu pour offrir une évolutivité, une durabilité et une rentabilité mondiales. Lorsque vous utilisez Cloud Storage, vous stockez des données sous forme d'objets dans des conteneurs appelés buckets. Cloud Storage offre 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 d'activer un scaling hautes performances et économique du stockage de données pour vos clusters de GPU ou de TPU. Les produits Cloud Storage Rapid incluent les 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 intensives en 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 les lectures de données dans les buckets existants sans nécessiter de modifications de code. Rapid Cache est un cache de lecture zonal basé sur SSD pour les buckets Cloud Storage, utilisé pour diffuser des données pour les requêtes de lecture de données. Le 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 entre les Google Cloud régions. Les données lues à partir du cache entraînent des frais de transfert de données réduits par rapport aux données lues directement à partir d'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, ce qui permet aux applications d' interagir avec le stockage d'objets à l'aide de la sémantique standard du système de fichiers. Cette fonctionnalité vous permet de tirer parti de l'évolutivité, de la durabilité et de la rentabilité mondiales de Cloud Storage avec un accès aux fichiers locaux. Cloud Storage FUSE est activement géré et compatible avec Google.

    Cloud Storage FUSE offre plusieurs paramètres de mise en cache et de réglage 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 une véritable structure de système de fichiers dans les buckets et fournit des fonctionnalités efficaces de gestion des données, y compris le renommage atomique des dossiers et des recherches de fichiers plus rapides lorsque le bucket est installé avec Cloud Storage FUSE. L'espace de noms hiérarchique offre huit fois plus de requêtes par seconde (RPS) pour les lectures et les écritures 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.

    L'activation de l'espace de noms hiérarchique est fortement recommandée lorsque vous avez des charges de travail qui nécessitent un chargement de données à haut débit et une vérification fréquente des points de contrôle des modèles. L'activation de l'espace de noms hiérarchique est requise lors de la création de 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/ML à haut débit, à faible latence et à forte concurrence de métadonnées, telles que la vérification des points de contrôle, la propagation rapide des pondérations 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 concrets.

Comparaison des services de stockage

Le tableau suivant fournit une comparaison de haut niveau de Cloud Storage et de Managed Lustre en fonction de caractéristiques clés :

Caractéristiques Cloud Storage Managed Lustre
Architecture

Store d'objets

  • Les données sont stockées par défaut 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 Cloud Storage Rapid.
  • Vous pouvez éventuellement activer l'espace de noms hiérarchique pour créer des buckets qui prennent en charge le stockage de 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 Managed Lustre et installées en tant que systèmes de fichiers locaux dans vos clusters d’accélérateurs sans nécessiter de réglages supplémentaires.
Capacité de stockage

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

Évolutivité jusqu'à 80 pétaoctets de capacité, en fonction du niveau de performances de l'instance .

Performances

Prend en charge les éléments suivants :

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

Prend en charge les éléments suivants :

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

Pour plus d'informations, consultez la page Tarifs de Cloud Storage.

Pour plus d'informations, consultez la page Tarifs de Managed Lustre.

Recommandations par exigences

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

Recommandé pour les applications qui ont besoin d'un système de fichiers parallèle entièrement conforme à POSIX ou de répertoires d'accueil. Également recommandé pour les charges de travail sensibles à la latence ou à forte concurrence de métadonnées, telles que les déchargements de mise en cache KV, la vérification synchrone des points de contrôle et la propagation rapide des pondérations pour l'apprentissage par renforcement.

Recommandations de services de stockage par cas d'utilisation

Cas d'utilisation Recommandation de service de stockage Motif de la recommandation
Entraînement et préparation des ensembles de données Recommandation principale : Cloud Storage Rapid Bucket Les buckets Cloud Storage offrent la capacité, l'échelle de 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é et d'une latence inférieure à une milliseconde pour les fichiers ouverts à un coût optimal.
Recommandation secondaire: Managed Lustre Managed Lustre offre une latence inférieure à une milliseconde. Il est utile en tant qu'espace de travail dédié et ultra-rapide pour vos tâches d'entraînement et de préparation d'ensembles de données les plus intensives, où la faible latence et les performances de concurrence des métadonnées sont une priorité élevée.
Déplacement ou enregistrement des pondérations de modèles pour la vérification des points de contrôle ou les transferts de pondérations Recommandation principale: Managed Lustre Managed Lustre offre une latence inférieure à une milliseconde et un accès parallèle aux données, ce qui permet à des milliers de nœuds de calcul de déploiement d'extraire simultanément le même fichier de pondérations sans ralentissement.
Recommandation secondaire : Cloud Storage Rapid Bucket Rapid Bucket est bien adapté à la vérification asynchrone des points de contrôle à plusieurs niveaux ou distribuée lorsqu'il est utilisé avec GCSFS via fsspec ou Cloud Storage FUSE avec réglage des performances côté client.
Stockage et téléchargement de modèles pour l'inférence Recommandation principale : Cloud Storage Rapid Cache ou Rapid Bucket

Rapid Cache agit comme un accélérateur qui permet de réduire le démarrage à froid de l'inférence. Avec Rapid Cache, les pondérations de modèles 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 de modèles et de traiter sa première requête.

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

Pour la diffusion de modèles, nous vous recommandons d'utiliser le Run:ai Model Streamer pour vLLM afin d'optimiser les performances de téléchargement. 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 des téléchargements de pondérations de modèles.

Recommandation secondaire: Managed Lustre Managed Lustre offre une latence inférieure à une milliseconde et un accès parallèle aux données, ce qui est avantageux pour les modèles sensibles aux performances et le scaling des GPU simultanés qui téléchargent le même modèle en même temps.
Déchargement de la mise en cache KV Recommandation principale: 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 avoir à retraiter l'intégralité de l'historique de la discussion.

Étape suivante