Les équipes techniques qui gèrent des charges de travail d'intelligence artificielle sur la plateforme Kubernetes font face à des pressions constantes à mesure que les clusters de GPU se remplissent et que les files d'attente de tâches par lots (Batch-jobs) augmentent. L'extension de l'infrastructure GPU est souvent l'option la plus rapide, mais la croissance des files d'attente peut refléter des lacunes dans la planification, la capacité de service des modèles ou l'efficacité du choix entre le matériel et les différents modèles. Avant de prendre la décision d'acheter et de provisionner davantage de ressources, les équipes doivent définir des mesures de réussite, des délais et le coût réel de la fourniture des résultats.
Distinguer l'utilisation de la productivité réelle
Le défi ne se limite pas à faire fonctionner les ressources, car un GPU alloué, un processeur occupé et une unité de travail produisant des résultats précieux sont des concepts très différents. Comprendre la relation entre ces états permet aux équipes d'exploiter la capacité actuelle plus efficacement.
- Définition des délais : Certains services, comme les chatbots, nécessitent un service de réponse continu 24h/24, tandis que les tâches d'évaluation de modèles sont liées à des dates de lancement internes spécifiques.
- Objectifs de qualité : Chaque service d'inférence doit posséder un seuil de qualité défini et un objectif de temps de réponse, car obtenir une réponse complète ne signifie pas nécessairement atteindre l'objectif requis pour le client.
Utiliser une planification flexible pour réduire les pics de demande
La flexibilité de la planification aide à atténuer les contraintes sans avoir besoin d'étendre immédiatement l'infrastructure. Par exemple, si quatre unités de traitement graphique sont disponibles pour des tâches par lots pendant une période donnée, et qu'il existe quatre tâches nécessitant chacune deux unités, les exécuter simultanément nécessiterait huit unités ; alors que le chevauchement des délais et la planification de deux tâches d'abord, puis des deux dernières, permet d'accomplir tout le travail à temps en utilisant les mêmes ressources disponibles.
Les équipes bénéficient d'outils comme Kueue pour fournir des points de contrôle d'admission et des politiques, à condition de définir et de représenter précisément les délais et les exigences pour éviter d'avoir à démarrer les tâches prématurément pour les arrêter plus tard.
Mesurer la capacité de service durable et tester les performances
L'augmentation de l'activité des GPU ne reflète pas le volume de productivité supplémentaire disponible. Par conséquent, mesurer la capacité durable nécessite d'effectuer un test de charge représentatif en fixant le matériel et les paramètres de service, tout en faisant varier le taux de demande pour atteindre le taux durable le plus élevé qui maintient les exigences de qualité et les taux de latence acceptables.
Il est également nécessaire de lier les données de coût dérivées d'outils comme OpenCost aux résultats et services réels, en calculant le coût par résultat atteint et vérifié, afin d'aboutir à un modèle opérationnel qui réalise l'équilibre requis entre coût et efficacité.
Qu'est-ce que cette approche change concrètement ?
L'attention des équipes se déplace du simple suivi des taux de consommation du matériel vers l'évaluation de l'efficacité des dépenses liées à des résultats commerciaux réels. Ce changement aide à éviter les investissements en capital inutiles dans du matériel supplémentaire et pousse à l'amélioration de l'efficacité des modèles et des paramètres de planification avant de demander davantage de ressources.