Choisir un outil d'orchestration et une option de déploiement

Pour exécuter efficacement des charges de travail d'intelligence artificielle (IA) ou de machine learning (ML), vous devez sélectionner à la fois un orchestrateur de charges de travail et une plate-forme de déploiement. Ces composants fonctionnent comme suit :

  • Un orchestrateur planifie et exécute vos tâches.

  • Une option de déploiement gère un orchestrateur.

Après avoir identifié l'infrastructure GPU (GPU en cluster ou GPU générales) à utiliser pour exécuter vos charges de travail, suivez les conseils de ce document pour identifier l'orchestrateur et le déploiement qui conviennent le mieux à votre charge de travail et à votre niveau de gestion.

Pour consulter les types de machines GPU que vous pouvez utiliser pour exécuter vos charges de travail, consultez Machines GPU.

Comparer les orchestrateurs et les options de déploiement

AI Hypercomputer propose plusieurs orchestrateurs et options de déploiement pour vos instances de calcul. Ces options vont des clusters entièrement gérés qui vous permettent de vous concentrer sur vos charges de travail aux environnements autogérés qui offrent un contrôle précis sur la façon dont vous gérez et mettez à jour vos instances de calcul.

Le tableau suivant compare les orchestrateurs et les options de déploiement que vous pouvez utiliser lors de l'exécution de charges de travail d'IA :

Produit Outil d'orchestration Complexité technique Recommandations Principal avantage
Cluster Director Slurm Faible Chercheurs en IA, data scientists Cycle de vie géré pour les clusters Slurm
Google Kubernetes Engine (GKE) Kubernetes Moyenne à élevée Ingénieurs en ML, ingénieurs de plate-forme Orchestration et scaling de conteneurs
Cluster Toolkit Slurm, Kubernetes Moyenne ML dZevOps, ingénieurs de plate-forme Plans d'infrastructure en tant que code validés
Compute Engine Personnalisée / Aucune Élevée Architectes d'infrastructure Contrôle précis sur le système d'exploitation et la mise en réseau

Choisir un orchestrateur et une option de déploiement

Pour choisir un orchestrateur et une option de déploiement, utilisez l'organigramme suivant :

Arbre de décision pour sélectionner un orchestrateur et une option de déploiement.

L'organigramme précédent pose les questions suivantes :

  1. Souhaitez-vous une orchestration de cluster pour vos charges de travail ?

    • Oui : passez à la question 2.
    • Non : utilisez Compute Engine.
  2. Souhaitez-vous exécuter des applications conteneurisées standards ?

    • Oui : utilisez GKE.
    • Non : passez à la question 3.
  3. Souhaitez-vous que Google gère le cycle de vie du cluster ?

    • Oui : utilisez Cluster Director.
    • Non : utilisez Cluster Toolkit.

Orchestrateurs compatibles

Un orchestrateur automatise la gestion des clusters et élimine le besoin de gérer chaque instance de calcul individuellement. Les orchestrateurs tels que Slurm ou Kubernetes gèrent la mise en file d'attente des tâches, l'allocation des ressources et l'autoscaling.

  • Slurm : un orchestrateur Open Source couramment utilisé pour les charges de travail d'IA, de ML, et de HPC. Vous pouvez utiliser Slurm avec Cluster Toolkit ou Cluster Director.

  • Kubernetes : une plate-forme d'orchestration de conteneurs Open Source. Vous pouvez déployer Kubernetes directement à l'aide de GKE ou via Cluster Toolkit.

  • Personnalisée ou aucune : utilisez Compute Engine si vous préférez un autre orchestrateur ou si vous souhaitez gérer vos instances de calcul sans en utiliser. Cette option offre le plus haut niveau de contrôle, mais vous oblige à configurer, gérer et mettre à jour manuellement vos instances de calcul.

Plates-formes de déploiement compatibles

Après avoir identifié l'orchestrateur et l'option de déploiement recommandés pour votre cas d'utilisation, consultez les descriptions ci-dessous pour vérifier que leurs niveaux de gestion et leurs fonctionnalités répondent aux exigences de votre charge de travail.

Plates-formes gérées et automatisées

Si vous souhaitez éviter les frais généraux liés à la gestion d'un cluster et vous concentrer sur l'exécution de vos charges de travail, utilisez l'une des plates-formes gérées suivantes :

  • Cluster Director: un service entièrement géré qui automatise le cycle de vie des clusters Slurm. Utilisez Cluster Director pour simplifier la configuration de vos clusters Slurm. Cluster Director automatise le cycle de vie de vos clusters afin que vous puissiez vous concentrer sur l'exécution de vos charges de travail d'IA, de ML ou de HPC. Pour en savoir plus, consultez la présentation de Cluster Director.

  • GKE : un environnement Kubernetes géré optimisé pour les charges de travail d'IA et de ML. Utilisez GKE pour orchestrer les charges de travail conteneurisées, vous intégrer au matériel Compute Engine spécialisé et tirer parti des fonctionnalités spécifiques à GKE, telles que la planification tenant compte de la topologie (TAS). Pour en savoir plus, consultez la présentation de GKE.

Plates-formes semi-gérées et autogérées

Si vous avez besoin d'un contrôle précis sur le système d'exploitation, les configurations du noyau ou les versions des pilotes, utilisez une plate-forme semi-gérée ou autogérée :

  • Cluster Toolkit : une boîte à outils Open Source qui fournit des plans validés et personnalisables pour déployer des environnements d'IA et de ML reproductibles. Elle offre une grande flexibilité et un contrôle élevé grâce aux principes d'infrastructure en tant que code (IaC). Pour en savoir plus, consultez la présentation de Cluster Toolkit.

  • Compute Engine : un service de calcul personnalisable qui offre un contrôle maximal pour créer des environnements personnalisés de A à Z. Bien qu'il ne s'agisse pas d'un orchestrateur autonome, Compute Engine sert de base aux utilisateurs qui préfèrent créer et gérer leurs propres piles personnalisées spécialisées. Pour en savoir plus, consultez la présentation de Compute Engine.

Étape suivante