GUIDE Technique

Kubernetes pour les charges de travail ML

Kubernetes est un système open source qui planifie, met à l'échelle et redémarre automatiquement les programmes conteneurisés sur un cluster de machines.

2 minutes de lectureDernière mise à jour

Aperçu

For machine learning, it lets teams pack GPU-hungry training jobs and latency-sensitive model servers onto shared hardware without babysitting individual servers.

Plongée profonde

Initialement construit sur Google pour exécuter des services Web, Kubernetes traite votre cluster comme un grand pool de CPU, de mémoire et de GPU, puis décide quelle machine exécute chaque conteneur. Les équipes de ML s'y appuient car les charges de travail sont lourdes et coûteuses : une exécution de formation peut nécessiter huit GPU pendant six heures, puis rien. Kubernetes planifie ce pod sur un nœud avec des GPU gratuits et, une fois la tâche terminée, il libère le matériel. Il maintient également les serveurs d'inférence en vie, redémarrant les conteneurs en panne et répartissant les répliques sur les machines pour plus de résilience. Les outils construits dessus, comme Kubeflow, Ray et KServe, ajoutent des éléments spécifiques au ML tels que des opérateurs de formation distribuée, le réglage des hyperparamètres et les points de terminaison du modèle de mise à l'échelle automatique, afin que les data scientists travaillent avec des abstractions de niveau supérieur au lieu du YAML brut.

Aperçu technique

Kubernetes attribue des GPU via des plugins de périphérique qui annoncent des ressources telles que nvidia.com/gpu, que le planificateur compare aux requêtes d'un pod. Les failles et les tolérances empêchent les tâches CPU bon marché d'accéder aux nœuds GPU coûteux, tandis que les sélecteurs de nœuds et les règles d'affinité associent la formation à du matériel spécifique. Pour la formation multi-GPU, les opérateurs créent un groupe de pods qui se découvrent et exécutent des frameworks comme PyTorch DDP ou Horovod, échangeant des gradients sur le réseau de cluster à l'aide de NCCL.

Impact stratégique

Coût et budget

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.

Décisions plus claires

La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.

Contrôle qualité

De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.

L'avenir de Kubernetes pour les charges de travail ML

Attendez-vous à une intégration ML plus étroite : une planification groupée qui lance tous les modules de formation distribués en même temps ou aucun, un partage de GPU fractionné et échelonné dans le temps afin que plusieurs tâches légères partagent une seule carte et un placement tenant compte de la topologie qui respecte les interconnexions NVLink rapides. L'inférence sans serveur sur Kubernetes, mettant les points de terminaison à zéro entre les requêtes, arrive à maturité. À mesure que les modèles explosent, les planificateurs se coordonnent de plus en plus entre plusieurs clusters et cloud, et les systèmes de partage équitable basés sur des files d'attente comme Kueue et Volcano deviennent la norme pour gérer la rare capacité GPU.

Mise en œuvre dans le monde réel

Un laboratoire de recherche utilise Kubeflow Training Operator pour lancer une tâche de formation distribuée PyTorch de 32 GPU sur quatre nœuds, puis libère automatiquement les GPU lors de leur convergence.

Une société de commerce électronique utilise son modèle de recommandation avec KServe, qui augmente automatiquement les répliques lors d'une vente flash et les redescend du jour au lendemain.

Une banque exécute des tâches de notation par lots la nuit sous le nom de Kubernetes CronJobs, les mettant en file d'attente sur des nœuds CPU de rechange afin qu'ils n'entrent pas en concurrence avec le trafic de jour.

Une startup utilise Ray sur Kubernetes pour exécuter des balayages d'hyperparamètres parallèles, en lançant des dizaines de pods d'essai de courte durée sur des instances ponctuelles afin de réduire les coûts.

Risques et garde-fous

L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.

Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.

Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.

Feuille de route de mise en œuvre

1

Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.

2

Benchmark dans des conditions de charge et de données réalistes.

3

Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.

4

Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.

Continuez à explorer

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubernetes for ML Workloads quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Démarrer le quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Guide suivant

Tests A/B pour les modèles ML

Questions fréquemment posées

What is Kubernetes for ML Workloads?

Kubernetes est un système open source qui planifie, met à l'échelle et redémarre automatiquement les programmes conteneurisés sur un cluster de machines. Pour l'apprentissage automatique, il permet aux équipes de regrouper les tâches de formation gourmandes en GPU et les serveurs modèles sensibles à la latence sur du matériel partagé sans garder les serveurs individuels.

Quelle est la tâche principale du planificateur Kubernetes pour les charges de travail ML ?

Le planificateur fait correspondre les demandes de ressources d'un pod (CPU, mémoire, GPU) aux nœuds disponibles et place le pod là où il se situe. Il ne touche pas au code ou aux données du modèle.

Comment Kubernetes met-il généralement les GPU à disposition d'un pod ?

Les plugins de périphérique exposent les GPU en tant que ressource planifiable (par exemple, nvidia.com/gpu), permettant aux pods de les demander et au planificateur de suivre la disponibilité.

À quoi servent les teintes et les tolérances couramment utilisées dans un cluster ML ?

Une contamination repousse les pods d’un nœud ; seules les cosses avec une tolérance correspondante peuvent y atterrir. Cela réserve de rares nœuds GPU aux tâches qui nécessitent réellement des GPU.

Quel outil ajoute des fonctionnalités spécifiques au ML, telles que les opérateurs de formation distribuée, en plus de Kubernetes ?

Kubeflow superpose les workflows ML sur Kubernetes, y compris la formation des opérateurs, les pipelines et le réglage, afin que les équipes évitent d'écrire manuellement la configuration du cluster de bas niveau.

Pourquoi Kubernetes est-il bien adapté aux charges de travail de ML en rafale ?

La formation est pointue : beaucoup de GPU brièvement, puis aucun. Kubernetes effectue le travail lorsque les ressources sont libres et les libère une fois terminées, améliorant ainsi l'utilisation.