Intégration d’algorithmie: comment surveiller les métriques de performance des modèles avec InfluxDB et Telegraf

Actualités de de l'Intelligence Artificielle - Machine Learning - Objets connectés

Intégration d’algorithmie: comment surveiller les métriques de performance des modèles avec InfluxDB et Telegraf





Algorithmia Insights est une nouvelle fonctionnalité d’Algorithmia Enterprise et fournit un pipeline de métriques qui peut être utilisé pour instrumenter, mesurer et surveiller vos modèles d’apprentissage automatique. La surveillance des mesures de performance de votre modèle peut vous aider dans les efforts globaux de gouvernance de l’IA / ML de votre organisation, et les cas d’utilisation incluent la détection de la dérive du modèle, de la dérive des données et du biais du modèle.

Intégration Algorithmia-InfluxDB

InfluxDB est une plate-forme de séries chronologiques open source qui stocke et interroge des données à des fins de surveillance et d’alerte, des tableaux de bord, de visualisation et d’exploration de données, etc. Telegraf est un agent qui collecte, traite, agrège et écrit des métriques vers et depuis divers systèmes. Vous pouvez utiliser Telegraf pour collecter des mesures de performance de modèle en temps réel à partir d’Algorithmia et les stocker sous forme de données chronologiques dans InfluxDB pouvant être incluses dans des tableaux de bord et des alertes.

Animation montrant l'intégration Algorithmia-InfluxDB

L’intégration Algorithmia-InfluxDB décrite dans cet article vous permet de diffuser des métriques opérationnelles et d’inférence de vos modèles dans Algorithmia vers InfluxDB, où vous pouvez créer des tableaux de bord et des alertes pour analyser les métriques de performance des modèles dans les systèmes de production sur l’ensemble de votre catalogue de modèles.


Comment fonctionne l’intégration Algorithmia-InfluxDB


Lorsque des algorithmes pour lesquels Insights est activé sont interrogés, Algorithmia émet une charge utile de métriques vers un courtier et une rubrique Kafka configurés. L’une des méthodes que vous pouvez utiliser pour déplacer des données de Kafka vers InfluxDB consiste à utiliser Telegraf avec le plugin d’entrée consommateur Kafka.

Vous pouvez suivre les étapes décrites dans l’intégration Algorithmia-InfluxDB pour configurer Telegraf afin de consommer les données Insights de Kafka et de les envoyer à InfluxDB. Toutes les données d’Algorithmia Insights s’afficheront dans InfluxDB en tant que métriques de l’entrée de mesure nommée algorithmia. Cela facilite l’inclusion des données de performance du modèle à partir d’Algorithmia Insights dans les tableaux de bord ou les alertes.

Diagramme montrant le fonctionnement de l'intégration Algorithmia-InfluxDB

Le modèle d’intégration comprend toute la configuration nécessaire pour Telegraf, un compartiment InfluxDB pour stocker les données Insights et un exemple de tableau de bord dans InfluxDB. Cette intégration utilise la nouvelle version d’InfluxDB 2.0, qui comprend une base de données chronologique, des outils d’interface utilisateur et de tableau de bord, ainsi qu’un agent de traitement et de surveillance en arrière-plan dans un seul outil.

La charge utile des métriques d’Algorithmia Insights contient des métriques opérationnelles et d’inférence. Les mesures opérationnelles incluent le nom de l’algorithme, la version, le propriétaire, la durée, l’ID de session et l’ID de demande. Les métriques d’inférence incluent des métriques définies par l’utilisateur qui sont spécifiées par les data scientists en fonction de l’algorithme et du cas d’utilisation particuliers.

Diagramme de la charge utile des métriques

Lorsque cette intégration est utilisée, les métriques opérationnelles liées au nom, à la version et au propriétaire de l’algorithme seront incluses avec chaque point de données sous forme de balises dans InfluxDB. Ces balises peuvent ensuite être utilisées pour filtrer et regrouper les mesures de performances du modèle dans les tableaux de bord et les alertes.

Les étapes d’installation et de configuration de cette intégration peuvent être résumées comme suit:

  1. Configurer Algorithmia pour envoyer des informations à un courtier et à un sujet Kafka

  2. Suivez les étapes documentées dans l’intégration Algorithmia-InfluxDB pour installer le modèle InfluxDB et démarrer Telegraf avec votre hôte / jeton / organisation InfluxDB et votre courtier / sujet Kafka

  3. À partir d’Algorithmia, vous pouvez ensuite instrumenter, publier et interroger des algorithmes pour lesquels Insights est activé

  4. Vérifiez que vos métriques apparaissent dans InfluxDB sous l’entrée de mesure nommée algorithmia


Exemple n ° 1: création d’un tableau de bord avec des mesures de performances du modèle


Les données de séries chronologiques InfluxDB peuvent être interrogées et représentées graphiquement dans des tableaux de bord, qui incluent des types de visualisation tels que des graphiques linéaires, des jauges, des tableaux, etc. Vous pouvez utiliser ces tableaux de bord pour surveiller les performances de vos modèles en temps réel.

Dans cet exemple, nous allons parcourir les étapes pour créer un nouveau tableau de bord dans InfluxDB et visualiser les métriques à partir d’Algorithmia Insights.

Du Planches page dans InfluxDB, cliquez sur le Créer un tableau de bord , puis sélectionnez l’option pour Nouveau tableau de bord:

Image d'un nouveau tableau de bord dans InfluxDB

Donnez un nom à votre nouveau tableau de bord, puis cliquez sur le Ajouter une cellule bouton:

Image de l'ajout d'une cellule dans InfluxDB

Donnez un nom à votre nouvelle cellule de tableau de bord. En haut à gauche du tableau de bord, définissez le type de visualisation sur Graphique + statistique unique. dans le De colonne, sélectionnez le nom du bucket dans lequel vous avez configuré les données Insights pour les enregistrer (dans cet exemple, notre bucket est nommé aperçus). Ensuite Filtre colonne, sélectionnez algorithmie comme nom de la mesure:

Image de la création d'une visualisation dans InfluxDB

Ensuite Filtre colonne, sélectionnez la métrique que vous souhaitez afficher dans la liste des métriques qui s’affichent. Par exemple, nous choisirons la personnalisation risk_score métrique que nous avons définie dans un modèle (ou vous pouvez choisir la métrique opérationnelle par défaut nommée duration_milliseconds). Clique sur le Soumettre bouton pour voir un aperçu de votre requête dans la visualisation:

Image de la sélection d'une métrique dans InfluxDB

En haut à droite du tableau de bord, cliquez sur la coche verte pour enregistrer la cellule et revenir à la vue du tableau de bord:

Image du retour à la vue du tableau de bord dans InfluxDB

Vous pouvez continuer à ajouter différents widgets et à personnaliser votre tableau de bord pour afficher différentes métriques à partir d’Insights:

Image de la personnalisation de votre tableau de bord dans InfluxDB

Vous aurez maintenant toutes les métriques de modèle pertinentes d’Insights affichées au même endroit sur votre tableau de bord avec des mises à jour en temps réel à mesure que les modèles sont interrogés dans Algorithmia.


Exemple n ° 2: création d’une vérification d’alerte pour les métriques de performances du modèle


InfluxDB vous permet de surveiller les données chronologiques et d’envoyer des alertes en créant des contrôles, des règles de notification et des points de terminaison de notification.

Dans cet exemple, nous allons parcourir les étapes pour créer une nouvelle alerte dans InfluxDB qui surveille les métriques d’Algorithmia Insights.

Du Alertes page dans InfluxDB, cliquez sur le + Vérification du seuil bouton:

Image du clic sur le bouton de vérification du seuil dans InfluxDB

Spécifiez un nom pour votre nouveau chèque. dans le De colonne, sélectionnez le compartiment qui contient les données Insights (dans notre exemple, le compartiment est nommé aperçus). Ensuite Filtre colonne, sélectionnez algorithmie comme nom de la mesure:

Image de la sélection d'algorithmie comme nom de mesure dans InfluxDB

Ensuite Filtre colonne, sélectionnez la métrique que vous souhaitez afficher dans la liste des métriques qui s’affichent. Par exemple, nous choisirons la personnalisation risk_score métrique que nous avons définie dans un modèle (ou vous pouvez choisir la métrique opérationnelle par défaut nommée duration_milliseconds). Clique sur le Soumettre bouton pour voir un aperçu de votre requête dans la visualisation:

Image du clic sur le bouton Soumettre dans InfluxDB

Clique sur le Configurer la vérification onglet en haut de l’écran. dans le Seuils colonne, cliquez sur la + CRIT , puis définissez une valeur pour le seuil critique (dans cet exemple, nous définirons le seuil sur 0,70):

Image de la création d'un seuil dans InfluxDB

En haut à droite de l’écran, cliquez sur la coche verte pour enregistrer l’alerte et revenir à la Alertes page:

Image du retour à la vue des alertes dans InfluxDB

Si vos métriques d’Insights dépassent la valeur de seuil spécifiée, une alerte sera déclenchée lors de l’exécution de la vérification:

Image de l'alerte dans InfluxDB

En fonction de votre cas d’utilisation, vous pouvez ensuite configurer des déclencheurs de notification pour les e-mails, Slack, PagerDuty ou d’autres systèmes de notification, et vos actions suggérées peuvent inclure le recyclage et la publication d’une nouvelle version d’un modèle, le retour à une ancienne version d’un modèle, ou d’autres actions pour atténuer le risque de modèle.


Exemple n ° 3: intégration de notifications de métrique de performances de modèle avec Slack


InfluxDB vous permet de créer des points de terminaison de notification et des règles qui se connectent et envoient des alertes à des services tiers tels que Slack, PagerDuty ou un point de terminaison HTTP personnalisé.

Dans cet exemple, nous allons parcourir les étapes pour créer une nouvelle notification dans InfluxDB qui envoie une alerte à un canal Slack lorsque vos métriques d’Insights dépassent la valeur de seuil spécifiée.

Suivez les étapes de la documentation Slack pour configurer une nouvelle application Slack, activez Webhooks entrantset créez un nouveau URL du Webhook entrant. Sauver la URL du Webhook entrant pour une utilisation ultérieure dans les étapes suivantes.

Du Alertes page dans InfluxDB, cliquez sur le Points de terminaison de notification languette:

Image de l'onglet Points de terminaison de notification dans InfluxDB

Clique sur le Créer , puis configurez votre point de terminaison de notification comme suit:

  1. Choisir Mou comme le Destination
  2. Spécifiez un Nom
  3. Collez le URL du Webhook entrant que vous avez généré à partir de Slack plus tôt

Une fois que vous avez terminé, cliquez sur le Créer un point de terminaison de notification bouton:

Image d'un clic sur le bouton Créer un point de terminaison de notification dans InfluxDB

Du Alertes page dans InfluxDB, cliquez sur le Règles de notification languette:

Image de l'onglet Règles de notification dans InfluxDB

Clique sur le Créer , puis configurez votre règle de notification comme suit:

  1. Spécifiez un Nom
  2. Choisissez un intervalle sous Planifier tous les

Une fois que vous avez terminé, cliquez sur le Créer une règle de notification bouton:

Image d'un clic sur le bouton Créer une règle de notification dans InfluxDB

Si vos métriques d’Insights dépassent la valeur de seuil spécifiée, une alerte sera déclenchée lors de l’exécution de la vérification et InfluxDB enverra une alerte au canal Slack configuré, où vous pouvez prendre d’autres mesures:

Image de l'alerte dans Slack

Lors de la réception d’une alerte dans Slack, vous pouvez alors vous entraîner à nouveau et publier une nouvelle version d’un modèle, revenir à une ancienne version d’un modèle ou prendre d’autres actions dans Algorithmia pour atténuer les risques liés au modèle.


Démarrez avec Algorithmia Insights


Algorithmia Insights facilite la surveillance et l’alerte sur les mesures de performance des modèles en s’intégrant aux plates-formes d’observabilité populaires telles que InfluxDB. Les exemples et cas d’utilisation décrits dans cet article montrent comment vous pouvez développer des tableaux de bord et des alertes pour surveiller les mesures de performance des modèles dans les systèmes de production sur l’ensemble de votre catalogue de modèles.

Vous pouvez utiliser cette intégration et les exemples décrits ici pour créer des tableaux de bord et des alertes initiaux, puis implémenter des fonctionnalités de surveillance supplémentaires telles que des notifications personnalisées, des tâches planifiées, des intégrations tierces et d’autres fonctionnalités d’InfluxDB. Démarrez avec l’intégration Algorithmia-InfluxDB en visitant la page d’intégration sur InfluxDB et en suivant les étapes documentées.

Vous voulez le voir en action? Regardez notre webinaire à la demande maintenant pour une présentation étape par étape d’Algorithmia Insights et une démonstration de la façon de commencer aujourd’hui.