Les clusters d'entraînement Vertex AI sont un service de Google Cloud conçu pour simplifier et accélérer les charges de travail d'IA/de ML les plus volumineuses et les plus complexes. Il est spécifiquement conçu pour relever les défis de l'entraînement à grande échelle, tels que la configuration complexe des clusters, l'optimisation des frameworks, la gestion des défaillances matérielles et l'intégration d'ensembles d'outils disparates.
Proposition de valeur et fonctionnalités clés
Le service de développement de modèles offre plusieurs avantages clés :
Expérience utilisateur Slurm Open Source et transparence des clusters : Les clusters d'entraînement Vertex AI fournissent des outils familiers et flexibles pour lancer et gérer des jobs grâce à une expérience utilisateur Slurm Open Source. Slurm est une norme du secteur connue pour la planification optimisée des GPU, la tolérance aux pannes automatisée et le lancement simplifié des tâches parallèles.
Configuration et configuration automatisées des clusters : les clusters d'entraînement Vertex AI automatisent la configuration des clusters, dans le but de passer de la réservation à l'entraînement de production en quelques heures. Les utilisateurs peuvent créer des clusters à l'aide de la console Google Cloud (en utilisant des architectures de référence ou une configuration pas à pas) ou par le biais d'appels d'API avec des fichiers JSON.
Recettes et workflows de data science préconfigurés : les clusters d'entraînement Vertex AI incluent des outils spécialement conçus et des recettes d'entraînement optimisées pour démarrer l'entraînement pour les cas d'utilisation courants tels que les modèles Llama et Gemma, couvrant le pré-entraînement, l'optimisation supervisée (SFT) et l'apprentissage par renforcement (RL). Ces recettes sont préconfigurées pour offrir des performances de pointe sur l'infrastructure Google Cloud, ce qui permet d'améliorer considérablement les performances.
Résilience matérielle et disponibilité élevée : les clusters d'entraînement Vertex AI sont conçus avec une résilience matérielle pour améliorer la disponibilité des clusters. Il résout automatiquement les problèmes matériels, détecte et trie différents modes de défaillance (par exemple, les vérifications d'exactitude, les vérifications de vitesse, les erreurs de code de correction d'erreur (ECC), les vérifications du gestionnaire de GPU NVIDIA Data Center (DCGM), la capacité d'espace disque), et déclenche des actions de correction telles que le redémarrage, la réinitialisation ou le remplacement des nœuds défectueux, ainsi que la reprise à partir de points de contrôle. Cela permet d'atténuer l'augmentation significative des coûts et les retards causés par les interruptions de jobs et les défaillances matérielles lors de l'entraînement à grande échelle.
Architecture et composants : les clusters d'entraînement Vertex AI s'exécutent sur l'infrastructure Compute Engine compatible avec les GPU et les CPU. Il s'appuie sur un orchestrateur Slurm géré pour déployer et gérer les nœuds de calcul, y compris les nœuds de connexion et de calcul. Le service s'intègre à d'autres services Google Cloud , tels que la mise en réseau et le stockage.
MLOps et observabilité : s'intègre aux outils Vertex MLOps tels que Vertex AI Model Registry pour l'enregistrement, le suivi et le contrôle des versions automatiques des workflows entraînés, et Vertex AI Inference pour le déploiement avec autoscaling et métriques automatisées. Les clusters d'entraînement incluent également une intégration automatique de l'observabilité avec Vertex AI TensorBoard pour visualiser les processus d'entraînement, suivre les métriques et identifier les problèmes à un stade précoce.
Vous pouvez créer, récupérer, lister, mettre à jour et supprimer des clusters d'entraînement à l'aide de l'API Vertex AI Training Clusters. Une fois le cluster créé, les utilisateurs peuvent valider son fonctionnement en se connectant aux nœuds, en exécutant des commandes Slurm de base (par exemple, sinfo, sbatch) et en exécutant des charges de travail liées au GPU (par exemple, nvidia-smi). L'outil Cluster Health Scanner (CHS) est préinstallé pour exécuter des diagnostics tels que les tests DCGM et NCCL afin de vérifier l'état du cluster.
Les clusters d'entraînement Vertex AI fournissent une API pour lancer des jobs LLM prédéfinis à l'aide de recettes optimisées pour des modèles tels que Llama et Gemma, qui prennent en charge le pré-entraînement et le pré-entraînement continu à partir de points de contrôle. Vous pouvez surveiller les jobs en vous connectant au nœud de connexion et en examinant les fichiers de sortie et les commandes Slurm telles que squeue.
Terminologie
Cette section fournit des définitions pour les termes et concepts clés essentiels à la compréhension et à l'utilisation efficace des clusters d'entraînement Vertex AI. Ces termes couvrent les composants de service de base, les considérations architecturales, les technologies de stockage intégrées, ainsi que les concepts fondamentaux de machine learning (ML) et de MLOps qui sous-tendent votre environnement d'entraînement.
Concepts fondamentaux des services
nœud
- Machine virtuelle unique (instance Compute Engine) au sein d'un cluster. Dans le contexte de l'entraînement géré sur des clusters réservés, un nœud fait référence à une machine virtuelle (VM) individuelle qui sert d'unité de calcul unique au sein de votre cluster. Considérez-le comme l'une des machines de calcul dédiées qui exécutent une partie de votre tâche d'entraînement globale. Chaque nœud est équipé de ressources spécifiques telles que des processeurs, de la mémoire et des accélérateurs (par exemple, des GPU A3 ou A4). Ils fonctionnent tous de manière coordonnée pour gérer les tâches d'entraînement distribuées à grande échelle.
nœud de connexion
- Un nœud de connexion est le point d'entrée principal pour un utilisateur qui souhaite accéder au cluster, envoyer des tâches et gérer des fichiers. Pour en savoir plus, consultez Qu'est-ce que le calcul hautes performances ?.
partition
- Dans Slurm, il s'agit d'un regroupement logique de nœuds, souvent utilisé pour séparer les nœuds ayant des configurations matérielles différentes.
recipe
- Dans le contexte de l'entraînement géré, une recette est un package complet et réutilisable qui contient tout ce qui est nécessaire pour exécuter une charge de travail d'entraînement spécifique à grande échelle.
Cluster Slurm
- Ensemble d'instances Compute Engine, géré par Slurm, qui inclut un nœud de connexion et plusieurs nœuds de calcul configurés pour exécuter des jobs d'entraînement. Pour en savoir plus, consultez Gestionnaire de charges de travail Slurm.
Nœud de calcul
- Un nœud de calcul fait référence à une machine ou une instance de calcul individuelle au sein d'un cluster, qui est responsable de l'exécution des tâches ou du travail. Dans les systèmes tels que les clusters Kubernetes ou Ray, les nœuds sont les unités de calcul fondamentales. Pour en savoir plus, consultez Qu'est-ce que le calcul hautes performances (HPC) ?.
Architecture et mise en réseau
Réseau VPC de consommateur
- Un réseau VPC consommateur est un réseau cloud privé virtuel (VPC) Google qui accède de manière privée à un service hébergé dans un autre VPC (appelé VPC producteur). Pour en savoir plus, consultez Private Service Connect.
Unité de transmission maximale (MTU)
- Taille maximale d'un paquet de données qu'un appareil connecté au réseau peut transmettre. Des tailles de MTU plus importantes (trames jumbo) peuvent améliorer les performances du réseau pour certaines charges de travail. Pour en savoir plus, consultez Unité de transmission maximale.
Accès aux services privés
- L'accès aux services privés est une connexion privée entre votre réseau de cloud privé virtuel (VPC) et les réseaux appartenant à Google ou à des fournisseurs de services tiers. Elle permet aux instances de machines virtuelles (VM) de votre réseau VPC de communiquer avec ces services à l'aide d'adresses IP internes, ce qui évite l'exposition à l'Internet public. Pour en savoir plus, consultez Accès aux services privés.
Appairage de réseaux VPC
- Connexion réseau qui permet à deux réseaux VPC de communiquer de manière privée. Dans le contexte de l'entraînement géré sur des clusters réservés, l'appairage de réseaux VPC est un élément essentiel pour intégrer les services indispensables. Par exemple, il s'agit de la méthode requise pour connecter le VPC de votre cluster à une instance Filestore, qui fournit le répertoire `/home` partagé nécessaire pour tous les nœuds de votre cluster.
zone
- Zone de déploiement spécifique dans une région Google Cloud. Dans le contexte de l'entraînement géré sur des clusters réservés, pour obtenir les meilleures performances, tous les composants du service (le cluster, les instances Filestore et Managed Lustre) doivent être créés dans la même zone.
Technologies de stockage intégrées
Cloud Storage FUSE
- Adaptateur FUSE Open Source qui permet d'installer des buckets Cloud Storage en tant que système de fichiers sur des systèmes Linux ou macOS. Pour en savoir plus, consultez Cloud Storage FUSE.
Filestore
- Service de stockage de fichiers hautes performances et entièrement géré de Google Cloud, souvent utilisé pour les applications qui nécessitent un système de fichiers partagé. Pour en savoir plus, consultez la présentation de Filestore.
Managed Lustre
- Système de fichiers parallèle et distribué conçu pour le calcul hautes performances. Managed Lustre de Google Cloud fournit un système de fichiers à haut débit pour les charges de travail exigeantes. Pour en savoir plus, consultez Présentation de Managed Lustre.
niveau de performances
- Paramètre de configuration d'une instance Managed Lustre qui définit sa vitesse de débit (en Mo/s par Tio) et affecte sa capacité minimale et maximale.
Concepts clés du ML et du MLOps
checkpoint
- Données qui capturent l'état des paramètres d'un modèle pendant ou après l'entraînement. Par exemple, pendant l'entraînement, vous pouvez : 1. Arrêter l'entraînement, peut-être intentionnellement ou en raison de certaines erreurs. 2. Capturez le point de contrôle. 3. Rechargez ensuite le point de contrôle, éventuellement sur un autre matériel. 4. Redémarrez l'entraînement. Dans Gemini, un point de contrôle fait référence à une version spécifique d'un modèle Gemini entraîné sur un ensemble de données spécifique.
Affinage supervisé (SFT)
- Technique de machine learning dans laquelle un modèle pré-entraîné est entraîné davantage sur un ensemble de données étiquetées plus petit pour l'adapter à une tâche spécifique.
Vertex AI Inference
- Service Vertex AI qui vous permet d'utiliser un modèle de machine learning (ML) entraîné pour effectuer des inférences à partir de nouvelles données inconnues. Vertex AI fournit des services permettant de déployer des modèles pour l'inférence. Pour en savoir plus, consultez Obtenir des inférences à partir d'un modèle entraîné personnalisé.
Vertex AI Model Registry
- Vertex AI Model Registry est un dépôt central dans lequel vous pouvez gérer le cycle de vie de vos modèles de ML. Vertex AI Model Registry vous offre un aperçu de vos modèles afin de mieux organiser, suivre et entraîner les nouvelles versions. Lorsque vous souhaitez déployer une version de modèle, vous pouvez l'attribuer à un point de terminaison directement à partir du registre ou, à l'aide d'alias, déployer des modèles sur un point de terminaison. Pour en savoir plus, consultez Présentation de Vertex AI Model Registry.
Vertex AI TensorBoard
- Vertex AI TensorBoard est un service géré et évolutif sur Google Cloud qui permet aux data scientists et aux ingénieurs en ML de visualiser leurs tests de machine learning, de déboguer l'entraînement des modèles et de suivre les métriques de performances à l'aide de l'interface TensorBoard Open Source bien connue. Il s'intègre parfaitement à Vertex AI Training et à d'autres services, en fournissant un stockage persistant pour les données d'expérimentation et en permettant l'analyse collaborative du développement de modèles. Pour en savoir plus, consultez la Présentation de Vertex AI TensorBoard.