Activeeon MLOps Dashboard

Déploiement et monitoring de modèles IA en production avec le tableau de bord MLOps

6 min

Jun 23, 2023 from Activeeon

cpu

La surveillance efficace de dizaines ou de centaines de modèles d’IA en production est essentielle pour garantir la performance, l’efficacité et la fiabilité de ces modèles. Avec l’augmentation exponentielle du nombre de modèles déployés, il devient primordial de disposer d’un tableau de bord capable de fournir une vue d’ensemble détaillée, mais aussi une analyse approfondie de chaque modèle individuel.

Dans ce contexte, Activeeon est fier de vous présenter son nouveau tableau de bord MLOps. Ce tableau de bord fait partie intégrante de notre solution ProActive AI Orchestration, un outil essentiel pour ceux qui sont engagés dans la création de pipelines d’IA de bout en bout. Ce nouveau tableau de bord MLOps permet aux équipes d’identifier rapidement les problèmes de performance, d’optimiser l’utilisation des ressources, et d’assurer le suivi en temps réel des métriques clés telles que l’utilisation de la CPU et de la GPU, le taux d’inférence, et bien plus encore. Cette surveillance proactive permet non seulement d’anticiper les problèmes avant qu’ils n’impactent les performances globales, mais elle offre également une meilleure compréhension du comportement des modèles d’IA en production. Cette compréhension peut contribuer à améliorer la qualité et l’efficacité des futurs déploiements de modèles. Ainsi, le ProActive AI Orchestration, avec son tableau de bord MLOps, fournit une solution complète non seulement pour l’entraînement des modèles IA mais aussi pour la gestion et le suivi de vos déploiements en large échelle.

Dans cet article, nous allons présenter le tableau de bord MLOps et ses fonctionnalités, caractéristiques et interfaces. Le tableau de bord se compose de 3 onglets principaux.

1. Model Servers Monitoring

Cet onglet est divisé en deux parties principales : (a) des informations générales sur toutes les instances de serveurs de modèles, (b) des informations particulières sur chaque instance de serveur de modèles et les modèles déployés qui lui sont associées. Dans la première partie, nous présentons six widgets permettant de monitorer l’activité de tous les serveurs de modèles.

Ces widgets traquent les métriques suivantes :

  • Le nombre total de serveurs de modèles en cours d’exécution,
  • Le nombre total de GPUs disponibles,
  • Le nombre total de modèles déployés pour tous les serveurs de modèles en cours d’exécution,
  • Le nombre total et courant d’inférences exécutées,
  • Le temps moyen d’inférence en microsecondes (us),
  • Le taux d’inférences exécutées par minute.
Model Monitoring

Dans la deuxième partie de cet onglet, un tableau affiche toutes les instances de serveurs de modèles en cours d’exécution, ainsi que des informations et des détails sur chaque instance, telles que :

  • ID du serveur de modèles,
  • INFO - qui représente les valeurs des variables utilisées lors du démarrage de l’instance du serveur des modèles,
  • INSTANCE NAME - qui correspond au nom spécifié par l’utilisateur pour le serveur de modèles,
  • STATUS - qui indique l’état actuel du serveur de modèles (“running” → “en cours d’exécution”, “finished” → “terminé”, …),
  • START TIME - qui indique la date et l’heure de lancement du serveur de modèles,
  • NODE - qui indique le nœud sur lequel l’instance est en cours d’exécution,
  • GPUs - qui indique le nombre de GPUs disponibles sur chaque instance,
  • MODEL REGISTRY - qui indique l’emplacement où les modèles d’IA sont stockés pour être utilisés par le serveur de modèles,
  • MODEL CONTROL MODE - qui indique le mode de fonctionnement du serveur de modèles,
  • NB MODELS - qui indique le nombre de modèles déployés pour chaque serveur de modèles,
  • INFERENCES (TOTAL, TIMESPAN) - qui indique le nombre total et courant d’inférences pour chaque serveur de modèles,
  • INFERENCE TIME (CURRENT, MIN, MAX) - qui indique le temps d’inférence actuel, minimum et maximum pour chaque serveur de modèles,
  • INFERENCE RATE (CURRENT, MIN, MAX) - qui indique le taux d’inférence actuel, minimum et maximum pour chaque serveur de modèles,
  • INFERENCE ENDPOINT - qui indique l’URL d’inférence GRPC,
  • ACTIONS - qui indique les actions possibles (telles que Stopper, Déployer un nouveau modèle, …) pour les instances en cours d’exécution et Re-Soumettre pour les instances arrêtées.

Une nouvelle instance de serveur de modèle peut être démarrée directement depuis l’interface, sans avoir à se préoccuper de la complexité de l’infrastructure qui se cache derrière. L’utilisateur a la possibilité de configurer l’instance en utilisant les paramètres de base ou avancés avant de la démarrer.

Lors de la sélection d’une instance de serveur de modèle dans le tableau, un sous-tableau apparaît, détaillant la liste des modèles qui y sont déployés. Pour chaque modèle déployé, le tableau de bord fournit les informations suivantes :

  • SERVER NAME - correspondant au nom de l’instance du serveur de modèles,
  • MODEL NAME - correspondant au nom du modèle déployé,
  • VERSION - correspondant à la version du modèle déployé,
  • STATE - indiquant l’état du modèle déployé (actif ou inactif),
  • DEPLOYMENT TIME - indiquant la date et l’heure du déploiement du modèle,
  • INFERENCES (TOTAL, TIMESPAN) - indiquant le nombre total et courant d’inférences pour chaque modèle,
  • INFERENCE TIME (CURRENT, MIN, MAX) - indiquant le temps d’inférence actuel, minimum et maximum pour chaque modèle,
  • INFERENCE RATE (CURRENT, MIN, MAX) - indiquant le taux d’inférence actuel, minimum et maximum pour chaque modèle,
  • ACTIONS - correspondant aux actions qui peuvent être effectuées sur chaque modèle (telles que l’activation et/ou la désactivation).
Model Monitoring Poll

2. Models Resource Usage

Cet onglet permet de monitorer la consommation des ressources en exposant les métriques relatives aux consommations en termes de CPU et/ou GPU :

  • CPU Resources widgets
model cpu usage

Le premier graphique trace l’utilisation du CPU en pourcentage. Ces pourcentages sont calculés en fonction des ressources du CPU consacrées au traitement des modèles actifs au fil du temps. Le deuxième graphique trace la mémoire consommée pour le traitement des tâches/requêtes exécutées en fonction du temps.

  • GPU Resources widgets

Dans cette partie, les graphiques représentent des informations sur la consommation des ressources GPU par les modèles déployés. Les graphiques “GPU Used Memory” et “GPU Free Memory” montrent la quantité de mémoire utilisée et libre du GPU par les modèles déployés. Le graphique “GPU Utilization” montre le pourcentage des ressources GPU consacrées au traitement des tâches exécutées par les modèles. Ces graphiques fournissent des informations pour tous les GPU en fonctionnement. De plus, l’utilisateur peut connaître la quantité d’énergie consommée par chaque GPU grâce au graphique “GPU Power Usage” (en watts).

model gpu usage

3. Dashboard Resource Usage

Comme dans l’onglet précédent, cet onglet contient des graphiques présentant des informations sur la consommation des ressources par le tableau de bord lui-même.

Les graphiques affichés sont les suivants : Utilisation du CPU, Utilisation de la mémoire, Espace disque utilisé, Espace disque disponible et Trafic réseau.

dashboard resouerce usage

Pour plus d’informations, veuillez consulter ProActive AI Orchestration documentation.


More articles

All our articles