• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Datarobot MLOps 통합

Datarobot은 기계 학습 모델을 프로덕션에 배포하기 위한 도구를 제공합니다. Datarobot을 New Relic과 통합하면 전체 시스템에서 기계 학습 성능을 계측, 분석, 문제 해결 및 최적화할 수 있습니다. 당신의 능력을 엄격하게 관찰함으로써 당신은 모델의 입력이나 출력과 둘 사이의 관계의 변화에 빠르게 반응할 수 있을 것입니다.

Datarobot Insights에서 New Relic으로 모델 성능 메트릭을 보내면 알고리즘에 대한 실시간 모니터링을 할 수 있습니다. 사용자 친화적인 차트로 측정항목 데이터를 탐색하고 알고리즘 상태를 한 눈에 파악하여 보다 빠르고 효율적인 문제 해결을 할 수 있습니다.

Datarobot을 New Relic과 통합

첫째, Datarobot은 Kafka 주제를 사용하여 기계 학습 알고리즘의 성능 메트릭에서 Insights를 스트리밍합니다. 그런 다음 New Relic 커넥터(또 다른 알고리즘)는 Kafka 주제를 특정 New Relic 계정에 대한 메트릭 데이터 페이로드로 변환합니다.

Datarobot은 Kafka 및 이벤트 흐름을 사용하여 데이터를 New Relic으로 보냅니다.

Datarobot의 이벤트 흐름 을 사용하면 새 메시지가 Kafka 주제로 설정되면 구성된 New Relic 커넥터 알고리즘이 호출됩니다. 커넥터는 메트릭을 변환하여 New Relic 계정으로 보냅니다.

Datarobot 데이터를 New Relic에 연결

사고 인텔리전스를 Datarobot 기계 학습 모델과 통합하여 기계 학습 모델 성능을 모니터링할 수 있습니다.

New Relic으로 Datarobot 이벤트 흐름 모니터링을 시작하십시오.

  1. API 키 가져오기: one.newrelic.com 계정 메뉴에서 API 키 를 클릭한 다음 의미 있는 이름으로 계정에 대한 사용자 키를 만듭니다. 나중을 위해 이 이름을 기록해 두십시오. API 키에 대한 자세한 내용 은 문서를 참조하십시오 .
  2. 대시보드 만들기: one.newrelic.com 에서 Dashboards 로 이동한 다음 대시 보드 가져오기 버튼을 클릭합니다. JSON 코드를 복사 하여 JSON 필드 코드 붙여넣기 에 붙여넣습니다.

계정 ID로 YOUR_ACCOUNT_ID 값을 업데이트하십시오.

{
"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
}
]
}
]
}
  1. Datarobot Insights for New Relic 구성: Datarobot의 문서 에서 New Relic용 Datarobot을 구성하는 방법을 확인하세요.
  2. New Relic 커넥터 알고리즘 생성: Python 3.8을 사용하여 커넥터 알고리즘을 생성합니다. 알고리즘을 생성하는 코드를 처음 작성하는 경우 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

다음 종속성을 포함합니다.

algorithmia>=1.0.0,<2.0
newrelic_telemetry_sdk==0.4.2

알고리즘 빌드가 완료되면 이 샘플 페이로드로 테스트하여 성공적으로 실행되는지 확인할 수 있습니다. 출력은 다음과 같아야 합니다.

{
"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"
}
  1. API 키로 구성: Datarobot 비밀 저장소 에 New Relic API 키를 추가합니다.
  2. New Relic으로 Datarobot 이벤트 흐름 설정: 이벤트 기반 기계 학습 흐름을 New Relic으로 보내기 위한 커넥터 알고리즘 설정에 대한 Datarobot의 문서 를 참조하십시오.

기계 학습 모델 모니터링

New Relic에서 머신 러닝 데이터를 최대한 활용하려면 다음 단계를 따르세요.

  1. API 키 가져오기: one.newrelic.com 계정 메뉴에서 API 키 를 클릭한 다음 의미 있는 이름으로 계정에 대한 사용자 키를 만듭니다. 나중을 위해 이 이름을 기록해 두십시오. API 키에 대한 자세한 내용 은 문서를 참조하십시오 .
  2. 대시보드 만들기: one.newrelic.com 에서 Dashboards 로 이동한 다음 대시 보드 가져오기 버튼을 클릭합니다. JSON 코드를 복사 하여 JSON 필드 코드 붙여넣기 에 붙여넣습니다.

계정 ID로 YOUR_ACCOUNT_ID 값을 업데이트하십시오.

{
"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
}
]
}
]
}
  1. 경고 알림 설정: 대시보드를 생성하면 데이터에 대한 경고를 받을 수 있습니다. 차트에서 NRQL 경고 조건을 생성하려면 차트 메뉴를 클릭하십시오. 을 클릭한 다음 경고 조건 생성 을 클릭합니다. 조건의 이름을 지정하고 사용자 정의한 후에는 기존 정책에 추가하거나 새 정책을 생성할 수 있습니다.
  2. 알림 받기: 알림 조건을 만든 후에 알림 방법을 선택할 수 있습니다. 알림 채널을 설정하는 방법 에 대한 문서를 참조하세요.
  3. 인시던트 상관 관계: 알림 외에도 인시던트 인텔리전스를 사용하여 인시던트의 상관 관계를 지정할 수 있습니다. 의사결정을 사용하여 사건을 연관시키는 방법에 대한 문서를 참조하십시오.
Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.