CREATE MODEL MONITOR¶
현재 또는 지정된 스키마에서 모델 모니터 를 만들거나 바꿉니다.
구문¶
CREATE [ OR REPLACE ] MODEL MONITOR [ IF NOT EXISTS ] <monitor_name> WITH
MODEL = <model_name>
VERSION = '<version_name>'
FUNCTION = '<function_name>'
SOURCE = <source_name>
WAREHOUSE = <warehouse_name>
REFRESH_INTERVAL = '<refresh_interval>'
AGGREGATION_WINDOW = '<aggregation_window>'
TIMESTAMP_COLUMN = <timestamp_name>
[ BASELINE = <baseline_name> ]
[ ID_COLUMNS = <id_column_name_array> ]
[ PREDICTION_CLASS_COLUMNS = <prediction_class_column_name_array> ]
[ PREDICTION_SCORE_COLUMNS = <prediction_column-name_array> ]
[ ACTUAL_CLASS_COLUMNS = <actual_class_column_name_array> ]
[ ACTUAL_SCORE_COLUMNS = <actual_column_name_array> ]
[ SEGMENT_COLUMNS = <segment_column_name_array> ]
[ CUSTOM_METRIC_COLUMNS = <custom_metric_column_name_array> ]
필수 매개 변수¶
monitor_name모델 모니터의 식별자를 지정합니다. 모니터가 생성된 스키마에서 고유해야 하며 모니터링 중인 모델과 동일한 스키마에 있어야 합니다.
모니터 식별자가 정규화된 형식(
db_name.schema_name.name또는schema_name.name)이 아닌 경우 이 명령은 세션의 현재 스키마에 모델을 만듭니다.또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
MODEL = model_name모니터링할 모델의 이름입니다. 모니터가 생성된 스키마와 동일한 스키마에 있어야 합니다.
VERSION = 'version_name'모니터링할 모델 버전의 이름입니다.
FUNCTION = function_name모니터링할 모델 버전에서 특정 함수의 이름입니다.
SOURCE = source_name기능, 추론 및 기준값 레이블이 포함된 소스 테이블 또는 뷰의 이름입니다.
WAREHOUSE = warehouse_name모니터의 내부 컴퓨팅 작업에 사용할 Snowflake 웨어하우스의 이름입니다.
REFRESH_INTERVAL = 'refresh_interval'모니터가 내부 상태를 새로 고치는 간격입니다. 값은
'1 day'와 같이 기간을 나타내는 문자열이어야 합니다. 지원되는 단위에는 초, 분, 시간, 일, 주, 월, 분기, 년이 있습니다. 간격 이름에는 단수형(“hour”) 또는 복수형(“hours”)을 사용할 수 있지만, 약어를 사용할 수는 없습니다.AGGREGATION_WINDOW = 'aggregation_window'모니터가 데이터를 집계하는 창입니다. 값은
'1 day'와 같이 기간을 나타내는 문자열이어야 합니다. 일 단위만 지원됩니다. 간격 이름은 단수(“day”) 또는 복수(“days”)를 사용할 수 있지만 축약할 수는 없습니다.TIMESTAMP_COLUMN = timestamp_name소스 데이터에서 타임스탬프가 포함된 열의 이름입니다. TIMESTAMP_NTZ 유형이어야 합니다.
선택적 매개 변수¶
BASELINE = baseline_name드리프트 계산에 사용되는 SOURCE 와 유사한 데이터의 스냅샷이 포함된 기준 테이블의 이름입니다. 이 데이터의 스냅샷은 모니터 오브젝트 내에 포함되어 있습니다. 이 매개 변수는 선택 사항이지만 설정하지 않으면 모니터가 드리프트를 감지할 수 없습니다.
ID_COLUMNS = id_column_name_array소스 데이터의 각 행을 고유하게 식별하는 문자열 열 이름의 배열입니다. ARRAY 상수 섹션을 참조하십시오.
참고
예측 열(예측 점수 또는 예측 클래스 중 하나 이상)은 필수입니다.
이진 분류 모델의 경우: 예측은 점수 또는 클래스가 될 수 있지만, 실제는 클래스여야 합니다.
다중 클래스 분류 모델의 경우: 예측과 실제는 클래스여야 합니다.
회귀 모델의 경우: 예측값과 실제값 모두 숫자여야 합니다.
PREDICTION_CLASS_COLUMNS = prediction_class_column_name_array데이터 소스에서 모든 예측 클래스 열의 이름을 지정하는 문자열 배열입니다. ARRAY 상수 섹션을 참조하십시오. 모델 작업이
TABULAR_BINARY_CLASSIFICATION또는TABULAR_REGRESSION인 경우 열은 NUMBER 유형이어야 합니다. 모델 작업이TABULAR_MULTI_CLASSIFICATION인 경우 열은 STRING 유형이어야 합니다.PREDICTION_SCORE_COLUMNS = prediction_column_name_array데이터 소스에서 모든 예측 점수 열의 이름을 지정하는 문자열 배열입니다. ARRAY 상수 섹션을 참조하십시오. 열은 NUMBER 유형이어야 합니다.
ACTUAL_CLASS_COLUMNS = actual_class_column_name_array데이터 소스에서 모든 실제 클래스 열의 이름을 지정하는 문자열 배열입니다. ARRAY 상수 섹션을 참조하십시오. 모델 작업이
TABULAR_BINARY_CLASSIFICATION또는TABULAR_REGRESSION인 경우 열은 NUMBER 유형이어야 합니다. 모델 작업이TABULAR_MULTI_CLASSIFICATION인 경우 열은 STRING 유형이어야 합니다.ACTUAL_SCORE_COLUMNS = actual_column_name_array데이터 소스의 모든 실제 점수 열에 이름을 지정하는 문자열 배열입니다. ARRAY 상수 섹션을 참조하십시오. 열은 NUMBER 유형이어야 합니다.
SEGMENT_COLUMNS = segment_column_name_array데이터 소스의 모든 세그먼트 열의 이름을 지정하는 문자열 배열입니다. ARRAY 상수 섹션을 참조하십시오. 세그먼트 열은 소스 데이터의 STRING 유형이어야 합니다. 모니터당 최대 5개의 세그먼트 열을 지정할 수 있습니다. 최적의 성능을 위해 각 세그먼트 열의 고유 값은 25개 미만이어야 합니다. 세그먼트에 대한 자세한 내용은 ML Observability: 시간 경과에 따른 모델 동작 모니터링 섹션을 참조하세요.
CUSTOM_METRIC_COLUMNS = custom_metric_column_name_array사용자 지정 메트릭에 사용되는 소스 데이터의 열 이름을 지정하는 문자열 배열입니다. 이러한 열은 기능으로 처리되지 않습니다. ARRAY 상수 섹션을 참조하세요. 열은 NUMBER 유형이어야 합니다.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
|---|---|---|
OWNERSHIP |
모델 모니터 |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
CREATE MODEL MONITOR |
스키마 |
|
SELECT |
SOURCE 매개 변수로 지정된 테이블 또는 뷰 |
|
USAGE |
WAREHOUSE 매개 변수로 지정된 웨어하우스 |
|
USAGE |
MODEL 매개 변수로 지정된 모델 |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한. 스키마에 대한 모든 권한이 부여된 역할은 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
매개 변수에는 다음 요구 사항이 적용됩니다.
모델 작업은
tabular_binary_classification또는tabular_regression이어야 합니다.다중 출력 모델은 현재 지원되지 않습니다. 예측 열과 실제 열은 배열이지만 배열에는 요소가 하나만 있어야 합니다.
예측 열 중 하나 이상을 지정해야 합니다.
실제 열은 선택 사항이지만 지정하지 않으면 정확도 메트릭이 계산되지 않습니다.
열은 모든 매개 변수에 걸쳐 한 번만 지정할 수 있습니다(예: ID 열은 예측 열이 될 수 없음).
모니터링되는 기능의 수는 500개로 제한됩니다.
세그먼트 열 요구 사항:
세그먼트 열은 STRING 유형이어야 합니다.
모니터당 최대 5개의 세그먼트 열(강제 제한)입니다.
각 세그먼트 열의 고유 값은 25개 미만이어야 합니다(권장 제한).
세그먼트 값은 대/소문자를 구분하며 세그먼트 쿼리에는 특수 문자가 지원되지 않습니다.
모니터링하는 모델과 사용하는 데이터 소스 등 MODEL MONITOR 인스턴스의 기본 구성은 모니터가 생성된 후에는 변경할 수 없습니다. ALTER MODEL MONITOR 를 사용하여 몇 가지 선택 사항만 수정할 수 있습니다. 모니터의 구성을 변경하려면 인스턴스를 삭제하고 새 인스턴스를 만듭니다.
복제 는 CUSTOM_CLASSIFIER 클래스의 인스턴스에 대해서만 지원됩니다.
OR REPLACE및IF NOT EXISTS절은 상호 배타적입니다. 두 문자를 같은 문에 함께 사용할 수 없습니다.CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
기본 예제
매일 새로 고치고 단일 예측 및 실제 점수 열을 사용하는 모델 모니터를 만듭니다.
CREATE MODEL MONITOR my_monitor WITH
MODEL = my_model
VERSION = 'v1'
FUNCTION = 'predict'
SOURCE = mydb.myschema.scoring_data
WAREHOUSE = compute_wh
REFRESH_INTERVAL = '1 day'
AGGREGATION_WINDOW = '1 day'
TIMESTAMP_COLUMN = event_time
PREDICTION_SCORE_COLUMNS = ( 'prediction_score' )
ACTUAL_SCORE_COLUMNS = ( 'actual_score' );
CUSTOM_METRIC_COLUMNS를 사용한 예제
사용자 지정 숫자 열을 지정하여 추가 맞춤 메트릭을 계산합니다.
CREATE MODEL MONITOR my_monitor_custom WITH
MODEL = my_model
VERSION = 'v1'
FUNCTION = 'predict'
SOURCE = mydb.myschema.scoring_data
WAREHOUSE = compute_wh
REFRESH_INTERVAL = '1 day'
AGGREGATION_WINDOW = '1 day'
TIMESTAMP_COLUMN = event_time
PREDICTION_SCORE_COLUMNS = ( 'prediction_score' )
ACTUAL_SCORE_COLUMNS = ( 'actual_score' )
CUSTOM_METRIC_COLUMNS = ( 'latency_ms', 'num_impressions' );
이 예에서는 ``latency_ms``와 ``num_impressions``라는 두 가지 사용자 지정 메트릭을 포함합니다. 이는 모델에 대한 기능은 아니지만 모델의 성능 옆에 있는 추적에 유용한 소스 데이터의 열입니다.