Datarobot proporciona herramientas para implementar sus modelos de aprendizaje automático en producción. Al integrar Datarobot con New Relic, podrá instrumentar, analizar, solucionar problemas y optimizar el rendimiento de su aprendizaje automático en todo su sistema. Al observar rigurosamente sus capacidades, podrá reaccionar rápidamente a los cambios en la entrada o salida del modelo y la relación entre ambas.
Envía tu modelo de rendimiento métrico de Datarobot Insights a New Relic y tendrás monitoreo en tiempo real de tus algoritmos. Explorará sus datos métricos con gráficos fáciles de usar y conocerá el estado de sus algoritmos de un vistazo para una resolución de problemas más rápida y eficiente.
Integrar Datarobot con New Relic
En primer lugar, Datarobot utiliza un tema de Kafka para transmitir Insights desde la métrica de rendimiento de su algoritmo de aprendizaje automático. Luego, el conector New Relic (otro algoritmo) transforma el tema de Kafka en una carga útil de datos métricos para una cuenta New Relic específica.
Datarobot usa Kafka y evento Flows para enviar datos a New Relic.
Con el evento Flows de Datarobot, cuando se establece un nuevo mensaje en su tema de Kafka, se llama al algoritmo del conector New Relic configurado. El conector transforma tus métricas y las envía a tu cuenta New Relic.
Conecte sus datos de Datarobot a New Relic
Al integrar la inteligencia de incidentes con sus modelos de aprendizaje automático de Datarobot, puede monitor el rendimiento de su modelo de aprendizaje automático.
Comience a monitorear los flujos de eventos de su Datarobot con New Relic.
- Get your API key: Vaya a one.newrelic.com > All capabilities > (account menu) > API keys y luego cree una clave de usuario para su cuenta con un nombre significativo. Tome nota de este nombre para más adelante. Para obtener más información sobre la clave de API, consulte nuestros documentos.
- Create a dashboard: Vaya a one.newrelic.com > All capabilities > Dashboards y luego haga clic en el botón Import dashboards . Copie y pegue el código JSON en el Paste your JSON field code.
Actualice los valores YOUR_ACCOUNT_ID con su ID de cuenta.
{ "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: Utilice los documentos de Datarobot para saber cómo configurar Datarobot para New Relic.
- Create the New Relic connector algorithm: Utilice Python 3.8 para crear un algoritmo de conector. Si es nuevo en la escritura de código para generar algoritmos, consulte la guía de introducción de 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
Incluya estas dependencias:
algorithmia>=1.0.0,<2.0 newrelic_telemetry_sdk==0.4.2
Una vez que finalice la compilación de su algoritmo, puede probarlo con esta carga útil de muestra para asegurarse de que se ejecute correctamente. Su salida debería verse así.
{ "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: Agregue su clave de API New Relic al almacén secreto de Datarobot.
- Set up Datarobot Event Flows with New Relic: Consulte la documentación de Datarobot sobre cómo configurar su algoritmo de conector para enviar flujos de aprendizaje automático basados en eventos a New Relic.
¿Te ha ayudado este documento con la instalación?
Monitor sus modelos de aprendizaje automático
Siga estos pasos para aprovechar al máximo la observación de sus datos de aprendizaje automático en New Relic.
- Get your API key: Vaya a one.newrelic.com > All capabilities > (user menu) > API keys. Cree una clave de usuario para su cuenta con un nombre significativo. Tome nota de este nombre para más adelante. Para obtener más información sobre la clave de API, consulte nuestros documentos.
- Create a dashboard: Vaya a one.newrelic.com > All capabilities > Dashboards y luego haga clic en el botón Import dashboards . Copie y pegue el código JSON en el Paste your JSON field code.
Actualice los valores YOUR_ACCOUNT_ID con su ID de cuenta.
{ "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: Una vez que haya creado un panel, podrá recibir alertas sobre sus datos. Para crear una condición NRQL a partir de un gráfico, haga clic en el menú del gráfico. y luego haga clic en Create alert condition. Una vez que haya nombrado y personalizado su condición, puede agregarla a una póliza existente o crear una nueva.
- Get notified: Una vez que haya creado una condición de alerta, puede elegir cómo desea que se le notifique. Consulte nuestros documentos sobre cómo configurar el canal de notificación.
- Correlate your incidents: Además de la notificación, puede utilizar la inteligencia de incidentes para correlacionar su incidente. Consulte nuestros documentos sobre cómo correlacionar incidentes mediante decisiones.