기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker Clarify를 사용하여 데이터 및 모델의 설명 가능성 및 편향을 분석하려면 처리 작업을 구성해야 합니다. 이 처리 작업을 위한 구성의 일부에는 분석 파일의 구성도 포함됩니다. 분석 파일은 편향 분석 및 설명 가능성에 대한 매개변수를 지정합니다. 처리 작업 및 분석 파일을 구성하는 방법은 SageMaker Clarify 처리 작업 구성 섹션을 참조하세요.
이 가이드에서는 이러한 분석 구성 파일의 스키마와 매개변수에 대해 설명합니다. 이 가이드에는 테이블 형식 데이터세트의 편향 지표를 계산하고 자연어 처리(NLP), 컴퓨터 비전(CV) 및 시계열(TS) 문제에 대한 설명을 생성하기 위한 분석 구성 파일의 예시도 포함되어 있습니다.
분석 구성 파일은 사용자가 생성하거나 SageMaker Python SDK
분석 구성 파일의 스키마
다음 섹션에서는 매개변수의 요구 사항 및 설명을 포함하여 분석 구성 파일의 스키마에 대해 설명합니다.
분석 구성 파일을 위한 요구 사항
SageMaker Clarify 처리 작업에서는 분석 구성 파일이 다음 요구 사항을 갖추고 구조화될 것으로 예상합니다.
-
처리 입력의 이름은
analysis_config.
여야 합니다. -
분석 구성 파일은 JSON 형식으로 저장되며, UTF-8 형식으로 인코딩됩니다.
-
분석 구성 파일이 Amazon S3 객체입니다.
분석 구성 파일에 추가적인 매개변수를 지정하는 것이 가능합니다. 다음 섹션은 해당 사용 사례 및 원하는 분석 유형에 맞게 SageMaker Clarify 처리 작업을 조정할 수 있는 다양한 옵션을 제공합니다.
분석 구성 파일에서는 다음 매개변수를 지정할 수 있습니다.
-
version – (선택사항) 분석 구성 파일 스키마의 버전 문자열입니다. 버전이 제공되지 않은 경우 SageMaker Clarify는 지원되는 최신 버전을 사용합니다. 현재는
1.0
버전만 지원 가능합니다. -
dataset_type – 해당 데이터세트의 형식입니다. 입력 데이터세트 형식은 다음 값 중 하나일 수 있습니다.
테이블 형식
-
CSV인 경우
text/csv
-
application/jsonlines
SageMaker AI JSON Lines 고밀도 형식용 -
JSON인 경우
application/json
-
Apache Parquet인 경우
application/x-parquet
-
컴퓨터 비전 문제에 대한 설명 가능성을 활성화하려면
application/x-image
-
시계열 예측 모델 설명
JSON인 경우
application/json
-
dataset_uri – (선택사항) 기본 데이터세트의 균일한 리소스 식별자(URI) 입니다. 사용자가 S3 URI 접두사를 제공하는 경우, SageMaker Clalify 처리 작업은 해당 접두사 아래에 있는 모든 S3 파일을 반복적으로 수집합니다. 컴퓨터 비전 문제의 경우 이미지 매니페스트 파일에 S3 URI 접두사 또는 S3 URI를 제공할 수 있습니다.
dataset_uri
가 제공된 경우, 이는 데이터세트 처리 작업의 입력보다 우선하게 됩니다. 이미지 및 시계열 사용 사례를 제외한 모든 형식 유형의 경우, SageMaker Clarify 처리 작업은 입력 데이터세트를 테이블 형식의 데이터세트로서 테이블 형식 데이터 프레임에 로드합니다. 이 형식을 사용하면 SageMaker AI가 입력 데이터 세트를 쉽게 조작하고 분석할 수 있습니다. -
헤더 - (선택 사항)
테이블 형식: 테이블 형식 데이터세트의 열 이름을 포함하는 문자열 배열입니다.
headers
에 대한 값이 제공되지 않은 경우, SageMaker Clarify 처리 작업은 해당 데이터세트에서 헤더를 읽게 됩니다. 데이터세트에 헤더가 없는 경우, Clarify 처리 작업은 0으로 시작하는 열 인덱스를 기반으로 자리 표시자 이름을 자동으로 생성합니다. 예를 들어, 첫 번째 열과 두 번째 열의 자리 표시자 이름은column_0
,column_1
처럼 지정됩니다.참고
dataset_type
이application/jsonlines
또는application/json
인 경우 규칙에 따라headers
는 다음 이름을 순서대로 포함해야 합니다.특성 이름
레이블 이름(
label
이 지정된 경우)예측 레이블 이름(
predicted_label
이 지정된 경우)
label
이 지정된 경우application/jsonlines
데이터세트 유형에 대한headers
의 예는 다음과 같습니다.["feature1","feature2","feature3","target_label"]
시계열: 데이터세트의 열 이름 목록입니다. 제공되지 않은 경우 Clarify는 내부적으로 사용할 헤더를 생성합니다. 시계열 설명 가능성 사례의 경우 헤더를 다음 순서로 제공합니다.
항목 ID
타임스탬프
대상 시계열
모든 관련 시계열 열
모든 정적 공변량 열
-
label – (선택사항) 문자열 또는 0으로 시작하는 정수 인덱스입니다. 제공된 경우,
label
은 테이블 형식 데이터세트에서 실측 레이블(관찰된 레이블 또는 대상 속성이라고도 함)을 찾기 위해 사용됩니다. 실측 레이블은 편향 지표를 계산하는 데 사용됩니다.label
의 값은dataset_type
의 매개변수 값에 따라 다음과 같이 지정됩니다.-
dataset_type
이text/csv
인 경우,label
은 다음 중 하나로 지정될 수 있습니다.-
유효한 열 이름
-
데이터세트 열의 범위 내에 포함되어 있는 인덱스
-
-
dataset_type
이application/parquet
인 경우,label
은 유효한 열 이름이어야 합니다. -
dataset_type
이application/jsonlines
인 경우,label
은 해당 데이터세트에서 실측 레이블을 추출하기 위해 작성된 JMESPath표현식이어야 합니다. 통상적으로, headers
가 지정된 경우라면 이는 해당 레이블 이름을 포함하게 됩니다. -
dataset_type
이application/json
인 경우,label
은 해당 데이터세트의 각 레코드에서 실측 레이블을 추출하기 위해 작성된 JMESPath표현식이어야 합니다. 이 JMESPath 표현식은 i번째 레이블이 i번째 레코드와 상관되는 레이블 목록을 생성해야 합니다.
-
-
predicted_label – (선택사항) 문자열 또는 0으로 시작하는 정수 인덱스입니다. 제공된 경우,
predicted_label
은 테이블 형식 데이터세트에서 해당 예측 레이블이 포함된 열을 찾는 데 사용됩니다. 예측 레이블은 훈련 후 편향 지표를 계산하는 데 사용됩니다. 데이터세트에 예측 레이블이 포함되지 않은 경우,predicted_label
매개변수는 선택사항입니다. 계산에 예측 레이블이 필요한 경우, SageMaker Clalify 처리 작업은 해당 모델에서 예측을 가져오게 됩니다.predicted_label
의 값은dataset_type
의 값에 따라 다음과 같이 지정됩니다.-
dataset_type
이text/csv
인 경우,predicted_label
은 다음 중 하나로 지정될 수 있습니다.-
유효한 열 이름. 만약
predicted_label_dataset_uri
가 지정되었지만predicted_label
은 제공되지 않은 경우라면, 기본 예측 레이블 이름은 “predicted_label”이 됩니다. -
데이터세트 열의 범위 내에 포함되어 있는 인덱스.
predicted_label_dataset_uri
가 지정된 경우, 인덱스는 예측 레이블 데이터세트에서 해당 예측 레이블 열을 찾는 데 사용됩니다.
-
-
dataset_type이
application/x-parquet
인 경우,predicted_label
은 유효한 열 이름이어야 합니다. -
dataset_type이
application/jsonlines
인 경우,predicted_label
은 해당 데이터세트에서 예측 레이블을 추출하기 위해 작성된 유효한 JMESPath표현식이어야 합니다. 통상적으로, headers
가 지정된 경우라면 이는 해당 예측 레이블 이름을 포함하게 됩니다. -
dataset_type
이application/json
인 경우,predicted_label
은 해당 데이터세트의 각 레코드에서 예측 레이블을 추출하기 위해 작성된 JMESPath표현식이어야 합니다. JMESPath 표현식은 i번째 예측 레이블이 i번째 레코드와 상관되는 예측 레이블 목록을 생성해야 합니다.
-
-
특성 - (선택 사항)
dataset_type
이application/jsonlines
또는application/json
인 경우 시계열이 아닌 사용 사례에 필요합니다. 입력 데이터세트에서 해당 특징을 찾기 위해 작성된 JMESPath 문자열 표현식입니다.application/jsonlines
의 경우, JMESPath 표현식이 각 줄에 적용되어 해당 레코드의 특징을 추출하게 됩니다.application/json
의 경우, JMESPath 표현식이 전체 입력 데이터세트에 적용됩니다. JMESPath 표현식은 i번째 레코드와 상관되는 특징이 i번째 행에 포함되어 있는 목록들의 목록 또는 특성의 2D 배열/행렬을 추출하게 됩니다.text/csv
의dataset_type
또는application/x-parquet
의 경우, 실측 레이블과 예측 레이블 열을 제외한 모든 열이 특징으로서 자동 할당됩니다. -
predicted_label_dataset_uri – (선택 사항) dataset_type이
text/csv
인 경우에만 적용됩니다. 훈련 후 편향 지표를 계산하는 데 사용되는 예측 레이블을 포함하고 있는 데이터세트의 S3 URI입니다. SageMaker Clarify 처리 작업은 해당 모델에서 예측을 가져오지 않고 그 대신 제공된 URI에서 예측을 로드하게 됩니다. 이 경우, 예측 레이블 데이터세트에서 해당 예측 레이블 열을 찾으려면predicted_label
이 필수입니다. 만약 예측 레이블 데이터세트 또는 기본 데이터세트가 여러 파일로 분할되어 있다면, 두 데이터세트를 조인하기 위한 식별자 열이joinsource_name_or_index
에 의해 지정되어 있어야 합니다. -
predicted_label_headers – (선택 사항)
predicted_label_dataset_uri
가 지정된 경우에만 적용됩니다. 예측 레이블 데이터세트의 열 이름을 포함하는 문자열 배열입니다.predicted_label_headers
는 예측 레이블 헤더 외에도 예측 레이블 데이터세트와 기본 데이터세트를 조인하는 식별자 열의 헤더 역시 포함할 수 있습니다. 자세한 내용은joinsource_name_or_index
매개변수에 대한 다음 설명을 참조하세요. -
joinsource_name_or_index – (선택 사항) 내부 조인을 수행하는 과정에서 식별자 열로서 사용되는 테이블 형식 데이터세트의 열 이름 또는 0으로 시작하는 인덱스입니다. 이 열은 식별자로만 사용됩니다. 편향 분석이나 특징 속성 분석과 같은 다른 종류의 계산에는 사용되지 않습니다. 다음과 같은 경우에는
joinsource_name_or_index
에 대한 값이 필요합니다.-
입력 데이터세트가 여러 개 있으며, 그 중 하나는 여러 파일로 분할되어 있는 경우
-
SageMaker Clarify 처리 작업 InstanceCount를
1
보다 큰 값으로 설정하여 분산 처리를 활성화한 경우
-
-
excluded_columns – (선택사항) 모델에 예측을 위한 입력으로 전송되지 않도록 제외할 이름 또는 0으로 시작하는 열 인덱스의 배열입니다. 실측 레이블과 예측 레이블은 이미 자동으로 제외되어 있습니다. 이 특성은 시계열에 지원되지 않습니다.
-
probability_threshold – (선택사항) 부동 소수점 숫자로, 그 위에는 레이블 또는 객체가 선택되어 있습니다. 기본값은
0.5
입니다. SageMaker Clarify 처리 작업은 다음과 같은 경우에probability_threshold
를 사용합니다.-
훈련 후 편향 분석에서,
probability_threshold
는 모델이 바이너리 분류기에 해당하는 경우 수치 모델 예측(확률 값 또는 점수)을 바이너리 레이블로 변환하게 됩니다. 임계값보다 큰 점수는1
로 변환됩니다. 반면, 임계값 이하인 점수는0
으로 변환됩니다. -
컴퓨터 비전 설명 가능성 문제에서, 만약 model_type이
OBJECT_DETECTION
이라면, probability_threshold
는 신뢰도 점수가 임계값보다 낮게 탐지된 객체를 필터링하게 됩니다.
-
-
label_values_or_threshold – (선택 사항) 편향 분석에 필요합니다. 실측 데이터에 대한 긍정적인 결과를 나타내고 편향 지표에 대한 예측 레이블을 나타내는 레이블 값 또는 임계값의 배열입니다. 자세한 내용은 편향과 공정성과 관련한 Amazon SageMaker Clarify 용어의 양수 레이블 값을 참조하세요. 레이블 값이 숫자인 경우, 해당 임계값이 긍정적인 결과를 선택하기 위한 하한값으로 적용됩니다. 다양한 문제 유형에 대한
label_values_or_threshold
를 설정하려면 다음 예시를 참조하세요.-
바이너리 분류 문제인 경우, 레이블에는
0
과1
의 두 가지 값이 있을 수 있습니다. 만약 레이블 값이1
이 표본에서 관찰한 인구통계 그룹에 대해 우호적이라면,label_values_or_threshold
는[1]
로 설정됩니다. -
멀티클래스 분류 문제인 경우, 레이블에는
bird
,cat
,dog
의 세 가지 값이 있을 수 있습니다. 만약 후자의 2개가 편향적인 인구통계 그룹을 정의하고 있다면,label_values_or_threshold
는["cat","dog"]
으로 설정됩니다. -
회귀 문제인 경우, 레이블 값은
0
~1
범위에서 연속적이 됩니다. 만약0.5
보다 큰 값이 특정 샘플의 결과가 긍정적이라고 지정한다면,label_values_or_threshold
는0.5
로 설정됩니다.
-
-
facet – (선택 사항) 편향 분석에 필요합니다. 편향을 측정하는 비교 대상인 민감한 속성으로 구성된 패싯 객체의 배열입니다. 민감한 속성을 사용하지 않고 모델을 훈련시킨 경우에도 패싯을 사용하여 데이터 세트와 모델의 편향 특성을 파악하는 것이 가능합니다. 자세한 내용은 편향과 공정성과 관련한 Amazon SageMaker Clarify 용어의 패싯을 참조하세요. 각 패싯 객체에는 다음 필드가 포함됩니다.
-
name_or_index - (선택 사항) 테이블 형식 데이터세트에 있는 민감한 속성 열의 이름 또는 0으로 시작하는 인덱스입니다.
facet_dataset_uri
가 지정된 경우, 인덱스는 기본 데이터세트 대신에 패싯 데이터세트를 참조하게 됩니다. -
value_or_threshold – (선택 사항)
facet
값이 숫자이고label_values_or_threshold
가 민감한 그룹을 선택하기 위한 하한값으로 적용된 경우 필수입니다. 편향성이 높은 민감한 인구통계 그룹을 나타내는 패싯 값 또는 임계값의 배열입니다. 패싯 데이터 유형이 범주형이고value_or_threshold
가 제공되지 않은 경우, 편향 지표는 (전체 값이 아니라) 모든 고유 값에 대해 하나의 그룹으로 계산됩니다. 다양한facet
데이터 유형에 대한value_or_threshold
를 설정하려면 다음 예시를 참조하세요.-
바이너리 패싯 데이터 유형인 경우, 해당 특징에는
0
과1
의 두 가지 값이 있을 수 있습니다. 각각의 값에 대한 편향 지표를 계산하고자 하는 경우,value_or_threshold
는 생략 가능하거나 빈 배열로 설정될 수 있습니다. -
범주형 패싯 데이터 유형인 경우, 해당 특징에는
bird
,cat
,dog
의 세 가지 값이 있을 수 있습니다. 만약 전자의 2개가 편향적인 인구통계 그룹을 정의하고 있다면,value_or_threshold
는["bird", "cat"]
으로 설정됩니다. 이 예시에서는 데이터 세트 샘플을 두 개의 인구통계 그룹으로 나눕니다. 유리한 그룹의 패싯에는bird
또는cat
값이 있는 반면, 불리한 그룹의 패싯에는dog
값이 있습니다. -
숫자로 된 패싯 데이터 유형인 경우, 해당 특징의 값은
0
~1
범위에서 연속적이 됩니다. 예를 들어, 만약0.5
보다 큰 값이 특정 샘플이 우호적이라고 지정한다면,value_or_threshold
는0.5
로 설정됩니다. 이 예시에서는 데이터세트 샘플을 두 개의 인구통계 그룹으로 나눕니다. 유리한 그룹의 패싯에는0.5
보다 큰 값이 있는 반면, 불리한 그룹의 패싯에는0.5
이하인 값이 있습니다.
-
-
-
group_variable – (선택 사항) 편향 지표 조건부 인구통계학적 차이(CDD) 또는 예측된 레이블의 조건부 인구통계학적 차이(CDDPL)에 사용할 하위 그룹을 나타내는 열의 이름 또는 0 기반 인덱스입니다.
-
facet_dataset_uri – (선택 사항) dataset_type이
text/csv
인 경우에만 적용됩니다. 편향 분석을 위한 민감한 속성을 포함하고 있는 데이터세트의 S3 URI입니다. 민감한 속성을 사용하지 않고 모델을 훈련시킨 경우에도 패싯을 사용하여 데이터세트와 모델의 편향 특성을 파악하는 것이 가능합니다.참고
만약 패싯 데이터세트 또는 기본 데이터세트가 여러 파일로 분할되어 있다면, 두 데이터세트를 조인하기 위한 식별자 열이
joinsource_name_or_index
에 의해 지정되어 있어야 합니다. 반드시facet
매개변수를 사용하여 패싯 데이터세트의 각 패싯을 식별해야 합니다. -
facet_headers - (선택 사항)
facet_dataset_uri
가 지정된 경우에만 적용됩니다. 패싯 데이터세트의 열 이름을 포함하는 문자열 배열로서, 필요 시에는 패싯 데이터세트와 기본 데이터세트를 조인하기 위한 식별자 열 헤더도 포함합니다.joinsource_name_or_index
섹션을 참조하세요. -
time_series_data_config – (선택 사항) 시계열의 데이터 처리에 사용할 구성을 지정합니다.
item_id – 문자열 또는 0 기반 정수 인덱스입니다. 이 필드는 공유 입력 데이터세트에서 항목 ID를 찾는 데 사용됩니다.
timestamp - 문자열 또는 0 기반 정수 인덱스입니다. 이 필드는 공유 입력 데이터세트에서 타임스탬프를 찾는 데 사용됩니다.
dataset_format – 가능한 값은
columns
,item_records
또는timestamp_records
입니다. 이 필드는 시계열 설명 가능성에 지원되는 유일한 형식인 JSON 데이터세트의 형식을 설명하는 데 사용됩니다.target_time_series – JMESPath 문자열 또는 0 기반 정수 인덱스입니다. 이 필드는 공유 입력 데이터세트에서 대상 시계열을 찾는 데 사용됩니다. 이 파라미터가 문자열인 경우
dataset_format
을 제외한 다른 모든 파라미터는 문자열 또는 문자열 목록이어야 합니다. 이 파라미터가 정수인 경우dataset_format
을 제외한 다른 모든 파라미터는 정수 또는 정수 목록이어야 합니다.related_time_series – (선택 사항) JMESPath 표현식 배열입니다. 이 필드는 공유 입력 데이터세트가 있는 경우 모든 관련 시계열을 찾는 데 사용됩니다.
static_covariates – (선택 사항) JMESPath 표현식 배열입니다. 이 필드는 공유 입력 데이터세트가 있는 경우 모든 정적 공변량 필드를 찾는 데 사용됩니다.
예시는 시계열 데이터세트 구성 예시 섹션을 참조하세요.
-
methods – 하나 이상의 분석 메서드와 해당 매개변수를 포함하는 객체입니다. 일부 메서드를 생략할 경우, 이는 분석에 사용되지도 않고 보고되지도 않습니다.
-
pre_training_bias – 훈련 전 편향 지표를 계산하고자 한다면 이 메서드를 포함하세요. 이 지표에 대한 자세한 설명은 훈련 전 편향 지표에서 확인할 수 있습니다. 해당 객체에는 다음 매개변수가 있습니다.
-
methods – 계산하고자 하는 다음 목록의 훈련 전 편향 지표 중에서 하나 이상을 포함하고 있는 배열입니다. 모든 훈련 전 편향 지표를 계산하려면
methods
를all
로 설정합니다. 예를 들어,["CI", "DPL"]
배열은 Class Imbalance와 Difference in Proportions of Labels를 계산하게 됩니다.-
클래스 불균형(CI)용
CI
-
레이블 비율의 차이(DPL)용
DPL
-
쿨백-라이블러 발산(KL)용
KL
-
젠슨-섀넌 발산(JS)용
JS
-
Lp-norm(LP)용
LP
-
총 변동 거리(TVD)용
TVD
-
콜모고로프-스미르노프(KS)용
KS
-
조건부 인구통계학적 차이(CDD)용
CDDL
-
-
-
post_training_bias – 훈련 후 편향 지표를 계산하고자 한다면 이 메서드를 포함하세요. 이 지표에 대한 자세한 설명은 훈련 후 데이터 및 모델 편향 지표에서 확인할 수 있습니다.
post_training_bias
객체에는 다음 매개변수가 있습니다.-
methods – 계산하고자 하는 다음 목록의 훈련 후 편향 지표 중에서 하나 이상을 포함하고 있는 배열입니다. 모든 훈련 후 편향 지표를 계산하려면
methods
를all
로 설정합니다. 예를 들어,["DPPL", "DI"]
배열은 Difference in Positive Proportions in Predicted Labels와 Disparate Impact를 계산하게 됩니다. 사용 가능한 메서드는 다음과 같습니다.-
예측된 레이블의 양수 비율 차이(DPPL)용
DPPL
-
불평등 효과(DI)의 경우
DI
-
조건부 승인의 차이(DCAcc)용
DCA
-
조건부 거부의 차이(DCR)용
DCR
-
특이도 차이(SD)용
SD
-
재현율 차이(RD)용
RD
-
승인율 차이(DAR)용
DAR
-
거부율 차이(DRR)용
DRR
-
정확도 차이(AD)용
AD
-
대우 평등(TE)용
TE
-
반사실적 플립테스트(FT)용
FT
-
일반화 엔트로피(GE)용
GE
-
-
-
shap – SHAP 값을 계산하고자 한다면 이 메서드를 포함하세요. SageMaker Clarify 처리 작업은 Kernel SHAP 알고리즘을 지원합니다.
shap
객체에는 다음 매개변수가 있습니다.-
baseline - (선택 사항) SHAP 기준 데이터세트(백그라운드 데이터세트라고도 함)입니다. 테이블 형식 데이터세트 또는 컴퓨터 비전 문제에 해당하는 기준 데이터세트에 대한 추가적인 요구 사항은 다음과 같습니다. SHAP 기준에 대한 자세한 내용은 설명 가능성에 대한 SHAP 기준 섹션을 참조하세요.
-
테이블 형식 데이터세트인 경우,
baseline
은 현재 위치 기준 데이터일 수도 있고 기준 파일의 S3 URI일 수도 있습니다.baseline
이 제공되지 않은 경우, SageMaker Clarify 처리 작업은 해당 입력 데이터세트를 클러스터링하여 기준을 계산하게 됩니다. 기준에 필요한 사항은 다음과 같습니다.-
형식은
dataset_type
에 의해 지정된 데이터세트 형식과 반드시 동일해야 합니다. -
기준은 해당 모델이 입력으로 받아들일 수 있는 특징만을 포함할 수 있습니다.
-
기준 데이터세트에는 하나 이상의 인스턴스가 포함될 수 있습니다. 기준 인스턴스의 수는 합성 데이터세트 크기 및 작업 런타임에 직접적인 영향을 미치게 됩니다.
-
text_config
가 지정된 경우, 텍스트 열의 기준 값은granularity
에 의해 지정된 텍스트 단위를 대체하는 데 사용되는 문자열이 됩니다. 예를 들어, 누락되거나 알 수 없는 단어 또는 텍스트 조각을 나타내는 데 사용되는 “[MASK]”와 같은 자리 표시자가 흔히 사용됩니다.
다음 예제는 다양한
dataset_type
매개변수에 대해 현재 위치 기준 데이터를 설정하는 방법을 보여줍니다.-
만약
dataset_type
이text/csv
또는application/x-parquet
이라면, 해당 모델은 네 개의 숫자로 된 특징을 허용하고, 기준은 두 개의 인스턴스를 가지게 됩니다. 이 예시에서는, 한 레코드의 특징 값이 모두 0이고 다른 레코드의 특징 값은 모두 1이라고 가정했을 때, 기준은 헤더 없이[[0,0,0,0],[1,1,1,1]]
로 설정되어야 합니다. -
dataset_type
이application/jsonlines
인 경우,features
는 숫자로 된 특징 값 4개가 있는 목록에 대한 키가 됩니다. 또한, 이 예시에서 모든 값이 0인 레코드 한 개가 기준에 포함되어 있다면,baseline
은[{"features":[0,0,0,0]}]
이 되어야 합니다. -
dataset_type
이application/json
인 경우,baseline
데이터세트는 해당 입력 데이터세트와 구조 및 형식이 동일해야 합니다.
-
-
컴퓨터 비전 문제인 경우,
baseline
은 해당 입력 이미지에서 특징(세그먼트)을 마스킹하는 데 사용되는 이미지의 S3 URI일 수 있습니다. SageMaker Clarify 처리 작업은 해당 마스크 이미지를 로드한 다음 그 크기를 입력 이미지와 동일한 해상도로 조정하게 됩니다. 기준이 제공되지 않은 경우, SageMaker Clarify 처리 작업은 입력 이미지와 동일한 해상도의 백색 노이즈로 된 마스크 이미지를 생성합니다.
-
-
features_to_explain – (선택사항) SHAP 값을 계산하는 데 사용되는 대상 문자열 또는 0으로 시작하는 특징 열의 인덱스의 배열입니다.
features_to_explain
이 지정되지 않은 경우, SHAP 값은 모든 특징 열을 대상으로 계산됩니다. 이러한 특징 열에 레이블 열 또는 예측 레이블 열은 포함될 수 없습니다. 이features_to_explain
매개변수는 숫자로 된 열과 범주형 열이 있는 테이블 형식의 데이터세트에서만 지원됩니다. -
num_cluster – (선택사항) 기준 데이터세트를 계산하기 위해 데이터세트의 분할이 이루어지는 클러스터의 수입니다. 각 클러스터는 한 개의 기준 인스턴스를 계산하는 데 사용됩니다.
baseline
이 지정되지 않은 경우, SageMaker Clarify 처리 작업은 해당 테이블 형식 데이터세트를1
~12
의 최적의 클러스터 수로 나누어 기준 데이터세트에 대한 계산을 시도하게 됩니다. 기준 인스턴스의 수는 SHAP 분석 런타임에 직접적인 영향을 미칩니다. -
num_samples – (선택사항) Kernel SHAP 알고리즘에서 사용되는 샘플의 수입니다.
num_samples
이 지정되지 않은 경우, SageMaker Clarify 처리 작업은 자동으로 임의의 번호를 선택합니다. 샘플의 수는 합성 데이터세트 크기 및 작업 런타임 모두에 직접적인 영향을 미치게 됩니다. -
seed – (선택사항) SHAP 설명자에서 유사 난수 생성기를 초기화하여 동일한 작업에 대해 일관된 SHAP 값을 생성하기 위해 사용되는 정수입니다. 시드가 지정되지 않은 경우, 동일한 작업이 실행될 때마다 해당 모델이 약간 다른 SHAP 값을 출력하게 될 수 있습니다.
-
use_logit - (선택사항) 사용자가 로짓 함수를 모델 예측에 적용하고자 한다는 것을 나타내는 부울 값입니다. 기본값은
false
입니다.use_logit
이true
인 경우, SHAP 값의 계산은 로그-승산비로 해석될 수 있는 로지스틱 회귀 계수를 사용하여 수행되게 됩니다. -
save_local_shap_values – (선택사항) 사용자가 해당 데이터세트에 있는 각 레코드의 로컬 SHAP 값을 분석 결과에 포함시키고자 한다는 것을 나타내는 부울 값입니다. 기본값은
false
입니다.만약 기본 데이터세트가 여러 개의 파일로 분할되어 있거나 분산 처리가 활성화된 상태라면,
joinsource_name_or_index
매개변수를 사용하여 식별자 열도 함께 지정하세요. 식별자 열과 로컬 SHAP 값은 해당 분석 결과에 저장됩니다. 이렇게 하면 각 레코드를 해당 로컬 SHAP 값에 매핑할 수 있게 됩니다. -
agg_method – (선택사항) 모든 인스턴스의 로컬 SHAP 값(각 인스턴스에 대한 SHAP 값)을 전역 SHAP 값(전체 데이터세트에 대한 SHAP 값)으로 집계하는 데 사용되는 메서드입니다. 기본값은
mean_abs
입니다. 다음 메서드를 사용하여 SHAP 값을 집계할 수 있습니다.-
mean_abs – 모든 인스턴스의 로컬 SHAP 절대값의 평균입니다.
-
mean_sq – 모든 인스턴스의 로컬 SHAP 값 제곱의 평균입니다.
-
median – 모든 인스턴스의 로컬 SHAP 값의 중앙값입니다.
-
-
text_config – 자연어 처리의 설명 가능성을 위해 필요합니다. 텍스트 열을 텍스트 형태로 취급하고 개별 텍스트 단위에 대한 설명을 제공하려면 이 구성을 포함하세요. 자연어 처리 설명 가능성을 위한 분석 구성의 예는 자연어 처리의 설명 가능성을 위한 분석 구성 섹션을 참조하세요.
-
granularity – 텍스트 열 분석을 위한 세분성의 단위입니다. 유효한 값은
token
,sentence
또는paragraph
입니다. 각 텍스트 단위는 특징으로 간주되며, 로컬 SHAP 값이 각 단위에 대해 계산됩니다. -
language – 텍스트 열의 언어입니다. 유효한 값은
chinese
,danish
,dutch
,english
,french
,german
,greek
,italian
,japanese
,lithuanian
,multi-language
,norwegian bokmål
,polish
,portuguese
,romanian
,russian
,spanish
,afrikaans
,albanian
,arabic
,armenian
,basque
,bengali
,bulgarian
,catalan
,croatian
,czech
,estonian
,finnish
,gujarati
,hebrew
,hindi
,hungarian
,icelandic
,indonesian
,irish
,kannada
,kyrgyz
,latvian
,ligurian
,luxembourgish
,macedonian
,malayalam
,marathi
,nepali
,persian
,sanskrit
,serbian
,setswana
,sinhala
,slovak
,slovenian
,swedish
,tagalog
,tamil
,tatar
,telugu
,thai
,turkish
,ukrainian
,urdu
,vietnamese
,yoruba
입니다. 여러 언어를 혼합하여 사용하려면multi-language
를 입력하세요. -
max_top_token – (선택사항) 전역 SHAP 값을 기준으로 한 상위 토큰의 최대 수입니다. 기본값은
50
입니다. 데이터세트에 같은 토큰이 여러 번 나타날 수 있습니다. SageMaker Clalify 처리 작업은 각 토큰의 SHAP 값을 집계한 다음 해당 전역 SHAP 값을 기준으로 상위 토큰을 선택합니다. 선택한 상위 토큰의 전역 SHAP 값은 analysis.json 파일의global_top_shap_text
섹션에 포함됩니다. -
집계의 로컬 SHAP 값입니다.
-
-
image_config – 컴퓨터 비전의 설명 가능성을 위해 필요합니다. 이미지로 구성된 입력 데이터세트가 있는데 이를 분석하여 컴퓨터 비전 문제에서 설명 가능성을 구현하고자 한다면 이 구성을 포함하세요.
-
model_type – 모델의 유형입니다. 유효한 값으로는 다음이 포함됩니다.
-
이미지 분류 모델의 경우
IMAGE_CLASSIFICATION
. -
객체 감지 모델의 경우
OBJECT_DETECTION
.
-
-
max_objects – model_type이
OBJECT_DETECTION
인 경우에만 적용할 수 있습니다.컴퓨터 비전 모델에서 감지한 최대 객체 수가 신뢰도 점수를 기준으로 정렬됩니다. 신뢰도 점수를 기준으로 상위 max_objects보다 순위가 낮은 모든 객체는 필터링됩니다. 기본값은3
입니다. -
context – model_type이
OBJECT_DETECTION
인 경우에만 적용됩니다. 탐지된 객체에서 경계 상자의 주변 영역이 기준 이미지에 의해 가려지는지 여부를 나타냅니다. 유효한 값은 모두 마스킹하려면0
, 전혀 마스킹하지 않으려면1
입니다. 기본값은 1입니다. -
iou_threshold –
model_type
이OBJECT_DETECTION
일 때만 적용 가능합니다.원래 탐지를 기준으로 예측을 평가하기 위한 최소한의 교차겹침결합(IOU) 지표입니다. IOU 지표가 높으면 예측된 상자와 실측된 탐지 상자 간에 겹치는 면적이 넓게 발생하게 됩니다. 기본값은0.5
입니다. -
num_segments – (선택사항) 입력 이미지에서 레이블을 지정할 세그먼트의 대략적인 수를 결정하는 정수입니다. 각 이미지의 세그먼트는 특징으로 간주되며, 로컬 SHAP 값이 각 세그먼트에 대해 계산됩니다. 기본값은
20
입니다. -
segment_compactness – (선택사항) scikit-image slic
메서드를 통해 생성된 이미지 세그먼트의 모양과 크기를 결정하는 정수입니다. 기본값은 5
입니다.
-
-
-
pdp – 이 메서드를 포함하면 부분 종속성 도표(PDP)를 계산할 수 있습니다. PDP를 생성하기 위한 분석 구성의 예는 부분 종속성 도표(PDP)의 계산 섹션을 참조하세요.
-
features –
shap
메서드가 요청되지 않은 경우에는 필수입니다. PDP 플롯을 계산하고 플로팅하기 위한 특징 이름 또는 인덱스의 배열입니다. -
top_k_features – (선택사항) PDP 플롯을 생성하는 데 사용되는 상위 특징의 수를 지정합니다.
features
가 제공되지 않았는데shap
메서드는 요청된 경우라면, SageMaker Clarify 처리 작업이 해당 SHAP 속성을 기반으로 상위 특징을 선택하게 됩니다. 기본값은10
입니다. -
grid_resolution – 숫자 값의 범위를 나누게 되는 버킷의 수입니다. 이는 PDP 플롯에 대한 그리드의 세분성을 지정하는 역할을 합니다.
-
-
asymmetric_shapley_value - 시계열 예측 모델에 대한 설명 가능성 지표를 계산하려면 이 메서드를 포함합니다. SageMaker Clarify 처리 작업은 비대칭 Shapley 값 알고리즘을 지원합니다. 비대칭 Shapley 값은 대칭 공리를 삭제하는 Shapley 값의 변형입니다. 자세한 내용은 Asymmetric Shapley values: incorporating causal knowledge into model-agnostic explainability
를 참조하세요. 이러한 값을 사용하여 특성이 예측 결과에 어떻게 기여하는지 확인할 수 있습니다. 비대칭 Shapley 값은 예측 모델이 입력으로 사용하는 시계열 데이터의 시간 종속성을 고려합니다. 이 알고리즘에는 다음 파라미터가 포함되어 있습니다.
direction - 사용 가능한 유형은
chronological
,anti_chronological
및bidirectional
입니다. 시간적 구조는 시간순 또는 시간 역순 또는 둘 다로 탐색할 수 있습니다. 시간순 설명은 첫 번째 단계부터 정보를 반복적으로 추가하여 구축됩니다. 시간 역순 설명은 마지막 단계에서 시작하여 거슬러 올라가면서 정보를 추가합니다. 주가 예측과 같이 최신성 편향이 있는 경우 시간 역순이 더 적절할 수 있습니다.granularity - 사용할 설명 세분화입니다. 사용 가능한 세분화 옵션은 다음과 같습니다.
timewise -
timewise
설명은 저렴하며 과거 n번째 날의 정보가 향후 m번째 날의 예측에 얼마나 기여했는지 파악하는 등 특정 시간 단계에 대한 정보만 제공합니다. 결과 어트리뷰션은 개별적으로 정적 공변량을 설명하지 않으며 대상 시계열과 관련 시계열을 구분하지 않습니다.fine_grained –
fine_grained
설명은 더 컴퓨팅 집약적이지만 입력 변수의 모든 어트리뷰션에 대한 전체 분석을 제공합니다. 이 메서드는 대략적인 설명을 계산하여 런타임을 줄입니다. 자세한 내용은 다음num_samples
파라미터를 참조하세요.참고
fine_grained
설명은chronological
순서만 지원합니다.
num_samples – (선택 사항) 이 인수는
fine_grained
설명에 필요합니다. 숫자가 클수록 근사치가 더 정확합니다. 이 숫자는 입력 특성의 차원에 따라 조정되어야 합니다. 일반적으로 결과가 너무 크지 않은 경우 이 변수를 (1 + max(관련 시계열 수, 정적 공변량 수))^2로 설정합니다.baseline – (선택 사항) 해당 데이터세트(배경 데이터라고도 함)에 대한 연합 외부의 값을 대체하는 기준 구성입니다. 다음 코드 조각은 기준 구성의 예시를 보여줍니다.
{ "related_time_series": "zero", "static_covariates": {
<item_id_1>
: [0, 2],<item_id_2>
: [-1, 1] }, "target_time_series": "zero" }대상 시계열 또는 관련 시계열과 같은 시간 데이터의 경우 기준 값 유형은 다음 값 중 하나일 수 있습니다.
zero
- 모든 연합 외부 값이 0.0으로 대체됩니다.mean
- 모든 연합 외부 값이 시계열의 평균으로 대체됩니다.
정적 공변량의 경우 모델 요청이 정적 공변량 값을 취하는 경우에만 기준 항목을 제공해야 하며, 이 경우 이 필드가 필요합니다. 모든 항목에 대한 기준을 목록으로 제공해야 합니다. 예를 들어 데이터세트에 정적 공변량이 두 개 있는 경우 기준 구성은 다음과 같을 수 있습니다.
"static_covariates": {
<item_id_1>
: [1, 1],<item_id_2>
: [0, 1] }앞의 예에서
<item_id_1>
및<item_id_2>
는 데이터세트의 항목 ID입니다.
-
report – (선택사항) 이 객체를 사용하면 분석 보고서를 사용자 지정할 수 있습니다. 시계열 설명 작업에는 이 파라미터가 지원되지 않습니다. 분석 결과에서는 동일한 내용의 보고서가 Jupyter Notebook 보고서, HTML 보고서, PDF 보고서의 3가지 사본으로 제공됩니다. 해당 객체에는 다음 매개변수가 있습니다.
-
name – 보고서 파일의 파일 이름입니다. 예를 들어
name
이MyReport
라면, 해당 보고서 파일의 이름은MyReport.ipynb
,MyReport.html
,MyReport.pdf
가 됩니다. 기본값은report
입니다. -
title – (선택사항) 보고서의 제목 문자열입니다. 기본값은
SageMaker AI Analysis Report
입니다.
-
-
-
predictor – 분석을 위해 모델이 수행한 예측이 필요한 경우 필수입니다.
shap
,asymmetric_shapley_value
,pdp
또는post_training_bias
메서드를 요청했지만 예측 레이블이 입력 데이터세트의 일부로서 제공되지 않는 경우를 예로 들 수 있습니다. 다음은predictor
와 함께 사용되는 매개변수입니다.-
model_name - CreateModel API에서 생성한 SageMaker AI 모델의 이름입니다. 사용자가 endpoint_name 대신에
model_name
을 지정할 경우, SageMaker Clarify 처리 작업은 섀도우 엔드포인트라고 하는 모델 이름을 사용하여 임시 엔드포인트를 생성한 다음 해당 엔드포인트에서 예측을 가져오게 됩니다. 이 작업은 계산이 완료되고 나면 해당 섀도우 엔드포인트를 삭제합니다. 모델이 다중 모델인 경우target_model
파라미터를 반드시 지정해야 합니다. 다중 모델 엔드포인트에 대한 자세한 내용은 다중 모델 엔드포인트 섹션을 참조하세요. -
endpoint_name_prefix – (선택사항) 섀도우 엔드포인트를 위한 사용자 지정 이름 접두사입니다. 사용자가
endpoint_name
대신에model_name
을 제공할 경우 적용됩니다. 예를 들어, 대상 엔드포인트에 대한 액세스를 엔드포인트 이름을 기준으로 제한하려는 경우라면endpoint_name_prefix
를 입력하세요. 접두사는 EndpointName 패턴과 일치해야 하며, 허용되는 최대 길이는23
입니다. 기본값은sm-clarify
입니다. -
initial_instance_count – 섀도우 엔드포인트의 인스턴스 수를 지정합니다. 사용자가 endpoint_name 대신에 model_name을 제공하는 경우 필수입니다.
initial_instance_count
의 값이 해당 작업의 InstanceCount와 달라도 되지만, 가급적 1:1 비율을 사용하는 것이 좋습니다. -
instance_type – 섀도우 엔드포인트의 인스턴스 유형을 지정합니다. 사용자가
endpoint_name
대신에model_name
을 제공할 경우 필수입니다. 예를 들어,instance_type
은 “ml.m5.large”로 설정이 가능합니다.instance_type
으로 지정된 값이 모델의 추론 시간을 줄이는 데 도움이 되는 경우도 있습니다. 예를 들어, 일반적으로 자연어 처리 모델 및 컴퓨터 비전 모델을 효율적으로 실행하려면 그래픽 처리 장치(GPU) 인스턴스 유형이 필요합니다. -
endpoint_name - CreateEndpoint API에서 생성한 SageMaker AI 엔드포인트의 이름입니다. 제공된 경우,
endpoint_name
이model_name
매개변수보다 우선 적용됩니다. 기존 엔드포인트를 사용하면 섀도우 엔드포인트의 부트스트랩 시간이 단축되지만, 이로 인해 해당 엔드포인트의 부하가 크게 증가할 수도 있습니다. 또한 일부 분석 메서드(예:shap
및pdp
)의 경우 합성 데이터세트를 생성하여 엔드포인트로 전송하기도 합니다. 이로 인해 엔드포인트의 지표나 캡처된 데이터가 합성 데이터로 오염되어 실제 사용량을 정확하게 반영하지 못하게 될 수 있습니다. 이러한 이유로 SageMaker Clarify 분석에 기존 프로덕션의 엔드포인트를 사용하는 것은 일반적으로 권장되지 않습니다. -
target_model - SageMaker AI InvokeEndpoint API의 TargetModel 파라미터에 전달되는 문자열 값입니다. 모델(model_name 매개변수로 지정됨) 또는 엔드포인트(endpoint_name 매개변수로 지정됨)가 다중 모델인 경우에 필요합니다. 다중 모델 엔드포인트에 대한 자세한 내용은 다중 모델 엔드포인트 섹션을 참조하세요.
-
custom_attributes – (선택사항) 사용자가 엔드포인트에 제출된 추론 요청에 대한 추가 정보를 제공할 수 있게 해주는 문자열입니다. 문자열 값은 SageMaker AI InvokeEndpoint API의
CustomAttributes
파라미터로 전달됩니다. -
content_type – 엔드포인트에서 예측을 가져오는 데 사용되는 모델 입력 형식입니다. 제공된 경우 SageMaker AI InvokeEndpoint API의
ContentType
파라미터로 전달됩니다.-
컴퓨터 비전 설명 가능성 용도인 경우, 유효한 값은
image/jpeg
,image/png
또는application/x-npy
입니다.content_type
이 제공되지 않으면 기본값은image/jpeg
입니다. 시계열 예측 설명 가능성의 경우 유효한 값은
application/json
입니다.-
다른 유형의 설명 가능성 용도인 경우, 유효한 값은
text/csv
,application/jsonlines,
및application/json
입니다.dataset_type
이application/x-parquet
인 경우content_type
의 값이 필요합니다. 미지정 시content_type
은dataset_type
매개변수의 값이 기본값으로 적용됩니다.
-
-
accept_type – 엔드포인트에서 예측을 가져오는 데 사용되는 모델 출력의 형식입니다. 의 값은 SageMaker AI InvokeEndpoint API의
Accept
파라미터로accept_type
전달됩니다.-
컴퓨터 비전 설명 가능성 용도인 경우,
model_type
이 “OBJECT_DETECTION”이면accept_type
은application/json
이 기본값으로 적용됩니다. 시계열 예측 설명 가능성의 경우 유효한 값은
application/json
입니다.-
다른 유형의 설명 가능성 용도인 경우, 유효한 값은
text/csv
,application/jsonlines
및application/json
입니다.accept_type
의 값이 제공되지 않은 경우,content_type
매개변수 값이accept_type
의 기본값으로 적용됩니다.
-
-
content_template – 데이터세트 레코드로부터 모델 입력을 구성하는 데 사용되는 템플릿 문자열입니다.
content_template
매개변수는content_type
매개변수의 값이application/jsonlines
또는application/json
인 경우에만 필수적으로 사용됩니다.content_type
매개변수가application/jsonlines
인 경우, 해당 템플릿에는 자리 표시자$features
가 하나만 있어야 하며, 이 자리 표시자는 런타임 시 특징의 목록으로 대체됩니다. 예를 들어 템플릿이"{\"myfeatures\":$features}"
이고 레코드에 숫자로 된 3개의 특징 값1
,2
및3
이 있는 경우라면, 해당 레코드는 JSON Line{"myfeatures":[1,2,3]}
의 형태로 모델에 전송됩니다.content_type
이application/json
일 때, 해당 템플릿의 자리 표시자는$record
또는records
중 하나일 수 있습니다. 만약 자리 표시자가record
라면, 단일 레코드는 해당 템플릿이record_template
에 적용되어 있는 레코드로 대체됩니다. 이 경우에는 한 번에 하나의 레코드만 모델로 전송이 이루어집니다. 만약 자리 표시자가$records
라면, 해당 레코드는record_template
에서 제공한 각각의 템플릿을 가지는 레코드 목록으로 대체됩니다. -
record_template – 데이터세트 인스턴스로부터 모델 입력의 개별 레코드를 구성하는 데 사용되는 템플릿 문자열입니다. 이는
content_type
이application/json
일 때만 필수적으로 사용됩니다. 템플릿 문자열은 다음 중 하나를 포함할 수 있습니다.-
특징 값의 배열로 대체될 자리 표시자
$features
매개변수. 선택 사항인 추가적인 자리 표시자가$feature_names
로 특징 열 헤더 이름을 대체할 수 있습니다. 이 선택적 자리 표시자는 특징 이름의 배열로 대체되게 됩니다. -
키-값 쌍, 특징 이름 및 특징 값으로 대체될 단 1개의 자리 표시자(
$features_kvp
). -
headers
구성에 포함된 특징. 예를 들어, 자리 표시자 구문"${A}"
로 표시된A
라는 특징 이름은A
의 특징 값으로 대체되게 됩니다.
record_template
의 값은content_template
과 함께 모델 입력을 구성하는 데 사용됩니다. 다음은 콘텐츠 및 레코드 템플릿을 사용하여 모델 입력을 구성하는 방법을 보여주는 구성 예제입니다.다음 코드 예제에서 헤더와 특징은 다음과 같이 정의됩니다.
-
`headers`:["A", "B"]
-
`features`:[[0,1], [3,4]]
예제 모델 입력은 다음과 같습니다.
{ "instances": [[0, 1], [3, 4]], "feature_names": ["A", "B"] }
이전 예제 모델 입력을 구성하기 위한 예제 매개변수
content_template
및record_template
의 값은 다음과 같습니다.-
content_template: "{\"instances\": $records, \"feature_names\": $feature_names}"
-
record_template: "$features"
다음 코드 예제에서 헤더와 특징은 다음과 같이 정의됩니다.
[ { "A": 0, "B": 1 }, { "A": 3, "B": 4 }, ]
이전 예제 모델 입력을 구성하기 위한 예제 매개변수
content_template
및record_template
의 값은 다음과 같습니다.-
content_template: "$records"
-
record_template: "$features_kvp"
다음은 이전 예제 모델 입력을 구성하기 위한 대체 코드의 예제입니다.
-
content_template: "$records"
-
record_template: "{\"A\": \"${A}\", \"B\": \"${B}\"}"
다음 코드 예제에서 헤더와 특징은 다음과 같이 정의됩니다.
{ "A": 0, "B": 1 }
위 예제를 구성하기 위한 예제 매개변수 content_template 및 record_template 값에 대한 이전 예제 모델의 입력은 다음과 같습니다.
-
content_template: "$record"
-
record_template: "$features_kvp"
더 많은 예시는 시계열 데이터에 대한 엔드포인트 요청를 참조합니다.
-
-
label – (선택 사항) 편향 분석을 위해 모델 출력으로부터 예측된 레이블을 추출하는 데 사용되는 0으로 시작하는 정수 인덱스 또는 JMESPath 표현식 문자열입니다. 모델이 멀티클래스이고
label
매개변수가 해당 모델 출력에서 예측된 레이블을 모두 추출하는 경우, 다음이 적용됩니다. 이 특성은 시계열에 지원되지 않습니다.-
모델 출력으로부터 일치하는 확률(또는 점수)을 가져오려면
probability
매개변수가 필요합니다. -
최고 점수의 예측 레이블이 선택됩니다.
label
의 값은 다음과 같이 accept_type 매개변수의 값에 따라 달라지게 됩니다.-
만약
accept_type
이text/csv
라면,label
은 해당 모델 출력에 포함된 모든 예측 레이블의 인덱스입니다. -
만약
accept_type
이application/jsonlines
또는application/json
이라면,label
은 예측 레이블을 가져오기 위해 해당 모델의 출력값에 적용되는 JMESPath 표현식입니다.
-
-
label_headers – (선택 사항) 레이블이 데이터세트에서 가져올 수 있는 값의 배열입니다. 편향 분석을 요청하는 경우, 모델 출력으로부터 일치하는 확률 값(점수)을 가져오려면
probability
매개변수도 필요하며, 이때 가장 높은 점수의 예측 레이블이 선택됩니다. 설명 가능성 분석을 요청하는 경우, 레이블 헤더는 분석 보고서를 꾸미는 데 사용됩니다. 컴퓨터 비전의 설명 가능성을 위해서는label_headers
에 대한 값이 필요합니다. 예를 들어, 멀티클래스 분류 문제에서 레이블에 적용 가능한 세 개의 값bird
,cat
및dog
이 있는 경우라면,label_headers
를["bird","cat","dog"]
으로 설정해야 합니다. -
probability – (선택 사항) 설명 가능성 분석(시계열 설명 가능성 제외)을 위해 확률(점수)을 추출하거나 편향 분석을 위해 예측 레이블을 선택하는 데 사용되는 0으로 시작하는 정수 인덱스 또는 JMESPath 표현식 문자열입니다.
probability
의 값은 다음과 같이accept_type
매개변수의 값에 따라 달라지게 됩니다.-
만약
accept_type
이text/csv
라면,probability
는 해당 모델 출력에 포함된 확률(점수)의 인덱스입니다.probability
가 제공되지 않으면 전체 모델 출력이 확률(점수)인 것으로 간주됩니다. -
만약
accept_type
이 JSON 데이터(application/jsonlines
또는application/json
)라면,probability
는 해당 모델 출력으로부터 확률(점수)을 추출하는 데 사용되는 JMESPath 표현식이어야 합니다.
-
-
time_series_predictor_config – (선택 사항) 시계열 설명 가능성에만 사용됩니다.
dataset_uri
에서 S3 URI로 전달된 데이터에서 데이터를 올바르게 구문 분석하는 방법을 SageMaker Clarify 프로세서에 지시하는 데 사용됩니다.예측 - 예측 결과를 추출하는 데 사용되는 JMESPath 표현식입니다.
-
예제 분석 구성 파일
다음 섹션에는 CSV 형식이나 JSON Lines 형식으로 된 데이터 그리고 자연어 처리(NLP), 컴퓨터 비전(CV) 및 시계열(TS) 설명 가능성을 위한 예시 분석 구성 파일이 포함되어 있습니다.
다음 예제는 CSV 포맷의 테이블 형식 데이터세트를 위해 편향 분석과 설명 가능성 분석을 구성하는 방법을 보여줍니다. 이 예제에서 수신되는 데이터세트에는 4개의 특징 열과 1개의 바이너리 레이블 열(Target
)이 포함되어 있습니다. 데이터 세트의 내용은 다음과 같습니다. 레이블의 값이 1
이면 긍정적인 결과임을 나타냅니다. 데이터세트는 dataset
처리의 입력을 통해 SageMaker Clarify 작업에 제공됩니다.
"Target","Age","Gender","Income","Occupation"
0,25,0,2850,2
1,36,0,6585,0
1,22,1,1759,1
0,48,0,3446,1
...
다음 섹션은 훈련 전 및 훈련 후 편향 지표, SHAP 값, 그리고 CSV 포맷의 데이터세트에서의 특징 중요도를 표시해주는 부분 종속성 도표(PDP)를 계산하는 방법을 보여줍니다.
모든 훈련 전 편향 지표의 계산
이 예제 구성은 이전 샘플 데이터세트가 Gender
값이 0
인 샘플에 대해 우호적으로 편향되어 있는지 여부를 측정하는 방법을 보여줍니다. 다음 분석 구성은 SageMaker Clalify 처리 작업으로 하여금 해당 데이터세트에 대한 모든 훈련 전 편향 지표를 계산하도록 지시합니다.
{
"dataset_type": "text/csv",
"label": "Target",
"label_values_or_threshold": [1],
"facet": [
{
"name_or_index": "Gender",
"value_or_threshold": [0]
}
],
"methods": {
"pre_training_bias": {
"methods": "all"
}
}
}
모든 훈련 후 편향 지표의 계산
훈련 전에는 훈련 전 편향 지표를 계산할 수 있습니다. 하지만 훈련 후 편향 지표를 계산하려면 먼저 훈련된 모델이 준비되어야 합니다. 다음 예제는 데이터를 CSV 포맷으로 내보내는 바이너리 분류 모델이 출력한 결과입니다. 이 예제 출력에서는 각 행마다 2개의 열이 있습니다. 첫 번째 열에는 예측 레이블이 포함되고, 두 번째 열에는 해당 레이블에 대한 확률 값이 포함됩니다.
0,0.028986845165491 1,0.825382471084594 ...
다음 구성 예제는 SageMaker Clarify 처리 작업으로 하여금 해당 데이터세트와 모델 출력의 예측을 사용하여 가능한 모든 편향 지표를 계산하도록 지시합니다. 이 예에서 모델은 SageMaker AI 엔드포인트에 배포됩니다your_endpoint
.
참고
다음 예제 코드에서는 매개변수 content_type
과 accept_type
이 설정되지 않았습니다. 따라서 이는 dataset_type 매개변수의 값에 해당하는 text/csv
를 자동으로 사용하게 됩니다.
{ "dataset_type": "
text/csv
", "label": "Target
", "label_values_or_threshold":[1]
, "facet": [ { "name_or_index": "Gender
", "value_or_threshold":[0]
} ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" } }, "predictor": { "endpoint_name": "your_endpoint
", "label":0
} }
SHAP 값의 계산
다음 예제 분석 구성은 작업으로 하여금 Target
열을 레이블로 지정하고 나머지 모든 열은 특징으로 지정하는 SHAP 값을 계산하도록 지시합니다.
{ "dataset_type": "
text/csv
", "label": "Target
", "methods": { "shap": { "num_clusters":1
} }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
이 예제에서는 SHAP baseline
매개변수가 생략되어 있고 num_clusters
매개변수의 값은 1
입니다. 이를 통해 SageMaker Clarify 프로세서가 SHAP 기준 샘플 하나를 계산하도록 지시됩니다. 이 예제에서는 확률이 1
로 설정되어 있습니다. 이를 통해 SageMaker Clarify 처리 작업이 해당 모델 출력의 두 번째 열에서 확률 점수를 추출하도록 (0으로 시작하는 인덱싱을 사용하여) 지시됩니다.
부분 종속성 도표(PDP)의 계산
다음 예제는 PDP를 사용하여 분석 보고서에서 Income
특징의 중요도를 표시하는 방법을 보여줍니다. 보고서 매개변수는 SageMaker Clarify 처리 작업으로 하여금 보고서를 생성하도록 지시합니다. 작업이 완료되면, 생성된 보고서가 analysis_result
위치에 report.pdf 형식으로 저장됩니다. grid_resolution
매개변수는 해당 특징 값의 범위를 10
개의 버킷으로 분할합니다. 다음 예제에서 지정된 매개변수들 모두는 SageMaker Clarify 처리 작업으로 하여금 x축에 10
개의 세그먼트가 있는 Income
PDP 그래프가 포함된 보고서를 생성하도록 지시합니다. y축은 Income
이 예측에 미치는 한계 영향을 표시하게 됩니다.
{ "dataset_type": "text/csv", "label": "Target", "methods": { "pdp": { "features": ["
Income
"], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
}, }
편향 지표 및 특징 중요도 모두에 대한 계산
이전 구성 예제의 모든 메서드를 단일 분석 구성 파일로 결합하여 하나의 작업만으로 모든 계산을 수행하는 것이 가능합니다. 다음 예제는 모든 단계를 결합했을 때의 분석 구성을 보여줍니다.
이 예제에서 probability
매개변수는 확률이 두 번째 열에 포함되어 있음을 나타내기 위해 (0으로 시작하는 인덱싱을 사용하여) 1
로 설정되어 있습니다. 그러나 편향 분석에는 예측 레이블이 필요하므로, 확률 점수를 바이너리 레이블로 변환할 수 있도록 probability_threshold
매개변수가 0.5
로 설정되었습니다. 이 예제에서는 부분 종속성 도표 pdp
메서드의 top_k_features
매개변수가 2
로 설정되어 있습니다. 이를 통해 SageMaker Clarify 처리 작업이 가장 큰 전역 SHAP 값을 가진 상위 특징 2
개를 대상으로 부분 종속성 도표(PDP)를 계산하도록 지시됩니다.
{ "dataset_type": "text/csv", "label": "
Target
", "probability_threshold":0.5
, "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" }, "shap": { "num_clusters":1
}, "pdp": { "top_k_features":2
, "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
모델을 엔드포인트에 배포하는 대신 model_name
파라미터를 사용하여 SageMaker AI 모델의 이름을 SageMaker Clarify 처리 작업에 제공할 수 있습니다. 다음 예제는 your_model
이라는 이름의 모델을 지정하는 방법을 보여줍니다. SageMaker Clarify 처리 작업은 해당 구성을 사용하여 섀도우 엔드포인트를 생성하게 됩니다.
{ ... "predictor": { "model_name": "
your_model
", "initial_instance_count":1
, "instance_type": "ml.m5.large
", "probability":1
} }
다음 예제는 JSON Lines 포맷의 테이블 형식 데이터세트를 위해 편향 분석과 설명 가능성 분석을 구성하는 방법을 보여줍니다. 이러한 예제에서 수신 데이터 세트는 이전 섹션과 동일한 데이터를 갖지만 SageMaker AI JSON Lines 고밀도 형식입니다. 각 라인은 유효한 JSON 객체입니다. “Features” 키는 특징 값의 배열을 가리키고, “Label” 키는 실측 레이블을 가리킵니다. 데이터세트는 "dataset" 처리의 입력을 통해 SageMaker Clarify 작업에 제공됩니다. JSON 라인에 관한 자세한 정보는 JSONLINES 요청 형식 항목을 참조하세요.
{"Features":[25,0,2850,2],"Label":0}
{"Features":[36,0,6585,0],"Label":1}
{"Features":[22,1,1759,1],"Label":1}
{"Features":[48,0,3446,1],"Label":0}
...
다음 섹션은 훈련 전 및 훈련 후 편향 지표, SHAP 값, 그리고 JSON Lines 포맷의 데이터세트에서의 특징 중요도를 표시해주는 부분 종속성 도표(PDP)를 계산하는 방법을 보여줍니다.
훈련 전 편향 지표의 계산
Gender
값이 0
인 대상에서 훈련 전 편향 지표를 측정하기 위한 레이블, 특징, 형식 및 방법을 지정합니다. 다음 예제에서는 headers
매개변수가 특징 이름을 먼저 제공합니다. 레이블 이름은 마지막에 제공됩니다. 마지막 헤더는 통상적으로 레이블 헤더입니다.
SageMaker Clarify 처리 작업이 각 레코드에서 특징 배열을 추출할 수 있도록 features
매개변수가 JMESPath 표현식 “Features”로 설정되었습니다. SageMaker Clarify 처리 작업이 각 레코드에서 실측 레이블을 추출할 수 있도록 label
매개변수가 JMESPath 표현식 “Label”로 설정되었습니다. 다음과 같이 패싯 이름을 사용하여 민감한 속성을 지정합니다.
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" } } }
모든 편향 지표의 계산
훈련 후 편향 지표를 계산하려면 먼저 훈련된 모델이 준비되어야 합니다. 다음 예제는 JSON Lines 데이터를 해당 예제에서의 형식으로 내보내는 바이너리 분류 모델에서의 결과입니다. 모델 출력의 각 행은 유효한 JSON 객체입니다. predicted_label
키는 예측 레이블을 가리키고, probability
키는 확률 값을 가리킵니다.
{"predicted_label":0,"probability":0.028986845165491}
{"predicted_label":1,"probability":0.825382471084594}
...
라는 SageMaker AI 엔드포인트에 모델을 배포할 수 있습니다your_endpoint
. 다음 예제 분석 구성은 SageMaker Clalify 처리 작업으로 하여금 해당 데이터 세트와 모델 모두에서 가능한 모든 편향 지표를 계산하도록 지시합니다. 이 예제에서는 content_type
및 accept_type
매개변수가 설정되어 있지 않습니다. 따라서 이는 dataset_type 매개변수의 값에 해당하는 application/jsonlines
를 사용하도록 자동으로 설정됩니다. SageMaker Clarify 처리 작업은 content_template
매개변수를 사용하여 $features
자리 표시자를 특징의 배열로 대체함으로써 모델 입력을 구성합니다.
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features
}", "label": "predicted_label
" } }
SHAP 값의 계산
SHAP 분석에는 실측 레이블이 필요하지 않으므로 label
매개변수는 생략됩니다. 이 예제에서는 headers
매개변수도 생략되었습니다. 따라서 SageMaker Calify 처리 작업에서는 자리 표시자를 생성할 때 특징 헤더에는 column_0
또는 column_1
을, 레이블 헤더에는 label0
을 사용하는 등 일반적인 이름을 적용해야 합니다. 분석 결과의 가독성을 높이기 위해 headers
및 label
에 각각의 값을 지정할 수 있습니다. 확률 매개변수가 JMESPath 표현식 probability
로 설정되었으므로, 해당 확률 값이 모델의 출력으로부터 추출됩니다. 다음은 SHAP 값을 계산하는 예제입니다.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "shap": { "num_clusters
": 1 } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
부분 종속성 도표(PDP)의 계산
다음 예제는 PDP에서 “Income”의 중요도를 표시하는 방법을 보여줍니다. 이 예제에서 특징 헤더는 제공되지 않습니다. 따라서 pdp
메서드의 features
매개변수는 해당 특징 열의 위치를 참조할 수 있도록 반드시 0으로 시작하는 인덱스를 사용해야 합니다. grid_resolution
매개변수는 해당 특징 값의 범위를 10
개의 버킷으로 분할합니다. 이 예제에 나와 있는 매개변수들 모두는 SageMaker Clarify 처리 작업으로 하여금 x축에 10
개의 세그먼트가 있는 Income
PDP 그래프가 포함된 보고서를 생성하도록 지시합니다. y축은 Income
이 예측에 미치는 한계 영향을 표시하게 됩니다.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "pdp": { "features": [2
], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
편향 지표 및 특징 중요도 모두에 대한 계산
이전의 모든 메서드를 단일 분석 구성 파일로 결합하여 하나의 작업만으로 모든 계산을 수행하는 것이 가능합니다. 다음 예제는 모든 단계를 결합했을 때의 분석 구성을 보여줍니다. 이 예제에서는 probability
매개변수가 설정되어 있습니다. 그러나 편향 분석에는 예측 레이블이 필요하므로, 확률 점수를 바이너리 레이블로 변환할 수 있도록 probability_threshold
매개변수가 0.5
로 설정되었습니다. 이 예제에서는 pdp
메서드의 top_k_features
매개변수가 2
로 설정되어 있습니다. 이를 통해 SageMaker Clarify 처리 작업이 가장 큰 전역 SHAP 값을 가진 상위 특징 2
개를 대상으로 PDP를 계산하도록 지시됩니다.
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "probability_threshold":0.5
, "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" }, "shap": { "num_clusters":1
}, "pdp": { "top_k_features":2
, "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
다음 예제는 JSON 포맷의 테이블 형식 데이터세트를 위해 편향 분석과 설명 가능성 분석을 구성하는 방법을 보여줍니다. 이 예제에서 수신 데이터 세트는 이전 섹션과 동일한 데이터를 갖지만 SageMaker AI JSON 고밀도 형식입니다. JSON 라인에 관한 자세한 정보는 JSONLINES 요청 형식 항목을 참조하세요.
전체 입력 요청이 유효한 JSON으로, 그 외부 구조는 목록이고 각 요소는 레코드의 데이터에 해당합니다. 각각의 레코드에서 Features
키는 특징 값의 배열을 가리키고, Label
키는 실측 레이블을 가리킵니다. 데이터세트는 dataset
처리의 입력을 통해 SageMaker Clarify 작업에 제공됩니다.
[
{"Features":[25,0,2850,2],"Label":0},
{"Features":[36,0,6585,0],"Label":1},
{"Features":[22,1,1759,1],"Label":1},
{"Features":[48,0,3446,1],"Label":0},
...
]
다음 섹션은 훈련 전 및 훈련 후 편향 지표, SHAP 값, 그리고 JSON Lines 포맷의 데이터세트에서의 특징 중요도를 표시해주는 부분 종속성 도표(PDP)를 계산하는 방법을 보여줍니다.
훈련 전 편향 지표의 계산
Gender
값이 0
인 대상에서 훈련 전 편향 지표를 측정하기 위한 레이블, 특징, 형식 및 방법을 지정합니다. 다음 예제에서는 headers
매개변수가 특징 이름을 먼저 제공합니다. 레이블 이름은 마지막에 제공됩니다. JSON 데이터세트의 경우, 마지막 헤더는 레이블 헤더입니다.
features
매개변수는 2D 배열 또는 행렬을 추출하는 JMESPath 표현식으로 설정되었습니다. 이 행렬의 각 행에는 각 레코드의 Features
목록이 반드시 포함되어야 합니다. label
매개변수는 실측 레이블의 목록을 추출하는 JMESPath 표현식으로 설정되었습니다. 이 목록의 각 요소에는 레코드의 레이블이 반드시 포함되어야 합니다.
다음과 같이 패싯 이름을 사용하여 민감한 속성을 지정합니다.
{
"dataset_type": "application/json",
"headers": ["Age","Gender","Income","Occupation","Target"],
"label": "[*].Label",
"features": "[*].Features",
"label_values_or_threshold": [1],
"facet": [
{
"name_or_index": "Gender",
"value_or_threshold": [0]
}
],
"methods": {
"pre_training_bias": {
"methods": "all"
}
}
}
모든 편향 지표의 계산
훈련 후 편향 지표를 계산하려면 먼저 훈련된 모델이 준비되어야 합니다. 다음 코드 예제는 JSON 데이터를 해당 예제에서의 형식으로 내보내는 바이너리 분류 모델에서의 결과입니다. 이 예제에서 predictions
아래의 각 요소는 레코드의 예측 출력에 해당합니다. 예제 코드에 포함되어 있는 predicted_label
키는 예측 레이블을 가리키고, probability
키는 확률 값을 가리킵니다.
{
"predictions": [
{"predicted_label":0,"probability":0.028986845165491},
{"predicted_label":1,"probability":0.825382471084594},
...
]
}
라는 SageMaker AI 엔드포인트에 모델을 배포할 수 있습니다your_endpoint
.
다음 예제에서는 매개변수 content_type
과 accept_type
이 설정되지 않았습니다. 따라서 content_type
및 accept_type
은 dataset_type
매개변수의 값에 해당하는 application/json
을 사용하도록 자동으로 설정됩니다. 그러면 SageMaker Clatify 처리 작업이 content_template
매개변수를 사용하여 모델 입력을 구성하게 됩니다.
다음 예제에서는 $records
자리 표시자를 레코드의 배열로 대체하여 모델 입력을 구성하고 있습니다. 그런 다음 record_template
매개변수는 각 레코드의 JSON 구조를 구성하고 $features
자리 표시자를 각 레코드의 특징 배열로 대체하게 됩니다.
다음 예제 분석 구성은 SageMaker Clalify 처리 작업으로 하여금 해당 데이터세트와 모델 모두에서 가능한 모든 편향 지표를 계산하도록 지시합니다.
{
"dataset_type": "application/json",
"headers": ["Age","Gender","Income","Occupation","Target"],
"label": "[*].Label",
"features": "[*].Features",
"label_values_or_threshold": [1],
"facet": [
{
"name_or_index": "Gender",
"value_or_threshold": [0]
}
],
"methods": {
"pre_training_bias": {
"methods": "all"
},
"post_training_bias": {
"methods": "all"
}
},
"predictor": {
"endpoint_name": "your_endpoint",
"content_template": "$records",
"record_template": "{\"Features\":$features}",
"label": "predictions[*].predicted_label"
}
}
SHAP 값의 계산
SHAP 분석에 대한 레이블은 지정하지 않아도 됩니다. 다음 예제에서는 headers
매개변수가 지정되지 않았습니다. 따라서 SageMaker Calify 처리 작업에서는 자리 표시자를 생성할 때 특징 헤더에는 column_0
또는 column_1
을, 레이블 헤더에는 label0
을 사용하는 등 일반적인 이름을 적용하게 됩니다. 분석 결과의 가독성을 높이기 위해 headers
및 label
에 각각의 값을 지정할 수 있습니다.
다음 구성 예제에서 확률 매개변수는 각각의 예측에서 개별 레코드의 확률을 추출해내는 JMESPath 표현식으로 설정되어 있습니다. 다음은 SHAP 값을 계산하는 예제입니다.
{
"dataset_type": "application/json",
"features": "[*].Features",
"methods": {
"shap": {
"num_clusters": 1
}
},
"predictor": {
"endpoint_name": "your_endpoint",
"content_template": "$records",
"record_template": "{\"Features\":$features}",
"probability": "predictions[*].probability"
}
}
부분 종속성 도표(PDP)의 계산
다음 예제는 PDP에서 특징 중요도를 표시하는 방법을 보여줍니다. 이 예제에서 특징 헤더는 제공되지 않습니다. 따라서 pdp
메서드의 features
매개변수는 해당 특징 열의 위치를 참조할 수 있도록 반드시 0으로 시작하는 인덱스를 사용해야 합니다. grid_resolution
매개변수는 해당 특징 값의 범위를 10
개의 버킷으로 분할합니다.
다음 예제에 나와 있는 매개변수들 모두는 SageMaker Clarify 처리 작업으로 하여금 x축에 10
개의 세그먼트가 있는 Income
PDP 그래프가 포함된 보고서를 생성하도록 지시합니다. y축은 Income
이 예측에 미치는 한계 영향을 보여주게 됩니다.
다음 구성 예제는 PDP에서 Income
의 중요도를 표시하는 방법을 보여줍니다.
{
"dataset_type": "application/json",
"features": "[*].Features",
"methods": {
"pdp": {
"features": [2],
"grid_resolution": 10
},
"report": {
"name": "report"
}
},
"predictor": {
"endpoint_name": "your_endpoint",
"content_template": "$records",
"record_template": "{\"Features\":$features}",
"probability": "predictions[*].probability"
}
}
편향 지표 및 특징 중요도 모두에 대한 계산
이전의 모든 구성 메서드를 단일 분석 구성 파일로 결합하여 하나의 작업만으로 모든 계산을 수행하는 것이 가능합니다. 다음 예제는 모든 단계를 결합했을 때의 분석 구성을 보여줍니다.
이 예제에서는 probability
매개변수가 설정되어 있습니다. 편향 분석에는 예측 레이블이 필요하므로 probability_threshold
매개변수가 0.5
로 설정되었고, 이는 확률 점수를 바이너리 레이블로 변환하는 데 사용됩니다. 이 예제에서는 pdp
메서드의 top_k_features
매개변수가 2
로 설정되어 있습니다. 이를 통해 SageMaker Clarify 처리 작업이 가장 큰 전역 SHAP 값을 가진 상위 특징 2
개를 대상으로 PDP를 계산하도록 지시됩니다.
{
"dataset_type": "application/json",
"headers": ["Age","Gender","Income","Occupation","Target"],
"label": "[*].Label",
"features": "[*].Features",
"probability_threshold": 0.5,
"label_values_or_threshold": [1],
"facet": [
{
"name_or_index": "Gender",
"value_or_threshold": [0]
}
],
"methods": {
"pre_training_bias": {
"methods": "all"
},
"post_training_bias": {
"methods": "all"
},
"shap": {
"num_clusters": 1
},
"pdp": {
"top_k_features": 2,
"grid_resolution": 10
},
"report": {
"name": "report"
}
},
"predictor": {
"endpoint_name": "your_endpoint",
"content_template": "$records",
"record_template": "{\"Features\":$features}",
"probability": "predictions[*].probability"
}
}
다음 예제는 자연어 처리(NLP)에서의 특징 중요도를 계산하기 위한 분석 구성 파일을 보여줍니다. 이 예제에서 투입되는 데이터세트는 다음과 같이 1개의 바이너리 레이블 열과 2개의 특징 열로 구성된 CSV 포맷의 테이블 형식 데이터세트입니다. 데이터세트는 dataset
처리의 입력 매개변수를 통해 SageMaker Clarify 작업에 제공됩니다.
0,2,"They taste gross"
1,3,"Flavor needs work"
1,5,"Taste is awful"
0,1,"The worst"
...
이 예제에서 바이너리 분류 모델은 이전 데이터세트에서 훈련되었습니다. 모델은 CSV 데이터를 받아들인 다음 0
~1
범위의 단일 점수를 다음과 같이 출력합니다.
0.491656005382537 0.569582343101501 ...
모델은 “your_model”이라는 SageMaker AI 모델을 생성하는 데 사용됩니다. 다음 분석 구성은 모델 및 데이터세트를 사용하여 토큰별 설명 가능성 분석을 실행하는 방법을 보여줍니다. text_config
매개변수는 NLP 설명 가능성 분석을 활성화합니다. granularity
매개변수는 분석 시 토큰을 해석해야 함을 나타냅니다.
영어에서 각 토큰은 하나의 단어입니다. 다음 예제는 평균 4의 “Rating”을 사용하여 현재 위치의 SHAP “baseline” 인스턴스를 제공하는 방법도 보여줍니다. 특수 마스크 토큰인 “[MASK]”는 “Comments”의 토큰(단어)을 대체하는 용도로 사용됩니다. 또한 이 예제에서는 GPU 엔드포인트 인스턴스 유형을 사용하여 추론의 속도를 높입니다.
{ "dataset_type": "
text/csv
", "headers": ["Target","Rating","Comments"
] "label": "Target
", "methods": { "shap": { "text_config": { "granularity": "token
", "language": "english
" } "baseline": [[4,"[MASK]"
]], } }, "predictor": { "model_name": "your_nlp_model
", "initial_instance_count":1
, "instance_type": "ml.g4dn.xlarge
" } }
다음 예제는 컴퓨터 비전에서의 특징 중요도를 계산하는 분석 구성 파일을 보여줍니다. 이 예제에서 입력 데이터세트는 JPEG 이미지로 구성되어 있습니다. 데이터세트는 dataset
처리의 입력 매개변수를 통해 SageMaker Clarify 작업에 제공됩니다. 이 예제에서는 SageMaker AI 이미지 분류 모델을 사용하여 설명 가능성 분석을 구성하는 방법을 보여줍니다. 이 예제에서 your_cv_ic_model
이라는 이름의 모델은 입력된 JPEG 이미지에서 동물의 종류를 분류하도록 훈련되었습니다.
{ "dataset_type": "
application/x-image
", "methods": { "shap": { "image_config": { "model_type": "IMAGE_CLASSIFICATION
", "num_segments":20
, "segment_compactness":10
} }, "report": { "name": "report
" } }, "predictor": { "model_name": "your_cv_ic_model
", "initial_instance_count":1
, "instance_type": "ml.p2.xlarge
", "label_headers": ["bird","cat","dog"
] } }
이미지 분류에 대한 자세한 내용은 이미지 분류 - MXNet 섹션을 참조하세요.
이 예에서 SageMaker AI 객체 감지 모델은 동일한 JPEG 이미지에 대해 your_cv_od_model
훈련되어 동물을 식별합니다. 다음 예제는 객체 감지 모델을 위한 설명 가능성 분석을 구성하는 방법을 보여줍니다.
{ "dataset_type": "
application/x-image
", "probability_threshold":0.5
, "methods": { "shap
": { "image_config": { "model_type": "OBJECT_DETECTION
", "max_objects":3
, "context":1.0
, "iou_threshold":0.5
, "num_segments":20
, "segment_compactness":10
} }, "report": { "name": "report
" } }, "predictor": { "model_name": "your_cv_od_model
", "initial_instance_count":1
, "instance_type": "ml.p2.xlarge
", "label_headers": ["bird","cat","dog"
] } }
다음 예시는 시계열(TS)에서의 특성 중요도를 계산하기 위한 분석 구성 파일을 보여줍니다. 이 예시에서 수신 데이터세트는 동적 및 정적 공변량 특성 집합이 있는 JSON 형식의 시계열 데이터세트입니다. 데이터세트는 데이터세트 처리 입력 파라미터 dataset_uri
를 통해 SageMaker Clarify 작업에 제공됩니다.
[
{
"item_id": "item1",
"timestamp": "2019-09-11",
"target_value": 47650.3,
"dynamic_feature_1": 0.4576,
"dynamic_feature_2": 0.2164,
"dynamic_feature_3": 0.1906,
"static_feature_1": 3,
"static_feature_2": 4
},
{
"item_id": "item1",
"timestamp": "2019-09-12",
"target_value": 47380.3,
"dynamic_feature_1": 0.4839,
"dynamic_feature_2": 0.2274,
"dynamic_feature_3": 0.1889,
"static_feature_1": 3,
"static_feature_2": 4
},
{
"item_id": "item2",
"timestamp": "2020-04-23",
"target_value": 35601.4,
"dynamic_feature_1": 0.5264,
"dynamic_feature_2": 0.3838,
"dynamic_feature_3": 0.4604,
"static_feature_1": 1,
"static_feature_2": 2
},
]
다음 섹션에서는 JSON 데이터세트의 비대칭 Shapley 값 알고리즘을 사용하여 예측 모델의 특성 어트리뷰션을 계산하는 방법을 설명합니다.
시계열 예측 모델에 대한 설명 계산
다음 예시 분석 구성은 시계열 예측 모델에 대한 설명을 계산하기 위해 작업에서 사용하는 옵션을 표시합니다.
{
'dataset_type': 'application/json',
'dataset_uri': 'DATASET_URI',
'methods': {
'asymmetric_shapley_value': {
'baseline': {
"related_time_series": "zero",
"static_covariates": {
"item1": [0, 0], "item2": [0, 0]
},
"target_time_series": "zero"
},
'direction': 'chronological',
'granularity': 'fine_grained',
'num_samples': 10
},
'report': {'name': 'report', 'title': 'Analysis Report'}
},
'predictor': {
'accept_type': 'application/json',
'content_template': '{"instances": $records}',
'endpoint_name': 'ENDPOINT_NAME',
'content_type': 'application/json',
'record_template': '{
"start": $start_time,
"target": $target_time_series,
"dynamic_feat": $related_time_series,
"cat": $static_covariates
}',
'time_series_predictor_config': {'forecast': 'predictions[*].mean[:2]'}
},
'time_series_data_config': {
'dataset_format': 'timestamp_records',
'item_id': '[].item_id',
'related_time_series': ['[].dynamic_feature_1', '[].dynamic_feature_2', '[].dynamic_feature_3'],
'static_covariates': ['[].static_feature_1', '[].static_feature_2'],
'target_time_series': '[].target_value',
'timestamp': '[].timestamp'
}
}
시계열 설명 가능성 구성
앞의 예에서는 methods
에서 asymmetric_shapley_value
를 사용하여 기준, 방향, 세분화 및 샘플 수와 같은 시계열 설명 가능성 인수를 정의합니다. 기준 값은 관련 시계열, 정적 공변량 및 대상 시계열의 세 가지 데이터 유형에 대해 모두 설정됩니다. 이러한 필드는 SageMaker Clarify 프로세서에 한 번에 한 항목에 대한 특성 어트리뷰션을 계산하도록 지시합니다.
예측기 구성
JMESPath 구문을 사용하여 SageMaker Clarify 프로세서가 전송하는 페이로드 구조를 완전히 제어할 수 있습니다. 이전 예시에서 predictor
config는 Clarify에 레코드를 '{"instances": $records}'
로 집계하도록 지시합니다. 여기서 각 레코드는 예시의 record_template
에 지정된 인수로 정의됩니다. $start_time
, $target_time_series
, $related_time_series
및 $static_covariates
는 데이터세트 값을 엔드포인트 요청 값에 매핑하는 데 사용되는 내부 토큰입니다.
마찬가지로 time_series_predictor_config
의 속성 forecast
는 엔드포인트 응답에서 모델 예측을 추출하는 데 사용됩니다. 예를 들어 엔드포인트 배치 응답은 다음과 같을 수 있습니다.
{
"predictions": [
{"mean": [13.4, 3.6, 1.0]},
{"mean": [23.0, 4.7, 3.0]},
{"mean": [3.4, 5.6, 2.0]}
]
}
다음 시계열 예측기 구성을 지정한다고 가정해 보겠습니다.
'time_series_predictor_config': {'forecast': 'predictions[*].mean[:2]'}
예측 값은 다음과 같이 구문 분석됩니다.
[
[13.4, 3.6],
[23.0, 4.7],
[3.4, 5.6]
]
데이터 구성
time_series_data_config
속성을 사용하여 SageMaker Clarify 프로세서에 dataset_uri
의 S3 URI로 전달된 데이터에서 데이터를 올바르게 구문 분석하도록 지시합니다.