Ce document fournit une architecture de référence qui montre comment utiliser Parallelstore pour optimiser les performances des charges de travail d'intelligence artificielle (IA) ou de machine learning (ML). Parallelstore est un service de stockage de système de fichiers parallèle qui vous aide à réduire les coûts, à améliorer l'utilisation des ressources et à accélérer les temps d'entraînement de vos charges de travail d'IA et de ML.
Ce document s'adresse aux architectes et aux utilisateurs techniques qui conçoivent, provisionnent et gèrent le stockage de leurs charges de travail d'IA et de ML sur Google Cloud. Dans ce document, nous partons du principe que vous comprenez le cycle de vie, les processus et les fonctionnalités du ML.
Parallelstore est un système de fichiers scratch entièrement géré et hautes performances dans Google Cloud , basé sur l'architecture DAOS (Distributed Asynchronous Object Storage). Parallelstore est idéal pour les charges de travail d'IA et de ML qui utilisent jusqu'à 100 To de capacité de stockage et qui doivent fournir un accès à faible latence (inférieure à une milliseconde) avec un débit et un nombre élevé d'opérations d'entrée/sortie par seconde (IOPS).
Parallelstore offre plusieurs avantages pour les charges de travail d'IA et de ML, comme les suivants:
- Coût total de possession (TCO) réduit pour l'entraînement : Parallelstore accélère le temps d'entraînement en transmettant efficacement des données aux nœuds de calcul. Cette fonctionnalité permet de réduire le coût total de possession de l'entraînement des modèles d'IA et de ML.
- Coût total de possession inférieur pour le traitement: les fonctionnalités hautes performances de Parallelstore permettent de charger des modèles plus rapidement et de servir des inférences optimisées. Ces fonctionnalités permettent de réduire les coûts de calcul et d'améliorer l'utilisation des ressources.
- Utilisation efficace des ressources: Parallelstore vous permet de combiner l'entraînement, le point de contrôle et le traitement dans une seule instance. Cette utilisation des ressources permet de maximiser l'utilisation efficace du débit en lecture et en écriture dans un seul système de stockage hautes performances.
Architecture
Le diagramme suivant montre un exemple d'architecture pour utiliser Parallelstore afin d'optimiser les performances d'une charge de travail d'entraînement de modèle et d'une charge de travail de diffusion:
Les charges de travail présentées dans l'architecture précédente sont décrites en détail dans les sections suivantes. L'architecture comprend les composants suivants :
Composant | Objectif |
---|---|
Cluster Google Kubernetes Engine (GKE) | GKE gère les hôtes de calcul sur lesquels s'exécutent les processus d'entraînement et de diffusion de vos modèles d'IA et de ML. GKE gère l'infrastructure sous-jacente des clusters, y compris le plan de contrôle, les nœuds et tous les composants du système. |
Programmeur Kubernetes | Le plan de contrôle GKE planifie les charges de travail et gère leur cycle de vie, leur mise à l'échelle et leurs mises à niveau. L'agent de nœud Kubernetes (kubelet ), qui n'est pas représenté dans le diagramme, communique avec le plan de contrôle. kubelet est chargé de démarrer et d'exécuter les conteneurs planifiés sur les nœuds GKE.
Vous pouvez déployer des GPU pour des charges de travail par lot et d'IA avec le planificateur de charges de travail dynamique, ce qui vous permet de demander des GPU sans engagement important. Pour en savoir plus sur le planificateur, consultez la section Orchestration de l'IA et du ML sur GKE. |
Réseau cloud privé virtuel (VPC) | Toutes les ressources Google Cloud de l'architecture utilisent un seul réseau VPC. Selon vos besoins, vous pouvez choisir de créer une architecture utilisant plusieurs réseaux. Pour en savoir plus sur la configuration d'un réseau VPC pour Parallelstore, consultez la section Configurer un réseau VPC. |
Cloud Load Balancing | Dans cette architecture, Cloud Load Balancing distribue efficacement les requêtes d'inférence entrantes des utilisateurs de l'application aux conteneurs de service du cluster GKE. L'utilisation de Cloud Load Balancing permet de garantir une haute disponibilité, une évolutivité et des performances optimales pour l'application d'IA et de ML. Pour en savoir plus, consultez Comprendre l'équilibrage de charge GKE. |
GPU (Graphics Processing Unit) ou TPU (Tensor Processing Unit) | Les GPU et les TPU sont des accélérateurs de machine spécialisés qui améliorent les performances de votre charge de travail d'IA et de ML. Pour savoir comment choisir un type de processeur approprié, consultez la section Options d'accélérateur plus loin dans ce document. |
Parallelstore | Parallelstore accélère l'entraînement et la mise en service de l'IA et du ML en fournissant un système de fichiers parallèle hautes performances optimisé pour une faible latence et un débit élevé. Par rapport à l'utilisation de Cloud Storage seul, Parallelstore réduit considérablement le temps d'entraînement et améliore la réactivité de vos modèles lors de la diffusion. Ces améliorations sont particulièrement visibles dans les charges de travail exigeantes qui nécessitent un accès rapide et cohérent aux données partagées. |
Cloud Storage | Cloud Storage fournit un stockage persistant et économique pour vos charges de travail d'IA et de ML. Cloud Storage sert de dépôt central pour vos ensembles de données d'entraînement bruts, vos points de contrôle de modèle et vos modèles entraînés finaux. L'utilisation de Cloud Storage permet de garantir la durabilité, la disponibilité à long terme et la rentabilité des données qui ne sont pas utilisées activement dans les calculs. |
Charge de travail d'entraînement
Dans l'architecture précédente, voici les étapes du flux de données lors de l'entraînement du modèle:
- Importer des données d'entraînement dans Cloud Storage: vous importez des données d'entraînement dans un bucket Cloud Storage, qui sert de dépôt central sécurisé et évolutif et de source de vérité.
- Copier des données dans Parallelstore: le corpus de données d'entraînement est transféré depuis Cloud Storage via une importation API groupée vers une instance Parallelstore. Le transfert des données d'entraînement vous permet de profiter des fonctionnalités du système de fichiers hautes performances de Parallelstore pour optimiser les vitesses de chargement et de traitement des données lors de l'entraînement du modèle.
- Exécuter des jobs d'entraînement dans GKE: le processus d'entraînement du modèle s'exécute sur les nœuds GKE. En utilisant Parallelstore comme source de données au lieu de charger directement des données à partir de Cloud Storage, les nœuds GKE peuvent accéder et charger des données d'entraînement avec une vitesse et une efficacité considérablement améliorées. L'utilisation de Parallelstore permet de réduire les temps de chargement des données et d'accélérer le processus d'entraînement global, en particulier pour les grands ensembles de données et les modèles complexes. En fonction des exigences de votre charge de travail, vous pouvez utiliser des GPU ou des TPU. Pour savoir comment choisir un type de processeur approprié, consultez la section Options d'accélérateur plus loin dans ce document.
- Enregistrer les points de contrôle d'entraînement dans Parallelstore: pendant le processus d'entraînement, les points de contrôle sont enregistrés dans Parallelstore en fonction des métriques ou des intervalles que vous définissez. Les points de contrôle capturent l'état du modèle à intervalles réguliers.
- Enregistrer des points de contrôle et un modèle dans Cloud Storage: nous vous recommandons d'utiliser une exportation API groupée à partir de l'instance Parallelstore pour enregistrer des points de contrôle et le modèle entraîné dans Cloud Storage. Cette pratique garantit la tolérance aux pannes et permet de créer des cas d'utilisation futurs, comme la reprise de l'entraînement à partir d'un point spécifique, le déploiement du modèle en production et la conduite d'autres expériences. Il est recommandé de stocker les points de contrôle dans un bucket différent de vos données d'entraînement.
- Restaurer des points de contrôle ou un modèle: lorsque votre workflow d'IA et de ML nécessite de restaurer des points de contrôle ou des données de modèle, vous devez localiser l'élément que vous souhaitez restaurer dans Cloud Storage. Sélectionnez l'élément à restaurer en fonction du code temporel, de la métrique de performances ou d'une version spécifique. Utilisez l'importation par API pour transférer l'asset de Cloud Storage vers Parallelstore, puis chargez-le dans votre conteneur d'entraînement. Vous pouvez ensuite utiliser le point de contrôle ou le modèle restauré pour reprendre l'entraînement, affiner les paramètres ou évaluer les performances sur un ensemble de validation.
Charge de travail de diffusion
Dans l'architecture précédente, voici les étapes du flux de données lors de la diffusion du modèle:
- Charger le modèle pour le traitement: une fois l'entraînement terminé, vos pods chargent le modèle entraîné sur les nœuds de traitement. Si l'instance Parallelstore que vous avez utilisée lors de l'entraînement dispose d'une capacité IOPS suffisante, vous pouvez accélérer le chargement du modèle et réduire les coûts en utilisant l'instance d'entraînement pour diffuser le modèle. La réutilisation de l'instance d'entraînement permet de partager efficacement les ressources entre l'entraînement et la diffusion. Toutefois, pour maintenir des performances et une compatibilité optimales, utilisez un type d'accélérateur (GPU ou TPU) pour l'entraînement qui est cohérent avec le type d'accélérateur disponible sur les nœuds GKE de diffusion.
- Demande d'inférence: les utilisateurs de l'application envoient des demandes d'inférence via l'application d'IA et de ML. Ces requêtes sont adressées au service Cloud Load Balancing. Cloud Load Balancing distribue les requêtes entrantes entre les conteneurs de service du cluster GKE. Cette distribution garantit qu'aucun conteneur n'est surchargé et que les requêtes sont traitées efficacement.
- Diffusion des requêtes d'inférence: en production, le système gère efficacement les requêtes d'inférence en utilisant le cache de diffusion du modèle. Les nœuds de calcul interagissent avec le cache en vérifiant d'abord s'il existe une prédiction correspondante. Si une prédiction correspondante est trouvée, elle est renvoyée directement, ce qui permet d'optimiser les temps de réponse et l'utilisation des ressources. Sinon, le modèle traite la requête, génère une prédiction et la stocke dans le cache pour plus d'efficacité à l'avenir.
- Livraison des réponses: les conteneurs de diffusion renvoient les réponses via Cloud Load Balancing. Cloud Load Balancing achemine les réponses vers les utilisateurs de l'application appropriés, ce qui termine le cycle de requête d'inférence.
Produits utilisés
Cette architecture de référence utilise les produits Google Cloud suivants:
- Cloud privé virtuel (VPC): système virtuel qui fournit des fonctionnalités de mise en réseau mondiales et évolutives pour vos charges de travail. Google Cloud Le VPC inclut l'appairage de réseaux VPC, Private Service Connect, l'accès aux services privés et le VPC partagé.
- Google Kubernetes Engine (GKE) : service Kubernetes que vous pouvez utiliser pour déployer et exploiter des applications conteneurisées à grande échelle, à l'aide de l'infrastructure de Google.
- Cloud Storage : store d'objets économique et sans limite pour tout type de données. Les données sont accessibles depuis et en dehors de Google Cloud, et sont répliquées sur plusieurs emplacements à des fins de redondance.
- Parallelstore: système de fichiers parallèle entièrement géré pour l'IA, le calcul hautes performances (HPC) et les applications gourmandes en données.
Cas d'utilisation
Parallelstore est idéal pour les charges de travail d'IA et de ML pouvant atteindre 100 To de capacité de stockage et qui doivent fournir un accès à faible latence (inférieure à la milliseconde) avec un débit et des IOPS élevés. Les sections suivantes fournissent des exemples de cas d'utilisation pour lesquels vous pouvez utiliser Parallelstore.
Traitement et génération de texte
Les grands modèles de langage (LLM) sont des modèles d'IA spécialisés conçus spécifiquement pour comprendre et traiter les données textuelles. Les LLM sont entraînés sur des ensembles de données textuelles volumineux, ce qui leur permet d'effectuer diverses tâches, y compris la traduction automatique, les réponses aux questions et la synthèse de texte. L'entraînement de modèles LLM nécessite un accès à faible latence aux ensembles de données pour un traitement et une génération de texte efficaces des requêtes. Parallelstore excelle dans les applications gourmandes en données en fournissant le débit élevé et la faible latence nécessaires à la fois pour l'entraînement et l'inférence, ce qui permet d'obtenir des applications plus réactives optimisées par LLM.
Traitement d'images ou de vidéos haute résolution
Les applications d'IA et de ML traditionnelles ou les modèles génératifs multimodaux qui traitent des images ou des vidéos haute résolution, comme l'analyse d'images médicales ou les systèmes de conduite autonome, nécessitent une grande capacité de stockage et un accès rapide aux données. Le système de fichiers de travail hautes performances de Parallelstore permet de charger rapidement les données pour accélérer les performances de l'application. Par exemple, Parallelstore peut stocker et traiter temporairement de grands volumes de données patient, telles que des IRM et des scanners CT, qui sont extraits de Cloud Storage. Cette fonctionnalité permet aux modèles d'IA et de ML d'analyser rapidement les données à des fins de diagnostic et de traitement.
Alternatives de conception
Les sections suivantes présentent d'autres approches de conception que vous pouvez envisager pour votre application d'IA et de ML dans Google Cloud.
Alternative de plate-forme
Au lieu d'héberger votre workflow d'entraînement et de diffusion de modèle sur GKE, vous pouvez envisager d'utiliser Compute Engine avec Slurm. Slurm est un gestionnaire de charges de travail et de ressources Open Source hautement configurable. L'utilisation de Compute Engine avec Slurm est particulièrement adaptée à l'entraînement et aux simulations de modèles à grande échelle. Nous vous recommandons d'utiliser Compute Engine avec Slurm si vous devez intégrer une propriété intellectuelle (PI) propriétaire d'IA et de ML dans un environnement évolutif offrant la flexibilité et le contrôle nécessaires pour optimiser les performances des charges de travail spécialisées.
Sur Compute Engine, vous provisionnez et gérez vos machines virtuelles (VM), ce qui vous permet de contrôler précisément les types d'instances, le stockage et la mise en réseau. Vous pouvez adapter votre infrastructure à vos besoins exacts, y compris en sélectionnant des types de machines de VM spécifiques. Vous pouvez également utiliser la famille de machines optimisées pour les accélérateurs pour améliorer les performances de vos charges de travail d'IA et de ML. Pour en savoir plus sur les familles de types de machines disponibles sur Compute Engine, consultez le Guide des ressources de familles de machines et guide comparatif.
Slurm offre une option puissante pour gérer les charges de travail d'IA et de ML, et vous permet de contrôler la configuration et la gestion des ressources de calcul. Pour utiliser cette approche, vous devez être un expert en administration Slurm et en gestion de systèmes Linux.
Options d'accélérateur
Les accélérateurs de machine sont des processeurs spécialisés conçus pour accélérer les calculs requis pour les charges de travail d'IA et de ML. Vous pouvez choisir des GPU (Graphics Processing Units) ou des TPU (Tensor Processing Units).
- Les accélérateurs GPU offrent d'excellentes performances pour un large éventail de tâches, y compris le rendu graphique, l'entraînement de deep learning et le calcul scientifique. Google Cloud propose un large choix de GPU adaptés à divers besoins en termes de performances et de budgets. Pour en savoir plus sur les modèles et les tarifs des GPU, consultez la section Tarifs des GPU.
- Les TPU sont des accélérateurs d'IA spécialement conçus et optimisés pour l'entraînement et l'inférence de modèles d'IA volumineux. Ils conviennent parfaitement à différents cas d'utilisation, tels que les chatbots, la génération de code, la génération de contenu multimédia, la voix synthétique, les services de vision, les moteurs de recommandations, les modèles de personnalisation, etc. Pour en savoir plus sur les modèles et les tarifs des TPU, consultez la page Tarifs des TPU.
Diffuser des alternatives de stockage
Cloud Storage FUSE avec un bucket multirégional ou birégional offre le plus haut niveau de disponibilité, car vos modèles d'IA et de ML entraînés sont stockés dans Cloud Storage et dans plusieurs régions. Bien que Cloud Storage FUSE offre un débit par VM inférieur à celui de Parallelstore, il vous permet de profiter de l'évolutivité et de la rentabilité de Cloud Storage. Pour accélérer le chargement de modèles et améliorer les performances, en particulier pour les charges de travail exigeantes, vous pouvez utiliser des instances Parallelstore existantes ou nouvelles dans chaque région. Pour savoir comment améliorer les performances avec Cloud Storage FUSE, consultez Optimiser le pilote CSI Cloud Storage FUSE pour les performances de GKE.
Google Cloud Hyperdisk ML est une solution de stockage de blocs hautes performances conçue pour accélérer les charges de travail d'IA et de ML à grande échelle qui nécessitent un accès en lecture seule à de grands ensembles de données. Hyperdisk ML peut être provisionné avec un débit agrégé plus élevé, mais il offre un débit par VM inférieur à celui de Parallelstore.
De plus, les volumes Hyperdisk ML ne sont accessibles qu'aux VM GPU ou TPU de la même zone. Par conséquent, pour les clusters GKE régionaux qui servent à partir de plusieurs zones, vous devez provisionner des volumes Hyperdisk ML distincts dans chaque zone. Cet emplacement diffère de Parallelstore, où vous n'avez besoin que d'une seule instance par région. Il est également important de noter que Hyperdisk ML est en lecture seule. Pour en savoir plus sur l'utilisation d'Hyperdisk ML dans les charges de travail d'IA et de ML, consultez la section Accélération du chargement des données d'IA/ML avec Hyperdisk ML.
Considérations de conception
Pour concevoir un déploiement Parallelstore qui optimise les performances et l'efficacité économique de vos charges de travail d'IA et de ML surGoogle Cloud, suivez les consignes des sections suivantes. Les consignes décrivent les recommandations à prendre en compte lorsque vous utilisez Parallelstore dans le cadre d'une solution hybride qui combine plusieurs options de stockage pour des tâches spécifiques de votre workflow.
Formation
L'entraînement des modèles d'IA et de ML nécessite que vous fournissiez des données de manière itérative à votre modèle, que vous ajustiez ses paramètres et que vous évaluiez ses performances à chaque itération. Ce processus peut être gourmand en calcul et génère un volume élevé de requêtes d'E/S en raison de la nécessité constante de lire les données d'entraînement et d'écrire les paramètres de modèle mis à jour.
Pour maximiser les avantages en termes de performances lors de l'entraînement, nous vous recommandons de procéder comme suit:
- Mise en cache: utilisez Parallelstore comme cache hautes performances sur Cloud Storage.
- Préchargement : importez des données dans Parallelstore à partir de Cloud Storage pour réduire la latence pendant l'entraînement. Vous pouvez également utiliser le populateur de volumes GKE pour préremplir des PersistentVolumeClaims avec des données provenant de Cloud Storage.
- Optimisation des coûts: exportez vos données vers une classe Cloud Storage moins chère après l'entraînement afin de réduire les dépenses de stockage à long terme. Étant donné que vos données persistantes sont stockées dans Cloud Storage, vous pouvez détruire et recréer des instances Parallelstore selon les besoins de vos tâches d'entraînement.
- Intégration à GKE: intégrez-vous au pilote CSI (Container Storage Interface) de GKE pour simplifier la gestion. Pour savoir comment connecter un cluster GKE à une instance Parallelstore, consultez la section Pilote CSI Parallelstore Google Kubernetes Engine.
- Performances des VM A3: fournissez plus de 20 Go/s (environ 2,5 Go/s par GPU) sur les variantes A3 pour une diffusion de données optimale.
- Accès simultané: utilisez l'instance Parallelstore pour prendre en charge les lectures et écritures en duplex intégral.
Lorsque vous déployez Parallelstore pour l'entraînement, tenez compte des points suivants:
- Système de fichiers scratch: configurez les intervalles de point de contrôle tout au long du processus d'entraînement. Parallelstore est un système de fichiers temporaires, ce qui signifie que les données sont stockées temporairement. Pour une plage de 100 Tio, le temps moyen estimé avant la perte de données est de deux mois. Pour une plage de 23 To, le délai moyen estimé avant la perte de données est de 12 mois ou plus.
- Bandes de fichiers et de répertoires: optimisez les bandes de fichiers et de répertoires pour votre taille de fichier dominante afin de maximiser les performances.
- Optimisation des coûts: optimisez les coûts en mettant en scène les données de manière appropriée dans Cloud Storage plutôt que dans Parallelstore.
- Sélection de zone: optimisez les coûts et les performances en localisant les clients de calcul GPU ou TPU et les nœuds de stockage dans la même zone.
Pour en savoir plus sur la configuration de votre environnement Parallelstore afin d'optimiser les performances, consultez la section Considérations sur les performances.
Points de contrôle
Le point de contrôle est un aspect essentiel de l'entraînement des modèles d'IA et de ML. Le point de contrôle vous permet d'enregistrer l'état de votre modèle à différents moments du processus afin de pouvoir reprendre l'entraînement à partir d'un point de contrôle enregistré en cas d'interruption, de défaillance du système ou pour explorer différentes configurations d'hyperparamètres. Lorsque vous utilisez Parallelstore pour l'entraînement, il est essentiel de l'utiliser également pour le point de contrôle afin de profiter de son débit d'écriture élevé et de réduire la durée d'entraînement. Cette approche garantit une utilisation efficace des ressources et permet de réduire le TCO de vos ressources GPU en maintenant l'entraînement et le point de contrôle aussi rapides que possible.
Pour optimiser votre workflow de point de contrôle avec Parallelstore, tenez compte des bonnes pratiques suivantes:
- Checkpointing rapide: profitez des écritures de point de contrôle rapides avec Parallelstore. Vous pouvez atteindre un débit de 0,5 Go/s par téraoctet de capacité et plus de 12 Go/s par VM A3.
- Stockage sélectif des points de contrôle : exportez des points de contrôle sélectionnés à partir de Parallelstore vers Cloud Storage pour le stockage à long terme et la reprise après sinistre.
- Opérations simultanées: profitez du full-duplex en lecture et en écriture en utilisant Parallelstore simultanément pour l'entraînement et les écritures de point de contrôle.
Diffusion
Le traitement consiste à déployer vos modèles d'IA et de ML entraînés pour gérer les requêtes d'inférence. Pour des performances optimales, il est essentiel de réduire le temps nécessaire au chargement de ces modèles dans la mémoire. Bien que Parallelstore soit principalement conçu pour les charges de travail d'entraînement, vous pouvez utiliser le débit élevé par VM (plus de 20 Go/s) et le débit agrégé du cluster de Parallelstore afin de réduire les temps de chargement du modèle sur des milliers de VM. Pour suivre les métriques clés qui vous permettent d'identifier les goulots d'étranglement et de garantir une efficacité optimale, utilisez Cloud Monitoring.
Lorsque vous déployez Parallelstore pour le traitement, tenez compte des points suivants:
- Débit élevé: maximisez les performances de Parallelstore à l'aide de Cloud Monitoring pour vous assurer de déployer une capacité suffisante pour atteindre un débit maximal de 125 Go/s à 100 To.
- Interruptions de service potentielles: Parallelstore étant un système de fichiers temporaire, il peut subir des interruptions de service occasionnelles. Le temps moyen de perte de données est d'environ deux mois pour un cluster de 100 To.
- Restaurer les données: en cas d'interruption de service, vous devez restaurer les données Parallelstore à partir de votre dernière sauvegarde Cloud Storage. Les données sont transférées à une vitesse d'environ 16 Go/s.
- Instances partagées: l'utilisation d'une seule instance Parallelstore pour l'entraînement et la diffusion maximise l'utilisation des ressources et peut être rentable. Toutefois, il peut y avoir un conflit de ressources potentiel si les deux charges de travail ont des demandes de débit élevées. Si des IOPS de réserve sont disponibles après l'entraînement, l'utilisation de la même instance peut accélérer le chargement du modèle pour le traitement. Utilisez Cloud Monitoring pour vous assurer d'allouer suffisamment de ressources pour répondre à vos besoins en débit.
- Instances distinctes: l'utilisation d'instances distinctes permet d'isoler les performances, d'améliorer la sécurité en isolant les données d'entraînement et de protéger les données. Bien que les listes de contrôle des accès puissent gérer la sécurité au sein d'une seule instance, les instances distinctes offrent une limite de sécurité plus robuste.
Options d'emplacement
Pour minimiser la latence et maximiser les performances, créez votre instance Parallelstore dans une région géographiquement proche de vos clients de calcul GPU ou TPU.
- Pour l'entraînement et le point de contrôle: pour des résultats optimaux, assurez-vous que les clients et les instances Parallelstore se trouvent dans la même zone. Cette colocalisation minimise les délais de transfert de données et maximise l'utilisation du débit d'écriture de Parallelstore.
- Pour la diffusion: bien qu'il soit idéal de placer des clients de calcul dans la même zone, une instance Parallelstore par région suffit. Cette approche évite les coûts supplémentaires associés au déploiement de plusieurs instances et permet de maximiser les performances de calcul. Toutefois, si vous avez besoin de plus de capacité ou de débit, vous pouvez envisager de déployer plusieurs instances par région.
Le déploiement de Parallelstore dans deux régions peut améliorer considérablement les performances en maintenant les données géographiquement plus proches des GPU ou des TPU utilisés pour la diffusion. Cet emplacement réduit la latence et permet un accès aux données plus rapide lors de l'inférence. En cas de panne régionale, les applications de formation et de diffusion ne seront plus disponibles pour les utilisateurs.
Pour garantir une haute disponibilité et une fiabilité, vous devez instancier un réplica de cette architecture dans une autre région. Lorsque vous créez une architecture géographiquement redondante, votre application d'IA et de ML peut continuer à fonctionner même si une région connaît une panne. Pour sauvegarder et restaurer vos données de cluster et vos données Cloud Storage dans une région différente si nécessaire, vous pouvez utiliser Sauvegarde pour GKE.
Pour en savoir plus sur les emplacements compatibles avec les instances Parallelstore, consultez la section Emplacements compatibles.
Déploiement
Pour créer et déployer cette architecture de référence, nous vous recommandons d'utiliser Cluster Toolkit. Cluster Toolkit est un ensemble d'outils modulaire basé sur Terraform conçu pour le déploiement d'environnements d'IA et de ML reproductibles surGoogle Cloud. Pour définir votre environnement, utilisez le modèle d'entraînement GKE et Parallelstore. Pour provisionner et gérer des instances Parallelstore pour vos clusters, consultez le module Parallelstore.
Pour savoir comment déployer Parallestore manuellement, consultez la section Créer une instance Parallelstore. Pour améliorer encore l'évolutivité et les performances avec le provisionnement dynamique, vous pouvez créer et utiliser un volume basé sur une instance Parallelstore dans GKE.
Étape suivante
- Découvrez comment utiliser des systèmes de fichiers parallèles pour les charges de travail HPC.
- Découvrez les bonnes pratiques d'implémentation du machine learning sur Google Cloud.
- Découvrez comment choisir son stockage pour les charges de travail d'IA et de ML dans Google Cloud.
- Découvrez comment entraîner un modèle TensorFlow avec Keras sur GKE.
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Centre d'architecture cloud.
Contributeurs
Auteur: Samantha He | Rédactrice technique
Autres contributeurs :
- Dean Hildebrand | Directeur technique, bureau du directeur de la technologie
- Kumar Dhanagopal Développeur de solutions multiproduits
- Sean Derrington | Group Outbound Product Manager, Stockage