Datarobot fornece ferramentas para implantar seus modelos de aprendizado de máquina em produção. Ao integrar o Datarobot ao New Relic, você poderá instrumentar, analisar, solucionar problemas e otimizar o desempenho do aprendizado de máquina em todo o sistema. Ao observar rigorosamente suas capacidades, você será capaz de reagir rapidamente às mudanças na entrada ou na saída do modelo e no relacionamento entre os dois.
Envie a métrica de desempenho do seu modelo insights do Datarobot para o New Relic e você terá monitoramento em tempo real para seus algoritmos. Você explorará seus dados métricos com gráficos amigáveis ao usuário e aprenderá rapidamente o estado de seus algoritmos para uma resolução de problemas mais rápida e eficiente.
Integre o Datarobot com o New Relic
Primeiro, o Datarobot usa um tópico Kafka para transmitir insights da métrica de desempenho do seu algoritmo de aprendizado de máquina. Em seguida, o conector New Relic (outro algoritmo) transforma o tópico Kafka em uma carga útil de dados métricos para uma conta específica do New Relic.
Datarobot usa Kafka e eventos Flows para enviar dados para New Relic.
Com o evento Flows do Datarobot, quando uma nova mensagem é definida para seu tópico Kafka, seu algoritmo de conector New Relic configurado é chamado. O conector transforma suas métricas e as envia para sua conta New Relic.
Conecte seus dados do Datarobot ao New Relic
Ao integrar a inteligência de incidentes aos seus modelos de machine learning do Datarobot, você pode monitor o desempenho do seu modelo de machine learning.
Comece a monitorar seus fluxos de eventos Datarobot com New Relic.
- Get your API key: Vá para one.newrelic.com > All capabilities > (account menu) > API keys e crie uma chave de usuário para sua conta com um nome significativo. Anote esse nome para mais tarde. Para mais informações sobre chave de API, consulte nossa documentação.
- Create a dashboard: Vá para one.newrelic.com > All capabilities > Dashboards e clique no botão Import dashboards . Copie e cole o código JSON em Paste your JSON field code.
Atualize os valores YOUR_ACCOUNT_ID com o ID da sua conta.
{ "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: Use os documentos do Datarobot para saber como configurar o Datarobot para New Relic.
- Create the New Relic connector algorithm: Use Python 3.8 para criar um algoritmo de conector. Se você é novo na escrita de código para gerar algoritmos, consulte o guia de primeiros passos do Datarobot.
import Datarobot import json from datetime import datetime from 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
Inclui estas dependências:
algorithmia>=1.0.0,<2.0 newrelic_telemetry_sdk==0.4.2
Assim que a construção do algoritmo for concluída, você poderá testá-lo com este exemplo de carga para garantir que ele seja executado com êxito. Sua saída deve ser parecida com isto.
{ "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: Adicione sua chave de API New Relic ao armazenamento secreto do Datarobot.
- Set up Datarobot Event Flows with New Relic: Consulte a documentação do Datarobot sobre como configurar seu algoritmo de conector para enviar fluxos de aprendizado de máquina baseados em eventos para o New Relic.
Este documento ajudou você na instalação?
Monitor seus modelos de aprendizado de máquina
Siga estas etapas para aproveitar ao máximo a observação de seus dados de aprendizado de máquina no New Relic.
- Get your API key: Vá para one.newrelic.com > All capabilities > (user menu) > API keys. Crie uma chave de usuário para sua conta com um nome significativo. Anote esse nome para mais tarde. Para mais informações sobre chave de API, consulte nossa documentação.
- Create a dashboard: Vá para one.newrelic.com > All capabilities > Dashboards e clique no botão Import dashboards . Copie e cole o código JSON em Paste your JSON field code.
Atualize os valores YOUR_ACCOUNT_ID com o ID da sua conta.
{ "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: Depois de criar algum painel, você pode receber alertas sobre seus dados. Para criar uma condição NRQL a partir de um gráfico, clique no menu do gráfico e clique em Create alert condition. Depois de nomear e personalizar sua condição, você poderá adicioná-la a uma política existente ou criar uma nova.
- Get notified: Depois de criar uma condição do alerta, você pode escolher como deseja ser notificado. Veja nossa documentação sobre como configurar o canal de notificação.
- Correlate your incidents: Além da notificação, você pode usar a inteligência do incidente para correlacionar o seu incidente. Veja nossos documentos sobre como correlacionar incidentes usando decisões.