기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
분석 구성 파일
SageMaker Clarify를 사용하여 설명 가능성 및 편향에 대해 데이터 및 모델을 분석하려면 처리 작업을 구성해야 합니다. 이 처리 작업을 위한 구성의 일부에는 분석 파일의 구성도 포함됩니다. 분석 파일은 편향 분석 및 설명 가능성에 대한 매개변수를 지정합니다. 처리 작업 및 분석 파일을 구성하는 SageMaker Clarify 처리 작업 구성 방법은 섹션을 참조하세요.
이 가이드에서는 이러한 분석 구성 파일의 스키마와 매개변수에 대해 설명합니다. 이 가이드에는 테이블 형식의 데이터 세트에 대한 편향 지표를 계산하고 자연어 처리(NLP), 컴퓨터 비전(CV) 및 시계열(TS) 문제에 대한 설명을 생성하기 위한 분석 구성 파일의 예도 포함되어 있습니다.
분석 구성 파일을 생성하거나 SageMaker PythonSDK
분석 구성 파일의 스키마
다음 섹션에서는 매개변수의 요구 사항 및 설명을 포함하여 분석 구성 파일의 스키마에 대해 설명합니다.
분석 구성 파일을 위한 요구 사항
SageMaker Clarify 처리 작업은 분석 구성 파일이 다음 요구 사항에 따라 구조화될 것으로 예상합니다.
-
처리 입력의 이름은
analysis_config.
여야 합니다. -
분석 구성 파일은 JSON 형식이며 UTF-8로 인코딩됩니다.
-
분석 구성 파일이 Amazon S3 객체입니다.
분석 구성 파일에 추가적인 매개변수를 지정하는 것이 가능합니다. 다음 섹션에서는 사용 사례 및 원하는 유형의 분석에 대한 SageMaker Clarify 처리 작업을 사용자 지정하는 다양한 옵션을 제공합니다.
분석 구성 파일에서는 다음 매개변수를 지정할 수 있습니다.
-
version – (선택사항) 분석 구성 파일 스키마의 버전 문자열입니다. 버전이 제공되지 않은 경우 SageMaker Clarify는 지원되는 최신 버전을 사용합니다. 현재는
1.0
버전만 지원 가능합니다. -
dataset_type – 해당 데이터 세트의 형식입니다. 입력 데이터 세트 형식은 다음 값 중 하나일 수 있습니다.
테이블 형식
-
CSV용
text/csv
-
application/jsonlines
- SageMaker JSON 라인 고밀도 형식 -
JSON용
application/json
-
Apache Parquet인 경우
application/x-parquet
-
컴퓨터 비전 문제에 대한 설명 가능성을 활성화하려면
application/x-image
-
시계열 예측 모델 설명
JSON용
application/json
-
dataset_uri – (선택 사항) 기본 데이터 세트의 균일한 리소스 식별자(URI)입니다. S3 URI 접두사를 제공하는 경우 SageMaker Clarify 처리 작업은 접두사 아래에 있는 모든 S3 파일을 반복적으로 수집합니다. 컴퓨터 비전 문제에 대해 이미지 매니페스트 파일에 S3 URI 접두사 또는 S3URI를 제공할 수 있습니다.
dataset_uri
가 제공된 경우, 이는 데이터 세트 처리 작업의 입력보다 우선하게 됩니다. 이미지 및 시계열 사용 사례를 제외한 모든 형식 유형의 경우 SageMaker Clarify 처리 작업은 입력 데이터 세트를 테이블 형식의 데이터 프레임으로 테이블 형식의 데이터 세트로 로드합니다. 이 형식을 사용하면 입력 데이터 세트를 SageMaker 쉽게 조작하고 분석할 수 있습니다. -
헤더 – (선택 사항)
테이블 형식: 테이블 형식 데이터 세트의 열 이름을 포함하는 문자열 배열입니다. 에 값이 제공되지 않은 경우
headers
SageMaker Clarify 처리 작업은 데이터 세트에서 헤더를 읽습니다. 데이터 세트에 헤더가 없는 경우 Clarify 처리 작업은 0 기반 열 인덱스를 기반으로 자리 표시자 이름을 자동으로 생성합니다. 예를 들어, 첫 번째 및 두 번째 열의 자리 표시자 이름은column_0
,column_1
등이 됩니다.참고
또는
application/jsonlines
dataset_type
인 경우 규칙에 따라 는 다음 이름을 순서대로 포함해야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
가 인 경우 는 데이터 세트에서 기본 진실 레이블을 추출하기 위해 작성된 JMESPath표현식 application/jsonlines
label
이어야 합니다. 통상적으로,headers
가 지정된 경우라면 이는 해당 레이블 이름을 포함하게 됩니다. -
dataset_type
이 인 경우 는 데이터 세트의 각 레코드에 대한 기본 진실 레이블을 추출하기 위해 작성된 JMESPath표현식 application/json
label
이어야 합니다. 이 JMESPath 표현식은 i번째 레이블이 i번째 레코드와 상호 관련되는 레이블 목록을 생성해야 합니다.
-
-
predicted_label – (선택사항) 문자열 또는 0으로 시작하는 정수 인덱스입니다. 제공된 경우,
predicted_label
은 테이블 형식 데이터 세트에서 해당 예측 레이블이 포함된 열을 찾는 데 사용됩니다. 예측 레이블은 훈련 후 편향 지표를 계산하는 데 사용됩니다. 데이터 세트에 예측 레이블이 포함되지 않은 경우,predicted_label
매개변수는 선택사항입니다. 계산에 예측 레이블이 필요한 경우 SageMaker Clarify 처리 작업은 모델에서 예측을 가져옵니다.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
는 데이터 세트에서 예측된 레이블을 추출하기 위해 작성된 유효한 JMESPath표현식이어야 predicted_label
합니다. 통상적으로,headers
가 지정된 경우라면 이는 해당 예측 레이블 이름을 포함하게 됩니다. -
dataset_type
이 인 경우 는 데이터 세트의 각 레코드에 대해 예측된 레이블을 추출하기 위해 작성된 JMESPath표현식 application/json
predicted_label
이어야 합니다. 표현JMESPath식은 i번째 예측 레이블이 i번째 레코드인 예측 레이블 목록을 생성해야 합니다.
-
-
기능 – (선택 사항)
dataset_type
이application/jsonlines
또는 인 non-time-series 경우 사용 사례에 필요합니다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
. 훈련 후 편향 지표를 계산하는 데 사용되는 예측 레이블이 포함된 데이터 세트URI의 S3입니다. 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 – (선택 사항) 내부 조인을 수행하는 동안 식별자 열로 사용할 테이블 형식 데이터 세트의 열 이름 또는 제로 기반 인덱스입니다. 이 열은 식별자로만 사용됩니다. 편향 분석이나 특징 속성 분석과 같은 다른 종류의 계산에는 사용되지 않습니다. 다음과 같은 경우에는
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
로 설정됩니다.
-
-
패싯 – (선택 사항) 편향 분석에 필요합니다. 편향을 측정하는 비교 대상인 민감한 속성으로 구성된 패싯 객체의 배열입니다. 민감한 속성을 사용하지 않고 모델을 훈련시킨 경우에도 패싯을 사용하여 데이터 세트와 모델의 편향 특성을 파악하는 것이 가능합니다. 자세한 내용은 의 패싯을 참조하세요편향 및 공정성에 대한 Amazon SageMaker Clarify 용어. 각 패싯 객체에는 다음 필드가 포함됩니다.
-
name_or_index – (선택 사항) 테이블 형식의 데이터 세트에 있는 민감한 속성 열의 이름 또는 제로 기반 인덱스입니다.
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) 또는 0 기반 인덱스입니다예측 레이블의 조건부 인구통계학적 차이(CDDPL).
-
facet_dataset_uri – (선택 사항) dataset_type이 인 경우에만 적용됩니다
text/csv
. 편향 분석을 URI 위한 민감한 속성을 포함하는 데이터 세트의 S3입니다. 민감한 속성을 사용하지 않고 모델을 훈련시킨 경우에도 패싯을 사용하여 데이터 세트와 모델의 편향 특성을 파악하는 것이 가능합니다.참고
만약 패싯 데이터 세트 또는 기본 데이터 세트가 여러 파일로 분할되어 있다면, 두 데이터 세트를 조인하기 위한 식별자 열이
joinsource_name_or_index
에 의해 지정되어 있어야 합니다. 반드시facet
매개변수를 사용하여 패싯 데이터 세트의 각 패싯을 식별해야 합니다. -
facet_headers - (선택 사항)
facet_dataset_uri
이 지정된 경우에만 적용됩니다. 패싯 데이터 세트의 열 이름과 선택적으로 패싯 데이터 세트와 기본 데이터 세트를 조인할 식별자 열 헤더가 포함된 문자열 배열은 섹션을 참조하세요joinsource_name_or_index
. -
time_series_data_config – (선택 사항) 시계열의 데이터 처리에 사용할 구성을 지정합니다.
item_id – 문자열 또는 0 기반 정수 인덱스입니다. 이 필드는 공유 입력 데이터 세트에서 항목 ID를 찾는 데 사용됩니다.
타임스탬프 - 문자열 또는 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
-
예측 레이블의 조건부 인구통계학적 차이(CDDPL)용
CDDPL
-
반사실적 플립테스트(FT)용
FT
-
일반화 엔트로피(GE)용
GE
-
-
-
shap - SHAP 값을 계산하려면 이 메서드를 포함합니다. SageMaker Clarify 처리 작업은 커널 SHAP 알고리즘을 지원합니다.
shap
객체에는 다음 매개변수가 있습니다.-
기준선 – (선택 사항) 배경 데이터 세트라고도 하는 SHAP 기준선 데이터 세트입니다. 테이블 형식 데이터 세트 또는 컴퓨터 비전 문제에 해당하는 기준 데이터 세트에 대한 추가적인 요구 사항은 다음과 같습니다. SHAP 기준에 대한 자세한 내용은 섹션을 참조하세요. SHAP 설명 가능성의 기준
-
테이블 형식 데이터 세트의 경우 는 현재 위치 기준 데이터 또는 기준 파일의 S3URI일
baseline
수 있습니다.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
데이터 세트는 해당 입력 데이터 세트와 구조 및 형식이 동일해야 합니다.
-
-
컴퓨터 비전 문제의 경우 는 입력 이미지에서 특성(세그먼트)을 마스닝하는 데 사용되는 이미지URI의 S3일
baseline
수 있습니다. 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 – (선택 사항) 커널 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 값의 평균입니다.
-
중앙값 - 모든 인스턴스의 로컬 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_tokens - (선택 사항) 전역 SHAP 값을 기반으로 한 최대 상위 토큰 수입니다. 기본값은
50
입니다. 데이터 세트에 같은 토큰이 여러 번 나타날 수 있습니다. SageMaker Clarify 처리 작업은 각 토큰의 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 - 부분 종속성 플롯()을 계산하는 이 방법을 포함합니다PDPs. 를 생성하기 위한 분석 구성의 예는 섹션을 PDPs참조하세요. 부분 종속성 플롯 계산(PDPs)
-
features –
shap
메서드가 요청되지 않은 경우에는 필수입니다. PDP 플롯을 계산하고 그리기 위한 특성 이름 또는 인덱스의 배열입니다. -
top_k_features – (선택 사항) PDP 플롯을 생성하는 데 사용되는 상위 기능의 수를 지정합니다.
features
가 제공되지 않았지만shap
메서드가 요청된 경우 SageMaker Clarify 처리 작업은 SHAP 속성에 따라 상위 기능을 선택합니다. 기본값은10
입니다. -
grid_resolution – 숫자 값의 범위를 나누게 되는 버킷의 수입니다. 이는 PDP 플롯에 대한 그리드의 세분성을 지정합니다.
-
-
asymmetric_shapley_value - 시계열 예측 모델에 대한 설명 가능성 지표를 계산하려면 이 방법을 포함합니다. SageMaker Clarify 처리 작업은 비대칭 Shapley 값 알고리즘을 지원합니다. 비대칭 Shapley 값은 대칭 어시옴을 삭제하는 Shapley 값의 변형입니다. 자세한 내용은 비대칭 Shapley 값: 모델에 구애받지 않는 설명 가능성에 인과적 지식 통합을 참조하세요
. 이러한 값을 사용하여 기능이 예측 결과에 어떻게 기여하는지 확인합니다. 비대칭 Shapley 값은 예측 모델이 입력으로 사용하는 시계열 데이터의 시간 종속성을 고려합니다. 알고리즘에는 다음 파라미터가 포함됩니다.
방향 - 사용 가능한 유형은
chronological
, 및anti_chronological
입니다bidirectional
. 시간적 구조는 시간적 또는 역시간적 순서 또는 둘 다로 탐색할 수 있습니다. 연대순 설명은 첫 번째 단계부터 정보를 반복적으로 추가하여 구축됩니다. 시간 순서에 따른 설명에는 마지막 단계에서 시작하여 뒤로 이동하는 정보가 추가됩니다. 후자의 순서는 주가 예측과 같이 최신 편향이 있는 경우 더 적절할 수 있습니다.세분화 - 사용할 설명 세분화입니다. 사용 가능한 세분화 옵션은 다음과 같습니다.
timewise -
timewise
설명은 저렴하며 과거 n번째 날의 정보가 향후 m번째 날의 예측에 얼마나 기여했는지 파악하는 등 특정 시간 단계에 대한 정보만 제공합니다. 결과 속성은 개별적으로 정적 공변량을 설명하지 않으며 대상 시계열과 관련 시계열을 구분하지 않습니다.fine_grained –
fine_grained
설명은 계산적으로 더 집약적이지만 입력 변수의 모든 속성에 대한 전체 분석을 제공합니다. 이 메서드는 대략적인 설명을 계산하여 런타임을 줄입니다. 자세한 내용은 다음 파라미터 를 참조하세요num_samples
.참고
fine_grained
설명은chronological
순서만 지원합니다.
num_samples – (선택 사항) 이 인수는
fine_grained
설명에 필요합니다. 숫자가 높을수록 근사치가 더 정확합니다. 이 숫자는 입력 기능의 차원에 따라 조정되어야 합니다. 결과값이 너무 크지 않은 경우 썸의 규칙은 이 변수를 (1 + max(관련 시계열 수, 정적 공변량 수))^2로 설정하는 것입니다.baseline – (선택 사항) 해당 데이터 세트(배경 데이터라고도 함)의 값을 대체 out-of-coalition하는 기준 구성입니다. 다음 조각은 기준 구성의 예를 보여줍니다.
{ "related_time_series": "zero", "static_covariates": {
<item_id_1>
: [0, 2],<item_id_2>
: [-1, 1] }, "target_time_series": "zero" }대상 시계열 또는 관련 시계열과 같은 시간 데이터의 경우 기준 값 유형은 다음 값 중 하나일 수 있습니다.
zero
- 모든 out-of-coalition 값이 0.0으로 대체됩니다.mean
- 모든 out-of-coalition 값은 시계열의 평균으로 대체됩니다.
정적 공변량의 경우 모델 요청이 정적 공변량 값을 취하는 경우에만 기준 항목을 제공해야 하며, 이 경우 이 필드가 필요합니다. 모든 항목에 대한 기준을 목록으로 제공해야 합니다. 예를 들어 정적 공변량이 두 개인 데이터 세트가 있는 경우 기준 구성은 다음과 같을 수 있습니다.
"static_covariates": {
<item_id_1>
: [1, 1],<item_id_2>
: [0, 1] }앞의 예에서는
<item_id_1>
그리고<item_id_2>
는 데이터 세트의 항목 ID입니다.
-
report – (선택사항) 이 객체를 사용하면 분석 보고서를 사용자 지정할 수 있습니다. 시계열 설명 작업에는 이 파라미터가 지원되지 않습니다. 분석 결과의 일부로 동일한 보고서의 사본은 Jupyter Notebook 보고서, HTML 보고서 및 PDF 보고서 세 개가 있습니다. 해당 객체에는 다음 매개변수가 있습니다.
-
name – 보고서 파일의 파일 이름입니다. 예를 들어
name
이MyReport
라면, 해당 보고서 파일의 이름은MyReport.ipynb
,MyReport.html
,MyReport.pdf
가 됩니다. 기본값은report
입니다. -
title – (선택사항) 보고서의 제목 문자열입니다. 기본값은
SageMaker Analysis Report
입니다.
-
-
-
predictor – 분석을 위해 모델이 수행한 예측이 필요한 경우 필수입니다. 예를 들어
shap
,asymmetric_shapley_value
pdp
, 또는post_training_bias
메서드가 요청되었지만 예측 레이블이 입력 데이터 세트의 일부로 제공되지 않는 경우를 예로 들 수 있습니다. 다음은predictor
와 함께 사용되는 매개변수입니다.-
model_name - CreateModel 에서 생성한 SageMaker 모델의 이름입니다API. 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을 제공하는 경우 필수입니다. 의 값은 작업InstanceCount의 와 다를
initial_instance_count
수 있지만 1:1 비율을 사용하는 것이 좋습니다. -
instance_type – 섀도우 엔드포인트의 인스턴스 유형을 지정합니다. 사용자가
endpoint_name
대신에model_name
을 제공할 경우 필수입니다. 예를 들어,instance_type
은 “ml.m5.large”로 설정이 가능합니다.instance_type
으로 지정된 값이 모델의 추론 시간을 줄이는 데 도움이 되는 경우도 있습니다. 예를 들어 효율적으로 실행하려면 자연어 처리 모델과 컴퓨터 비전 모델에는 일반적으로 그래픽 처리 유닛(GPU) 인스턴스 유형이 필요합니다. -
endpoint_name - CreateEndpoint 에서 생성한 SageMaker 엔드포인트의 이름입니다API. 제공된 경우,
endpoint_name
이model_name
매개변수보다 우선 적용됩니다. 기존 엔드포인트를 사용하면 섀도우 엔드포인트의 부트스트랩 시간이 단축되지만, 이로 인해 해당 엔드포인트의 부하가 크게 증가할 수도 있습니다. 또한 일부 분석 메서드(예:shap
및pdp
)의 경우 합성 데이터 세트를 생성하여 엔드포인트로 전송하기도 합니다. 이로 인해 엔드포인트의 지표나 캡처된 데이터가 합성 데이터로 오염되어 실제 사용량을 정확하게 반영하지 못하게 될 수 있습니다. 이러한 이유로 인해 SageMaker Clarify 분석을 위해 기존 프로덕션 엔드포인트를 사용하는 것은 일반적으로 권장되지 않습니다. -
target_model – 의 TargetModel SageMaker InvokeEndpoint 파라미터로 전달되는 문자열 값입니다API. 모델(model_name 매개변수로 지정됨) 또는 엔드포인트(endpoint_name 매개변수로 지정됨)가 다중 모델인 경우에 필요합니다. 다중 모델 엔드포인트에 대한 자세한 내용은 섹션을 참조하세요다중 모델 엔드포인트.
-
custom_attributes – (선택사항) 사용자가 엔드포인트에 제출된 추론 요청에 대한 추가 정보를 제공할 수 있게 해주는 문자열입니다. 문자열 값은 의
CustomAttributes
SageMaker InvokeEndpoint 파라미터로 전달됩니다API. -
content_type – 엔드포인트에서 예측을 가져오는 데 사용되는 모델 입력 형식입니다. 제공된 경우 의
ContentType
파라미터 SageMaker InvokeEndpoint로 전달됩니다API.-
컴퓨터 비전 설명 가능성 용도인 경우, 유효한 값은
image/jpeg
,image/png
또는application/x-npy
입니다.content_type
이 제공되지 않으면 기본값은image/jpeg
입니다. 시계열 예측 설명 가능성의 경우 유효한 값은 입니다
application/json
.-
다른 유형의 설명 가능성 용도인 경우, 유효한 값은
text/csv
,application/jsonlines,
및application/json
입니다.content_type
가dataset_type
인 경우 의 값이 필요합니다application/x-parquet
. 미지정 시content_type
은dataset_type
매개변수의 값이 기본값으로 적용됩니다.
-
-
accept_type – 엔드포인트에서 예측을 가져오는 데 사용되는 모델 출력의 형식입니다. 의 값은 의
Accept
SageMaker InvokeEndpoint 파라미터로accept_type
전달됩니다API.-
컴퓨터 비전 설명 가능성의 경우
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}"
이고 레코드에1
,2
및 라는 세 개의 숫자 특성 값이 있는 경우3
레코드는 JSON 선 으로 모델로 전송됩니다{"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 – (선택 사항) 편향 분석을 위해 모델 출력에서 예측된 레이블을 추출하는 데 사용되는 제로 기반 정수 인덱스 또는 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"]
으로 설정해야 합니다. -
확률 - (선택 사항) 설명 가능성 분석을 위해 확률(점수)을 추출하거나(시계열 설명 가능성 제외) 편향 분석을 위해 예측된 레이블을 선택하는 데 사용되는 제로 기반 정수 인덱스 또는 JMESPath 표현식 문자열입니다.
probability
의 값은 다음과 같이accept_type
매개변수의 값에 따라 달라지게 됩니다.-
만약
accept_type
이text/csv
라면,probability
는 해당 모델 출력에 포함된 확률(점수)의 인덱스입니다.probability
가 제공되지 않으면 전체 모델 출력이 확률(점수)인 것으로 간주됩니다. -
accept_type
가 JSON 데이터(application/jsonlines
또는application/json
)인 경우 는 모델 출력에서 확률(점수)을 추출하는 데 사용되는 JMESPath 표현식probability
이어야 합니다.
-
-
time_series_predictor_config – (선택 사항) 시계열 설명에만 사용됩니다. 에서 S3로 전달된 데이터에서 데이터를 올바르게 구문 분석하는 방법을 SageMaker Clarify 프로세서URI에 지시하는 데 사용됩니다
dataset_uri
.예측 - 예측 결과를 추출하는 데 사용되는 JMESPath 표현식입니다.
-
예제 분석 구성 파일
다음 섹션에는 CSV 데이터 형식, JSON 행 형식, 자연어 처리(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 ...
다음 섹션에서는 CSV 형식의 데이터 세트에 대한 특성 중요성을 보여주는 훈련 전 및 훈련 후 편향 지표, SHAP 값 및 부분 종속성 플롯(PDPs)을 계산하는 방법을 보여줍니다.
모든 훈련 전 편향 지표의 계산
이 예제 구성은 이전 샘플 데이터 세트가 Gender
값이 0
인 샘플에 대해 우호적으로 편향되어 있는지 여부를 측정하는 방법을 보여줍니다. 다음 분석 구성은 SageMaker Clarify 처리 작업에 데이터 세트에 대한 모든 훈련 전 편향 지표를 계산하도록 지시합니다.
{ "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 엔드포인트 에 배포됩니다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 처리 작업에 모델 출력의 두 번째 열에서 확률 점수를 추출하도록 지시합니다(제로 기반 인덱싱 사용).
부분 종속성 플롯 계산(PDPs)
다음 예제에서는 를 사용하여 분석 보고서에서 Income
기능의 중요성을 보는 방법을 보여줍니다PDPs. 보고서 파라미터는 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
기능에 대한 부분 종속 플롯(PDPs)을 계산하도록 지시합니다.
{ "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 Clarify 처리 작업에 SageMaker 모델 이름을 제공할 수 있습니다. 다음 예제는 your_model
이라는 이름의 모델을 지정하는 방법을 보여줍니다. SageMaker Clarify 처리 작업은 구성을 사용하여 섀도우 엔드포인트를 생성합니다.
{ ... "predictor": { "model_name": "
your_model
", "initial_instance_count":1
, "instance_type": "ml.m5.large
", "probability":1
} }
다음 예제에서는 JSON 행 형식의 테이블 형식 데이터 세트에 대한 편향 분석 및 설명 가능성 분석을 구성하는 방법을 보여줍니다. 이 예제에서 수신 데이터 세트는 이전 섹션과 동일한 데이터를 갖지만, 촘촘한 SageMaker JSON 행 형식입니다. 각 줄은 유효한 JSON 객체입니다. “Features” 키는 특징 값의 배열을 가리키고, “Label” 키는 실측 레이블을 가리킵니다. 데이터 세트는 '데이터 세트' 처리 입력에 의해 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} ...
다음 섹션에서는 JSON 선 형식의 데이터 세트에 대한 특성 중요성을 보여주는 훈련 전 및 훈련 후 편향 지표, SHAP 값 및 부분 종속성 플롯(PDPs)을 계산하는 방법을 보여줍니다.
훈련 전 편향 지표의 계산
Gender
값이 0
인 대상에서 훈련 전 편향 지표를 측정하기 위한 레이블, 특징, 형식 및 방법을 지정합니다. 다음 예제에서는 headers
매개변수가 특징 이름을 먼저 제공합니다. 레이블 이름은 마지막에 제공됩니다. 마지막 헤더는 통상적으로 레이블 헤더입니다.
features
파라미터는 SageMaker Clarify 처리 작업이 각 레코드에서 특성 배열을 추출할 수 있도록 표현JMESPath식 '기능'으로 설정됩니다. label
파라미터는 SageMaker Clarify 처리 작업이 각 레코드에서 기본 진실 레이블을 추출할 수 있도록 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 엔드포인트에 모델을 배포할 수 있습니다your_endpoint
. 다음 예제 분석 구성은 SageMaker Clarify 처리 작업에 데이터 세트와 모델 모두에 대해 가능한 모든 편향 지표를 계산하도록 지시합니다. 이 예제에서는 content_type
및 accept_type
매개변수가 설정되어 있지 않습니다. 따라서 이는 dataset_type 매개변수의 값에 해당하는 application/jsonlines
를 사용하도록 자동으로 설정됩니다. SageMaker Clarify 처리 작업은 파라미터를 사용하여 $features
자리 표시자를 특성 배열로 대체하여 모델 입력을 content_template
구성합니다.
{ "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 Clarify 처리 작업은 기능 헤더의 경우 column_0
또는 , label0
레이블 헤더column_1
의 경우 와 같은 일반 이름을 사용하여 자리 표시자를 생성해야 합니다. 분석 결과의 가독성을 높이기 위해 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
" } }
부분 종속 플롯 계산(PDPs)
다음 예제에서는 에서 '수입'의 중요성을 보는 방법을 보여줍니다PDP. 이 예제에서 특징 헤더는 제공되지 않습니다. 따라서 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
기능에 PDPs 대해 계산하도록 지시합니다.
{ "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 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}, ... ]
다음 섹션에서는 JSON 선 형식의 데이터 세트에 대한 특성 중요성을 보여주는 훈련 전 및 훈련 후 편향 지표, SHAP 값 및 부분 종속성 플롯(PDPs)을 계산하는 방법을 보여줍니다.
훈련 전 편향 지표의 계산
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 엔드포인트에 모델을 배포할 수 있습니다your_endpoint
.
다음 예제에서는 매개변수 content_type
과 accept_type
이 설정되지 않았습니다. 따라서 content_type
및 accept_type
은 dataset_type
매개변수의 값에 해당하는 application/json
을 사용하도록 자동으로 설정됩니다. 그런 다음 SageMaker Clarify 처리 작업은 content_template
파라미터를 사용하여 모델 입력을 구성합니다.
다음 예제에서는 $records
자리 표시자를 레코드의 배열로 대체하여 모델 입력을 구성하고 있습니다. 그런 다음 record_template
파라미터는 각 레코드의 JSON 구조를 구성하고 $features
자리 표시자를 각 레코드의 특성 배열로 바꿉니다.
다음 예제 분석 구성은 SageMaker 데이터 세트와 모델 모두에 대해 가능한 모든 편향 지표를 계산하도록 처리 작업 명료화에 지시합니다.
{ "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 Clarify 처리 작업은 기능 헤더의 경우 column_0
또는 , label0
레이블 헤더column_1
의 경우 와 같은 일반 이름을 사용하여 자리 표시자를 생성합니다. 분석 결과의 가독성을 높이기 위해 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" } }
부분 종속성 플롯 계산(PDPs)
다음 예제에서는 에서 기능 중요도를 보는 방법을 보여줍니다PDPs. 이 예제에서 특징 헤더는 제공되지 않습니다. 따라서 pdp
메서드의 features
매개변수는 해당 특징 열의 위치를 참조할 수 있도록 반드시 0으로 시작하는 인덱스를 사용해야 합니다. grid_resolution
매개변수는 해당 특징 값의 범위를 10
개의 버킷으로 분할합니다.
다음 예제의 파라미터는 모두 SageMaker Clarify 처리 작업에 x축에 10
세그먼트가 Income
있는 에 대한 PDP 그래프가 포함된 보고서를 생성하도록 지시합니다. y축은 Income
이 예측에 미치는 한계 영향을 보여주게 됩니다.
다음 구성 예제는 Income
에서 의 중요성을 보는 방법을 보여줍니다PDPs.
{ "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
로 설정되어 있습니다. 이렇게 하면 글로벌 SHAP 값이 가장 큰 상위 2
기능에 PDPs 대해 계산하도록 SageMaker Clarify 처리 작업에 지시합니다.
{ "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. 이 예제에서 수신 데이터 세트는 CSV 다음과 같이 바이너리 레이블 열 1개와 특성 열 2개가 있는 형식의 테이블 형식 데이터 세트입니다. 데이터 세트는 dataset
처리 입력 파라미터에 의해 SageMaker Clarify 작업에 제공됩니다.
0,2,"They taste gross" 1,3,"Flavor needs work" 1,5,"Taste is awful" 0,1,"The worst" ...
이 예제에서 바이너리 분류 모델은 이전 데이터 세트에서 훈련되었습니다. 모델은 CSV 데이터를 수락하고 다음과 1
같이 0
~ 사이의 단일 점수를 출력합니다.
0.491656005382537 0.569582343101501 ...
모델은 “your_model”이라는 SageMaker 모델을 생성하는 데 사용됩니다. 다음 분석 구성은 모델 및 데이터 세트를 사용하여 토큰별 설명 가능성 분석을 실행하는 방법을 보여줍니다. text_config
파라미터는 NLP 설명 가능성 분석을 활성화합니다. granularity
매개변수는 분석 시 토큰을 해석해야 함을 나타냅니다.
영어에서 각 토큰은 하나의 단어입니다. 다음 예제에서는 4의 평균 SHAP “등급”을 사용하여 현재 위치의 “베이스라인” 인스턴스를 제공하는 방법도 보여줍니다. 특수 마스크 토큰 “[MASK]”은 “의견”의 토큰(단어)을 대체하는 데 사용됩니다. 또한 이 예제에서는 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 이미지 분류 모델을 사용하여 설명 가능성 분석을 구성하는 방법을 보여줍니다. 이 예제에서는 라는 모델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 객체 감지 모델 your_cv_od_model
가 동일한 JPEG 이미지에 대해 훈련되어 동물을 식별합니다. 다음 예제는 객체 감지 모델을 위한 설명 가능성 분석을 구성하는 방법을 보여줍니다.
{ "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 형식의 시계열 데이터 세트입니다. 데이터 세트는 데이터 세트 처리 입력 파라미터 에 의해 SageMaker Clarify 작업에 제공됩니다dataset_uri
.
[ { "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' } }
시계열 설명 가능성 구성
앞의 예에서는 asymmetric_shapley_value
에서 methods
를 사용하여 기준, 방향, 세분화 및 샘플 수와 같은 시계열 설명성 인수를 정의합니다. 기준 값은 관련 시계열, 정적 공변량 및 대상 시계열의 세 가지 데이터 유형에 모두 설정됩니다. 이러한 필드는 SageMaker Clarify 프로세서에 한 번에 한 항목에 대한 특성 속성을 계산하도록 지시합니다.
예측기 구성
SageMaker Clarify 프로세서가 구문을 사용하여 전송하는 JMESPath 페이로드 구조를 완전히 제어할 수 있습니다. 이전 예제에서 predictor
config는 Clarify에 레코드를 '{"instances": $records}'
로 집계하도록 지시합니다. 여기서 각 레코드는 예제record_template
에 지정된 인수로 정의됩니다. $start_time
, $related_time_series
, $target_time_series
및 $static_covariates
는 데이터 세트 값을 엔드포인트 요청 값에 매핑하는 데 사용되는 내부 토큰입니다.
마찬가지로 의 속성forecast
time_series_predictor_config
은 엔드포인트 응답에서 모델 예측을 추출하는 데 사용됩니다. 예를 들어 엔드포인트 배치 응답은 다음과 같을 수 있습니다.
{ "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 프로세서에 URI에서 S3로 전달된 데이터에서 데이터를 올바르게 구문 분석하도록 지시합니다dataset_uri
.