Les clusters d'entraînement Vertex AI sont compatibles avec différents types de machines pour s'adapter à différentes charges de travail. Vous pouvez choisir parmi les options suivantes lorsque vous configurez les pools de nœuds de votre cluster :
- a4-highgpu-8g
- a4x-highgpu-4g
- a3-ultragpu-8g
- a3-megagpu-8g
- Famille de processeurs n2
Type de machine A4X
Les clusters d'entraînement Vertex AI sont compatibles avec le type de machine A4X optimisé pour les accélérateurs (a4x-highgpu-4g), une plate-forme exaflopique basée sur l'architecture rack NVIDIA GB200 NVL72.
Comparaison des architectures
Le tableau suivant décrit les différences matérielles fondamentales entre la famille A4X et les autres familles optimisées pour les accélérateurs.
| Fonctionnalité | A4X (a4x-highgpu-4g) | A3 / A4H |
|---|---|---|
| Architecture du processeur | ARM | X86 |
| Nombre de GPU | 4 GPU par nœud | 8 GPU par nœud |
| Type de réservation | Mode "Toute la capacité" | Mode géré |
| Règles sur les emplacements | Strict (compact) | Flexible |
Consignes spécifiques à A4X
- Le nombre de VM de votre pool de nœuds A4X doit être un multiple de 18 (par exemple, 18, 36 ou 54). Cette étape est nécessaire, car la capacité A4X est provisionnée dans des blocs fixes et non partageables de 18 nœuds appelés domaines NVLink. Ces domaines sont soumis à un règlement strict sur l'emplacement compact, et les blocs partiellement alloués ne peuvent pas être utilisés par d'autres clusters.
- En raison de l'architecture ARM des nœuds A4X, vous devez apporter deux modifications clés à vos charges de travail d'entraînement :
- Utilisez des images compatibles avec ARM : tous les jobs d'entraînement doivent utiliser une image de conteneur conçue pour l'architecture ARM.
- Adaptez-vous à quatre GPU : votre logique d'entraînement distribué doit être mise à jour pour reconnaître et utiliser correctement les quatre GPU disponibles sur chaque nœud A4X.
- Processus de signalement d'un hôte défectueux et temps d'arrêt
Lorsque vous signalez un hôte comme défectueux, tenez compte de la procédure de récupération suivante :
- Aucune capacité de secours : le système n'utilise pas de pool de secours pour le remplacement instantané des nœuds.
- Récupération basée sur la réparation : le nœud reste indisponible jusqu'à ce que l'hôte physique sous-jacent soit réparé.
- Temps d'arrêt prolongé : cette procédure de réparation prend généralement entre trois et 14 jours.
Provisionnement de capacité
Choisir le bon modèle de provisionnement est essentiel pour équilibrer les coûts, la vitesse et la disponibilité des ressources. Consultez les options de provisionnement suivantes :
RESERVATION: alloue des nœuds à partir d'une réservation Compute Engine spécifique que vous avez créée à l'avance. Ce modèle garantit la capacité et est recommandé pour les ressources à forte demande.FLEX_START: utilise le planificateur de charges de travail dynamique pour mettre votre job en file d'attente. Le job commence automatiquement dès que les ressources de calcul demandées sont disponibles, ce qui offre une heure de début flexible sans nécessiter de réservation.SPOT: provisionne le pool de nœuds à l'aide de VM Spot. Il s'agit de l'option la plus économique, mais elle ne doit être utilisée que pour les charges de travail tolérantes aux pannes et capables de gérer les interruptions, car les VM peuvent être préemptées à tout moment.ON_DEMAND: il s'agit de l'option par défaut pour les pools de nœuds avec CPU uniquement. Elle est la mieux adaptée aux types de machines qui ne sont pas rares. Il fournit des instances de VM standards avec une tarification prévisible basée sur le paiement à l'usage.
Suivez les instructions ci-dessous pour faire votre choix :
Pour les ressources GPU très demandées (comme A3 et A4) : le modèle
RESERVATIONest fortement recommandé. Elles vous permettent d'avoir un accès dédié à la capacité dont vous avez besoin pour les jobs d'entraînement critiques.Pour les charges de travail flexibles ou avec des pics d'activité : envisagez d'utiliser
FLEX_STARTouSPOT.FLEX_STARTmet votre job en file d'attente jusqu'à ce que des ressources soient disponibles, tandis queSPOTpermet de réaliser des économies considérables pour les jobs tolérants aux pannes qui peuvent gérer la préemption.Pour les types de machines abondants : le modèle
ON_DEMANDest le choix privilégié. Utilisez-le pour les types de machines qui ne sont pas rares et pour lesquels la disponibilité immédiate n'est pas un problème.
Utiliser une réservation partagée (facultatif)
Si vous souhaitez utiliser une réservation partagée plutôt qu'une réservation locale, vous devez effectuer des étapes supplémentaires avant de pouvoir créer un cluster.
Avant d'utiliser une réservation partagée avec des clusters d'entraînement Vertex AI, assurez-vous que la réservation partagée fonctionne en créant manuellement une VM qui l'utilise.
Si la création de cette VM fonctionne, passez à l'étape suivante.
Dans la configuration de création du cluster, utilisez le nom de la réservation au format suivant : projects/RESERVATION_HOST_PROJECT_ID/zones/RESERVATION_ZONE/reservations/RESERVATION_NAME.
Étapes suivantes
Après avoir sélectionné les options de calcul et de provisionnement pour votre cluster d'entraînement, vous êtes prêt à créer le cluster et à y exécuter une charge de travail.
- Créez une réservation Compute Engine : le modèle
RESERVATIONest utilisé pour allouer des ressources très demandées, comme des GPU. Découvrez comment créer une réservation dans Compute Engine pour obtenir un accès dédié aux ressources dont vous avez besoin. - Créez votre cluster d'entraînement : appliquez les configurations que vous avez apprises en suivant le guide pas à pas pour créer votre premier cluster d'entraînement persistant à l'aide de l'API Vertex AI ou de
gcloud. - Envoyez un job d'entraînement à votre cluster : une fois votre cluster actif, l'étape suivante consiste à exécuter une charge de travail. Envoyez un
CustomJobciblant votre cluster persistant pour l'exécution. - Adaptez votre code pour l'entraînement distribué : pour exploiter pleinement un cluster multinœud, adaptez votre code d'entraînement à un environnement distribué.