Datarobot fournit des outils pour déployer vos modèles d'apprentissage machine en production. En intégrant Datarobot à New Relic, vous serez en mesure d' intrumenter, d'analyser, de dépanner et d'optimiser les performances de votre machine learning sur l'ensemble de votre système. En observant rigoureusement vos capacités, vous serez en mesure de réagir rapidement aux changements dans l’entrée ou la sortie du modèle et à la relation entre les deux.
Envoyez les mesures de performances de votre modèle de Datarobot Insights à New Relic et vous bénéficierez monitoring en temps réel pour vos algorithmes. Vous explorerez vos données métriques avec des graphiques conviviaux et découvrirez l'état de vos algorithmes en un coup d'œil pour un dépannage plus rapide et plus efficace.
Intégrer Datarobot à New Relic
Tout d’abord, Datarobot utilise une rubrique Kafka pour diffuser Insights à partir des mesures de performance de votre algorithme d’apprentissage machine. Ensuite, le connecteur New Relic (un autre algorithme) transforme la rubrique Kafka en une charge utile de données de métriques pour un compte New Relic spécifique.

Datarobot utilise Kafka et événement Flows pour envoyer des données à New Relic.
Avec les flux d'événements de Datarobot, lorsqu'un nouveau message est défini dans votre rubrique Kafka, votre algorithme de connecteur New Relic configuré est appelé. Le connecteur transforme vos métriques et les envoie à votre compte New Relic.
Connectez vos données Datarobot à New Relic
En intégrant l’intelligence incident à vos modèles d’apprentissage machine Datarobot, vous pouvez monitorer les performances de votre modèle d’apprentissage machine.
Commencez monitoring vos flux d'événements Datarobot avec New Relic.
Get your API key: Accédez à one.newrelic.com > All capabilities > (account menu) > API keys , puis créez une clé utilisateur pour votre compte avec un nom significatif. Notez ce nom pour plus tard. Pour en savoir plus sur l'API clé, consultez notre documentation.
Create a dashboard: Allez à one.newrelic.com > All capabilities > Dashboards, puis cliquez sur le bouton Import dashboards . Copiez et collez le code JSON dans le Paste your JSON field code.
Mettez à jour les valeurs YOUR_ACCOUNT_ID
avec votre ID de compte.
{ "name": "Datarobot Dashboard for Default Metrics", "description": null, "permissions": "PUBLIC_READ_WRITE", "pages": [ { "name": "Datarobot Dashboard for Default Metrics", "description": null, "widgets": [ { "visualization": { "id": "viz.line" }, "layout": { "column": 1, "row": 1, "height": 3, "width": 4 }, "title": "Runtime Duration by Algorithm", "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": YOUR_ACCOUNT_ID, "query": "SELECT average(algorithmia.duration_milliseconds) FROM Metric TIMESERIES FACET `algorithm_name` LIMIT 10 SINCE 1800 seconds ago" } ], "yAxisLeft": { "zero": true } }, "linkedEntityGuids": null }, { "visualization": { "id": "viz.line" }, "layout": { "column": 5, "row": 1, "height": 3, "width": 4 }, "title": "Throughput by Algorithm", "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": YOUR_ACCOUNT_ID, "query": "SELECT count(algorithmia.duration_milliseconds) FROM Metric TIMESERIES FACET `algorithm_name` LIMIT 10 SINCE 1800 seconds ago" } ], "yAxisLeft": { "zero": true } }, "linkedEntityGuids": null } ] } ]}
Configure Datarobot Insights for New Relic: Utilisez la documentation de Datarobot pour savoir comment configurer Datarobot pour New Relic.
Create the New Relic connector algorithm: Utilisez Python 3.8 pour créer un algorithme de connecteur. Si vous débutez dans l'écriture de code pour générer des algorithmes, consultez le guide de démarrage de Datarobot.
import Datarobotimport jsonfrom datetime import datetimefrom newrelic_telemetry_sdk import GaugeMetric, MetricClient
client = Datarobot.client()metric_client = MetricClient(os.environ["newrelic_api_key"])
def convert_str_timestamp_to_epoch(str_time): obj_time = datetime.strptime(str_time, "%Y-%m-%dT%H:%M:%S.%f") return int(obj_time.timestamp() * 1000)
def get_operational_metrics(payload): ALGORITHM_TAGS = { "algorithm_version", "request_id", "time", "algorithm_name", "session_id", "algorithm_owner", } inference_metrics = {key: payload[key] for key in payload.keys() ^ ALGORITHM_TAGS} return inference_metrics
def send_to_newrelic(inference_metrics, insights_payload): newrelic_metrics = [] for key, value in inference_metrics.items(): name = "algorithmia." + key epoch_time = convert_str_timestamp_to_epoch(insights_payload["time"]) tags = { "algorithm_name": insights_payload["algorithm_name"], "algorithm_version": insights_payload["algorithm_version"], "algorithm_owner": insights_payload["algorithm_owner"], "request_id": insights_payload["request_id"], "session_id": insights_payload["session_id"], }
newrelic_metrics.append( GaugeMetric(name=name, value=value, tags=tags, end_time_ms=epoch_time))
response = metric_client.send_batch(newrelic_metrics)response.raise_for_status()
def apply(input): insights_payload = input inference_metrics = get_operational_metrics(insights_payload) send_to_newrelic(inference_metrics, insights_payload) return None
Inclure ces dépendances :
algorithmia>=1.0.0,<2.0newrelic_telemetry_sdk==0.4.2
Une fois la création de votre algorithme terminée, vous pouvez le tester avec cet exemple de charge utile pour vous assurer qu'il s'exécute correctement. Votre résultat devrait ressembler à ceci.
{ "risk_score": 0.2, "duration_milliseconds": 8, "algorithm_version": "1.0.6", "session_id": "rses-f28bb94a-5556-4aeb-a6d2-89493626bf4f", "time": "2021-02-20T00:21:54.867231", "algorithm_name": "credit_card_approval", "request_id": "req-9f5345b4-a1cd-431c-a43a-bd2a06f4a6f4", "algorithm_owner": "asli"}
Configure with your API key: Ajoutez votre clé API New Relic au magasin de secrets Datarobot.
Set up Datarobot Event Flows with New Relic: Consultez la documentation de Datarobot sur la configuration de votre algorithme connecteur pour envoyer des flux d'apprentissage machine basés sur des événements à New Relic.
Ce document vous a-t-il aidé lors de votre installation ?
Monitorez vos modèles d'apprentissage machine
Suivez ces étapes pour tirer le meilleur parti de l’observation de vos données d’apprentissage machine dans New Relic.
Get your API key: Aller à one.newrelic.com > All capabilities > (user menu) > API keys. Créez une clé utilisateur pour votre compte avec un nom significatif. Notez ce nom pour plus tard. Pour en savoir plus sur l'API clé, consultez notre documentation.
Create a dashboard: Allez à one.newrelic.com > All capabilities > Dashboards, puis cliquez sur le bouton Import dashboards . Copiez et collez le code JSON dans le Paste your JSON field code.
Mettez à jour les valeurs YOUR_ACCOUNT_ID
avec votre ID de compte.
{ "name": "Datarobot Dashboard for Default Metrics", "description": null, "permissions": "PUBLIC_READ_WRITE", "pages": [ { "name": "Datarobot Dashboard for Default Metrics", "description": null, "widgets": [ { "visualization": { "id": "viz.line" }, "layout": { "column": 1, "row": 1, "height": 3, "width": 4 }, "title": "Runtime Duration by Algorithm", "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": YOUR_ACCOUNT_ID, "query": "SELECT average(algorithmia.duration_milliseconds) FROM Metric TIMESERIES FACET `algorithm_name` LIMIT 10 SINCE 1800 seconds ago" } ], "yAxisLeft": { "zero": true } }, "linkedEntityGuids": null }, { "visualization": { "id": "viz.line" }, "layout": { "column": 5, "row": 1, "height": 3, "width": 4 }, "title": "Throughput by Algorithm", "rawConfiguration": { "legend": { "enabled": true }, "nrqlQueries": [ { "accountId": YOUR_ACCOUNT_ID, "query": "SELECT count(algorithmia.duration_milliseconds) FROM Metric TIMESERIES FACET `algorithm_name` LIMIT 10 SINCE 1800 seconds ago" } ], "yAxisLeft": { "zero": true } }, "linkedEntityGuids": null } ] } ]}
Set up alerts notifications: Une fois que vous avez créé un dashboard, vous pouvez être alerté sur vos données. Pour créer une condition NRQL à partir d'un graphique, cliquez sur le menu du graphique , puis cliquez sur Create alert condition. Une fois que vous avez nommé et personnalisé votre condition, vous pouvez l'ajouter à une politique existante ou en créer une nouvelle.
Get notified: Une fois que vous avez créé une condition d'alerte, vous pouvez choisir comment vous souhaitez être averti. Consultez notre documentation sur la façon de configurer le canal de notification.
Correlate your incidents: En plus de la notification, vous pouvez utiliser l'intelligence incident pour corréler votre incident. Consultez notre documentation sur la façon de corréler les incidents à l'aide de décisions.