Les services de stockage fournissent l'architecture de données essentielle qui permet l'entraînement, l'inférence et l'ajustement précis des modèles hautes performances dans l'écosystème AI Hypercomputer. Plusieurs services de stockage sont disponibles dans Google Cloud, mais 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 dans le 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 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 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é à l'échelle mondiale. Lorsque vous utilisez Cloud Storage, vous stockez les données sous forme d'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 d'adapter le stockage de données de manière performante et économique pour vos clusters GPU ou 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 la lecture des données dans les buckets existants sans nécessiter de modification du code. Le cache Rapid est un cache de lecture zonal basé sur SSD pour les buckets Cloud Storage. Il est utilisé pour répondre aux demandes 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 sur 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 avec l'accès 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 vous 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.
Nous vous recommandons vivement 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 point de contrôle 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 à la norme 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 à débit élevé, à faible latence et à forte concurrence de métadonnées, telles que la gestion des 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.
Comparaison des services de stockage
Le tableau suivant compare Cloud Storage et Managed Lustre en fonction de leurs principales caractéristiques :
| Caractéristiques | Cloud Storage | Managed Lustre |
|---|---|---|
| Architecture | Store d'objets
|
Système de fichiers parallèle
|
| Capacité de stockage | Évolutivité jusqu'à plusieurs exaoctets de capacité. |
La capacité peut atteindre 80 Po, en fonction du niveau de performances de l'instance. |
| Performances | Il est compatible avec les éléments suivants :
|
Il est compatible avec les éléments suivants :
|
| Tarifs |
Pour en savoir plus, consultez la page Tarifs de Cloud Storage. |
Pour en savoir plus, consultez les tarifs de Managed Lustre. |
| 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. Plus précisément, Cloud Storage Rapid est 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. |
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 : Bucket Rapid Cloud Storage | 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 secondaire : 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 de l'ensemble 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é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 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 le même fichier de poids simultanément sans ralentissement. |
| Recommandation secondaire : bucket Rapid Cloud Storage | 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. |
|
| Stocker et télécharger des modèles pour l'inférence | Recommandation principale : 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 est un moteur de stockage zonal accéléré et hautes performances qui vous permet de localiser les pondérations de modèle dans la même zone que votre parc d'inférence. Pour le service de modèles, nous vous recommandons d'utiliser Run:ai Model Streamer pour vLLM afin d'obtenir 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 des téléchargements de pondérations de modèle. |
| Recommandation secondaire : 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 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 des discussions. |
Étapes suivantes
En savoir plus sur Cloud Storage Rapid, une famille de produits Cloud Storage conçus pour l'IA, le ML et l'analyse intensive des données.
Découvrez comment optimiser les performances lorsque vous utilisez Cloud Storage FUSE ou le pilote CSI Cloud Storage FUSE pour télécharger des ensembles de données.
Découvrez comment accélérer le chargement de modèles sur Google Kubernetes Engine.