Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gérez le calcul des AI/ML charges de travail sur Amazon EKS à l'aide de groupes de nœuds
Astuce
Inscrivez-vous
Cette section explique comment gérer le calcul accéléré (AWS Trainium, GPU NVIDIA) pour les charges de travail d'entraînement et d'inférence liées à l'IA à l'aide de groupes de nœuds gérés par Amazon EKS ou de nœuds autogérés.
Les groupes de nœuds gérés par EKS et les nœuds autogérés utilisent EC2 Auto Scaling Groups (ASG). Les groupes de nœuds gérés par EKS disposent d'API EKS dédiées à la création, à la mise à jour et à la suppression de nœuds, ainsi que d'une fonctionnalité de réparation des nœuds et de crochets de fin de cycle de vie intégrés. Les nœuds autogérés EKS sont déployés et gérés directement via les API EC2.
Ces options vous permettent de définir le type d'instance, le nombre souhaité, les limites de dimensionnement et le modèle de lancement EC2 dès le départ. Envisagez d'utiliser des groupes de nœuds gérés par EKS ou des nœuds autogérés si vous avez également des charges de travail autres que celles d'EKS et que vous préférez une configuration cohérente via des modèles de lancement EC2. Les groupes de nœuds EKS conviennent à la formation et au réglage précis des charges de travail lorsque l'encombrement de calcul accéléré est connu à l'avance. Notez que le mode automatique EKS et Karpenter prennent également en charge le provisionnement de capacité statique, voir Gérez le calcul des AI/ML charges de travail avec EKS Auto Mode et Karpenter pour plus d'informations.
Les groupes de nœuds gérés et les nœuds autogérés par EKS prennent en charge toutes les options d'achat de calcul accéléré (SpotOn-Demand, réservations de On-Demand capacité, blocs de capacité pour le ML). Vous créez un groupe de nœuds gérés ou autogérés distinct par type de capacité, chacun ayant son propre modèle de lancement, ses propres types d'instances et sa propre configuration de dimensionnement. Cela vous permet de ASG-backed contrôler explicitement chaque pool de capacités sans logique de provisionnement dynamique hétérogène.
Groupes de nœuds gérés par EKS et nœuds autogérés
Le choix entre les groupes de nœuds gérés par EKS et les nœuds autogérés dépend du niveau de personnalisation et de contrôle dont vous avez besoin. Les groupes de nœuds gérés par EKS permettent de personnaliser un sous-ensemble du modèle de lancement EC2, tandis que les nœuds autogérés prennent en charge l'ensemble du modèle de lancement EC2. Si vous n'avez aucune raison précise de personnaliser et de gérer vous-même le cycle de vie des nœuds, commencez par les groupes de nœuds gérés par EKS et passez aux nœuds autogérés uniquement lorsqu'une exigence spécifique l'y oblige.
Utilisez des groupes de nœuds gérés lorsque : vous souhaitez qu'EKS gère la sélection des AMI, le démarrage des nœuds, les mises à jour continues, la réparation des nœuds et les flux de travail de vidange progressifs en votre nom. Les groupes de nœuds gérés par EKS constituent le point de départ recommandé si vous ne préférez pas utiliser le mode automatique d'EKS ou Karpenter pour les charges de travail de formation et d'inférence. Lorsque vous utilisez Capacity Blocks for ML, les groupes de nœuds gérés par EKS créent automatiquement une politique de dimensionnement planifiée qui vide le groupe de nœuds 40 minutes avant la fin de la réservation, éliminant ainsi le besoin d'utiliser le gestionnaire de terminaison de AWS nœuds
Utilisez des groupes de nœuds autogérés lorsque : vous avez besoin d'un contrôle total sur le modèle de lancement EC2, l'AMI, les paramètres du noyau, la configuration d'exécution du conteneur ou les scripts de démarrage personnalisés. Les scénarios ML courants incluent le réglage des paramètres du noyau et de la carte réseau pour l'entraînement distribué avec Elastic Fabric Adapter (EFA) ou l'intégration avec un contrôleur de cycle de vie des nœuds personnalisé. Self-managed les nœuds vous offrent la flexibilité nécessaire pour expédier toutes les données utilisateur et tous les profils d'instance IAM dont vous avez besoin, mais vous êtes responsable des mises à jour, des politiques de dimensionnement planifiées et des hooks de cycle de vie tels que le AWS Node Termination Handler
GPU de réserve avec blocs de capacité pour le machine learning
Les blocs de capacité pour l'apprentissage automatique (ML) vous permettent de réserver des instances de GPU à une date future pour des charges de travail d'entraînement ou d'inférence limitées dans le temps. Pour plus d'informations, consultez Capacity Blocks for ML dans le guide de l'utilisateur Amazon EC2.
Vous pouvez utiliser les réservations Capacity Block via des groupes de nœuds gérés par EKS et des nœuds autogérés. La configuration du modèle de lancement EC2 est la même dans les deux cas. Le flux de travail de création de nœuds, le comportement de mise à l'échelle réduite et les crochets du cycle de vie liés à l'arrêt de la charge de travail diffèrent selon les options de provisionnement.
Considérations
-
Les blocs de capacité ne sont disponibles que pour certains types d'instances et AWS certaines régions Amazon EC2. Pour plus d'informations, consultez la section Conditions préalables à l'utilisation des blocs de capacité.
-
Les blocs de capacité sont zonaux. Lors de la création du groupe de nœuds, vous devez utiliser le sous-réseau dans la même zone de disponibilité (AZ) que la réservation du bloc de capacité.
-
Si vous créez un groupe de nœuds avant que la réservation du bloc de capacité ne soit active, définissez la capacité souhaitée sur
0lors de la création du groupe de nœuds. -
Pour avoir le temps de drainer progressivement la charge de travail, planifiez le passage à zéro plus de 30 minutes avant la fin de la réservation du bloc de capacités. EC2 commence à fermer les instances 30 minutes avant la fin de la réservation.
Créez des groupes de nœuds avec Capacity Blocks for ML
Les groupes de nœuds gérés par EKS et les nœuds autogérés nécessitent l'utilisation d'un modèle de lancement EC2 personnalisé qui cible la réservation du bloc de capacité. Vous trouverez ci-dessous les champs minimaux obligatoires pour les groupes de nœuds gérés par EKS et les nœuds autogérés. Des champs supplémentaires sont obligatoires pour les nœuds autogérés, comme indiqué dans les étapes relatives Self-managed aux nœuds ci-dessous.
Ils LaunchTemplateData doivent inclure :
-
InstanceMarketOptionsavecMarketTypedéfini sur"capacity-block" -
CapacityReservationSpecification: CapacityReservationTargetavecCapacityReservationIddéfini sur l'ID du bloc de capacité. Par exemple,cr-0123456789abcdef0. -
InstanceTypedéfini sur le type d'instance de votre réservation Capacity Block. Par exemple,p5.48xlarge.
Ces exigences sont illustrées dans les exemples ci-dessous pour créer le modèle de lancement pour les groupes de nœuds gérés par EKS et les nœuds autogérés.