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.
Gouvernance des tâches pour le déploiement du modèle sur HyperPod
Cette section explique comment optimiser vos clusters Amazon SageMaker HyperPod EKS partagés pour les charges de travail d'inférence en temps réel. Vous apprendrez à configurer les fonctionnalités de gouvernance des tâches de Kueue, notamment la gestion des quotas, la planification des priorités et les politiques de partage des ressources, afin de garantir que vos charges de travail d'inférence obtiennent les ressources GPU dont elles ont besoin en cas de pics de trafic, tout en maintenant une répartition équitable entre les activités de formation, d'évaluation et de test de vos équipes. Pour des informations plus générales sur la gouvernance des tâches, consultezSageMaker HyperPod gouvernance des tâches.
Comment fonctionne la gestion de la charge de travail d'inférence
Pour gérer efficacement les pics de trafic d'inférence en temps réel dans HyperPod les clusters EKS partagés, mettez en œuvre les stratégies de gouvernance des tâches suivantes en utilisant les fonctionnalités existantes de Kueue.
Configuration des classes prioritaires
Définissez des classes de priorité dédiées pour les charges de travail d'inférence présentant des pondérations élevées (100, par exemple) afin de garantir que les modules d'inférence sont admis et planifiés avant les autres types de tâches. Cette configuration permet aux charges de travail d'inférence de devancer les tâches moins prioritaires lors du chargement du cluster, ce qui est essentiel pour maintenir les exigences de faible latence lors des pics de trafic.
Dimensionnement et allocation des quotas
Réservez suffisamment de ressources GPU au sein de votre équipe ClusterQueue
pour faire face aux pics d'inférence attendus. Pendant les périodes de faible trafic d'inférence, les ressources de quota inutilisées peuvent être temporairement allouées aux tâches d'autres équipes. Lorsque la demande d'inférence augmente, ces ressources empruntées peuvent être récupérées pour prioriser les modules d'inférence en attente. Pour plus d'informations, consultez Cluster Queue
Stratégies de partage des ressources
Choisissez entre deux approches de partage des quotas en fonction de vos besoins :
-
Contrôle strict des ressources : désactivez le prêt et l'emprunt par quotas pour garantir que la capacité GPU réservée est toujours disponible pour vos charges de travail. Cette approche nécessite de dimensionner des quotas suffisamment importants pour gérer indépendamment les pics de demande et peut entraîner l'inactivité des nœuds pendant les périodes de faible trafic.
-
Partage flexible des ressources : autorisez l'emprunt de quotas pour utiliser les ressources inutilisées d'autres équipes en cas de besoin. Les capsules empruntées sont marquées comme étant préemptives et peuvent être expulsées si l'équipe prêteuse récupère leur capacité.
Préemption intra-équipe
Activez la préemption au sein de l'équipe lorsque vous exécutez des charges de travail mixtes (évaluation, formation et inférence) avec le même quota. Kueue peut ainsi préempter les tâches moins prioritaires au sein de votre équipe afin de prendre en compte les modules d'inférence les plus prioritaires, garantissant ainsi une inférence en temps réel sans dépendre d'un emprunt de quotas externe. Pour plus d'informations, consultez la section Préemption
Exemple de configuration de la charge de travail d'inférence
L'exemple suivant montre comment Kueue gère les ressources GPU dans un SageMaker HyperPod cluster Amazon partagé.
Configuration du cluster et définition des politiques
La configuration de votre cluster est la suivante :
-
Équipe A : quota de 10 GPU P4
-
Équipe B : quota de 20 GPU P4
-
Provisionnement statique : pas de mise à l'échelle automatique
-
Capacité totale : 30 P4 GPUs
Le pool de GPU partagé utilise cette politique de priorité :
-
Inférence en temps réel : Priorité 100
-
Formation : Priorité 75
-
Évaluation : Priorité 50
Kueue applique les quotas d'équipe et les classes de priorité, en activant la préemption et l'emprunt de quotas.
État initial : utilisation normale du cluster
En fonctionnement normal :
-
L'équipe A exécute des tâches de formation et d'évaluation sur les 10 P4 GPUs
-
L'équipe B exécute des inférences (10 P4) et des évaluations (10 P4) en temps réel dans les limites de son quota de 20 GPU
-
Le cluster est pleinement utilisé avec tous les emplois admis et en cours
Pic d'inférence : l'équipe B a besoin de plus GPUs
Lorsque l'équipe B connaît un pic de trafic, des modules d'inférence supplémentaires nécessitent 5 GPUs P4 supplémentaires. Kueue détecte que les nouveaux pods sont :
-
Dans l'espace de noms de l'équipe B
-
Priorité 100 (inférence en temps réel)
-
En attente d'admission en raison de contraintes de quotas
Le processus de réponse de Kueue choisit entre deux options :
Option 1 : emprunt de quotas - Si l'équipe A n'utilise que 6 de ses 10 P4, Kueue peut admettre les pods de l'équipe B en utilisant les 4 P4 inactifs. Cependant, ces ressources empruntées sont préemptibles : si l'équipe A soumet des offres pour atteindre son quota complet, Kueue expulse les modules d'inférence empruntés par l'équipe B.
Option 2 : auto-préemption (recommandée) - L'équipe B exécute des tâches d'évaluation peu prioritaires (priorité 50). Lorsque des modules d'inférence hautement prioritaires attendent, Kueue préempte les tâches d'évaluation dans les limites du quota de l'équipe B et admet les modules d'inférence. Cette approche permet une allocation sûre des ressources sans risque d'expulsion externe.
Kueue suit un processus en trois étapes pour allouer les ressources :
-
Contrôle des quotas
Question : L'équipe B dispose-t-elle d'un quota inutilisé ?
-
Oui → Admettez les capsules
-
Non → Passez à l'étape 2
-
-
Auto-préemption au sein de l'équipe B
Question : Les tâches moins prioritaires de l'équipe B peuvent-elles être préemptées ?
-
Oui → Préemptez les tâches d'évaluation (priorité 50), libérez 5 P4 et admettez des modules d'inférence
-
Non → Passez à l'étape 3
Cette approche permet de maintenir les charges de travail dans les limites du quota garanti par l'équipe B, évitant ainsi les risques d'expulsion externes.
-
-
Emprunter auprès d'autres équipes
Question : Y a-t-il un quota d'inutilisé que l'on peut emprunter à d'autres équipes ?
-
Oui → Admettre avoir utilisé un quota emprunté (marqué comme préemptif)
-
Non → Le pod reste en
NotAdmitted
état
-