사용자 정의 평가를 작성하려면 사용자 정의 메트릭 세트를 선택하여 모델 배치 및 비즈니스 애플리케이션을 양적으로 추적하십시오. 이러한 사용자 지정 지표를 정의하고 다른 유형의 평가에 의해 생성된 지표와 함께 사용할 수 있습니다.
다음 방법 중 하나를 사용하여 사용자 정의 평가 및 메트릭을 관리할 수 있습니다.
Python SDK를 사용하여 사용자 정의 메트릭 관리
Python SDK를 사용하여 사용자 정의 메트릭을 관리하려면 다음 태스크를 수행해야 합니다.
다음 고급 튜토리얼에서는 이를 수행하는 방법을 보여줍니다.
언제든지 다시 사용자 정의 모니터링을 사용 안함 및 사용으로 설정할 수 있습니다. 더 이상 필요하지 않으면 사용자 정의 모니터를 제거할 수 있습니다.
자세한 정보는 Python SDK 문서를 참조하십시오.
1단계: 메트릭 정의가 있는 사용자 정의 모니터
사용자 정의 메트릭을 사용하여 시작하기 전에 메트릭을 추적하는 프로세서인 사용자 정의 모니터를 등록해야 합니다. 또한 메트릭 자신을 정의해야 합니다.
get_definition(monitor_name)
메소드를 사용하여Metric
및Tag
오브젝트를 가져오십시오.metrics
메소드를 사용하여name
,thresholds
및type
값이 필요한 메트릭을 정의하십시오.tags
메소드를 사용하여 메타데이터를 정의하십시오.
다음 코드는 이전에 언급된 작동하는 샘플 노트북에서 왔습니다.
def get_definition(monitor_name):
monitor_definitions = wos_client.monitor_definitions.list().result.monitor_definitions
for definition in monitor_definitions:
if monitor_name == definition.entity.name:
return definition
return None
monitor_name = 'my model performance'
metrics = [MonitorMetricRequest(name='sensitivity',
thresholds=[MetricThreshold(type=MetricThresholdTypes.LOWER_LIMIT, default=0.8)]),
MonitorMetricRequest(name='specificity',
thresholds=[MetricThreshold(type=MetricThresholdTypes.LOWER_LIMIT, default=0.75)])]
tags = [MonitorTagRequest(name='region', description='customer geographical region')]
existing_definition = get_definition(monitor_name)
if existing_definition is None:
custom_monitor_details = wos_client.monitor_definitions.add(name=monitor_name, metrics=metrics, tags=tags, background_mode=False).result
else:
custom_monitor_details = existing_definition
수행 방법을 확인하려면 client.data_mart.monitors.list()
명령을 실행하여 새로 작성된 모니터 및 메트릭이 올바르게 구성되었는지 확인하십시오.
다음 명령을 실행하여 모니터 ID를 얻을 수도 있습니다.
custom_monitor_id = custom_monitor_details.metadata.id
print(custom_monitor_id)
보다 자세한 보기는 다음 명령을 실행하십시오.
custom_monitor_details = wos_client.monitor_definitions.get(monitor_definition_id=custom_monitor_id).result
print('Monitor definition details:', custom_monitor_details)
2단계: 사용자 정의 모니터를 사용으로 설정
그런 다음 사용자 정의 모니터를 구독에 사용 가능으로 설정해야 합니다. 그러면 모니터가 활성화되고 임계점을 설정합니다.
target
메소드를 사용하여Threshold
오브젝트를 가져오십시오.thresholds
메소드를 사용하여 메트릭lower_limit
값을 설정하십시오.metric_id
값을 매개변수 중 하나로 제공하십시오. 기억하지 않는 경우 항상custom_monitor_details
명령을 사용하여 이전 예제에 표시된 대로 세부사항을 가져올 수 있습니다.
다음 코드는 이전에 언급된 작동하는 샘플 노트북에서 왔습니다.
target = Target(
target_type=TargetTypes.SUBSCRIPTION,
target_id=subscription_id
)
thresholds = [MetricThresholdOverride(metric_id='sensitivity', type = MetricThresholdTypes.LOWER_LIMIT, value=0.9)]
custom_monitor_instance_details = wos_client.monitor_instances.create(
data_mart_id=data_mart_id,
background_mode=False,
monitor_definition_id=custom_monitor_id,
target=target
).result
구성 세부사항을 확인하려면 subscription.monitoring.get_details(monitor_uid=monitor_uid)
명령을 사용하십시오.
3단계: 메트릭 값 저장
사용자 지정 메트릭을 서비스 인스턴스가 있는 지역에 저장하거나 저장해야 합니다.
metrics
메소드를 사용하여 어떤 메트릭을 저장 중인지를 설정하십시오.subscription.monitoring.store_metrics
메소드를 사용하여 메트릭을 확약하십시오.
다음 코드는 이전에 언급된 작동하는 샘플 노트북에서 왔습니다.
from datetime import datetime, timezone, timedelta
from ibm_watson_openscale.base_classes.watson_open_scale_v2 import MonitorMeasurementRequest
custom_monitoring_run_id = "11122223333111abc"
measurement_request = [MonitorMeasurementRequest(timestamp=datetime.now(timezone.utc),
metrics=[{"specificity": 0.78, "sensitivity": 0.67, "region": "us-south"}], run_id=custom_monitoring_run_id)]
print(measurement_request[0])
published_measurement_response = wos_client.monitor_instances.measurements.add(
monitor_instance_id=custom_monitor_instance_id,
monitor_measurement_request=measurement_request).result
published_measurement_id = published_measurement_response[0]["measurement_id"]
print(published_measurement_response)
사용자 정의 모니터를 모두 나열하려면 다음 명령을 실행하십시오.
published_measurement = wos_client.monitor_instances.measurements.get(monitor_instance_id=custom_monitor_instance_id, measurement_id=published_measurement_id).result
print(published_measurement)
watsonx.governance 사용자 지정 메트릭 관리하기
1단계: 메트릭 그룹 추가
- 구성 탭에서 메트릭 그룹 추가를 클릭하십시오.
- 메트릭 그룹을 수동으로 구성하려면 새 그룹 구성을 클릭하십시오.
a. 지표 그룹의 이름 및 설명을 지정하십시오.
지정하는 이름의 길이는 48자이하여야 합니다.
b. 입력 매개변수 타일에서 편집 아이콘을 클릭하고 입력 매개변수의 세부사항을 지정하십시오.
지정하는 매개변수 이름은 메트릭 API에 지정된 매개변수 이름과 일치해야 합니다.
c. 사용자 정의 모니터를 구성하는 데 매개변수가 필요한 경우 필수 매개변수 선택란을 선택하십시오.
d. 추가를 클릭하십시오.
입력 매개변수를 추가한 후 다음을 클릭하십시오.
e. 평가에서 지원하는 모델 유형을 선택하고 다음을 클릭하십시오.
F. 평가 스케줄을 지정하지 않으려면 저장을 클릭하십시오.
G. 평가 스케줄을 지정하려면 전환을 클릭하십시오.
평가 스케줄의 간격을 지정하고 저장을 클릭해야 합니다. h. 메트릭 추가 를 클릭하고 메트릭 세부사항을 지정하십시오.
저장을 클릭하십시오. - JSON 파일을 사용하여 메트릭 그룹을 구성하려면 파일에서 가져오기를 클릭하십시오.
JSON 파일을 업로드하고 가져오기를 클릭하십시오.
2단계: 메트릭 엔드포인트 추가
- 지표 엔드포인트 섹션에서 지표 엔드포인트 추가를 클릭하십시오.
- 메트릭 엔드포인트의 이름 및 설명을 지정하십시오.
- 연결 타일에서 편집 아이콘을 클릭하고 연결 세부사항을 지정하십시오.
다음을 클릭하십시오. - 메트릭 엔드포인트와 연관시킬 메트릭 그룹을 선택하고 저장을 클릭하십시오.
3단계: 사용자 정의 모니터 구성
- Insights 대시보드 페이지의 모델 배치 타일에서 모니터 구성 을 선택하십시오.
- 평가 섹션에서 추가한 메트릭 그룹의 이름을 선택하십시오.
- 메트릭 엔드포인트 타일에서 편집 아이콘을 선택하십시오.
- 메트릭 엔드포인트를 선택하고 다음을 클릭하십시오.
메트릭 엔드포인트를 사용하지 않으려면 없음을 선택하십시오. - 토글을 사용하여 모델을 평가하고 임계값을 제공하는 데 사용할 메트릭을 지정하십시오.
다음을 클릭하십시오. - 입력 매개변수의 값을 지정하십시오. 메트릭 그룹의 데이터 유형으로 JSON을 선택한 경우 JSON 데이터를 추가하십시오.
다음을 클릭하십시오.
이제 사용자 정의 모니터를 사용하여 모델을 평가할 수 있습니다.
사용자 정의 메트릭 액세스 및 시각화
사용자 정의 메트릭에 액세스하고 시각화하기 위해 프로그래밍 방식의 인터페이스를 사용할 수 있습니다. 다음 고급 튜토리얼에서는 이를 수행하는 방법을 보여줍니다.
-
자세한 정보는 Python SDK 문서를 참조하십시오.
사용자 지정 메트릭의 시각화는 인사이트 대시보드에 나타납니다.
자세한 정보
상위 주제: 모델 평가 구성