CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
  • Week 1
    • 1.ML 수명주기와 ML 엔지니어의 역할
    • 2.ML 문제 유형과 평가 지표 기초
    • 3.AWS ML 스택 한눈에 보기
    • 4.SageMaker 개요: Studio, 학습/추론, 빌트인 알고리즘
    • 5.Week 1 종합 — ML 기초·AWS 스택 복습
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
    • 1.SageMaker Model Monitor: 데이터 품질·모델 품질 드리프트
    • 2.편향·설명가능성 드리프트: Clarify로 운영 중 감시
    • 3.운영 모니터링: CloudWatch 지표·알람, 엔드포인트 지연·오류, 로깅
    • 4.재학습·모델 유지보수: 자동 재학습 파이프라인과 A/B·섀도 테스트
    • 5.Week 8 종합: ML 솔루션 모니터링·유지보수 복습
  • Week 9
  • Week 10
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← MLA-C01/Week 8/Day 2

기준: MLA-C01 시험 가이드·오류 제보

MLA-C01· AssociateWeek 8 · Day 2읽기 약 11분
핵심 정리
  • Clarify는 학습 전 데이터 편향, 학습 후 모델 편향, 예측 설명(SHAP)을 계산하고 이를 운영 중 지속 감시로 확장한다.
  • 편향 드리프트 모니터는 DPPL·DI 같은 사후 편향 지표를 주기적으로 재계산해 그룹 간 공정성 변화를 추적한다.
  • 피처 기여도 드리프트 모니터는 SHAP 중요도가 베이스라인 대비 얼마나 바뀌었는지를 라벨 없이 감시한다.
  • 라벨이 늦게 오는 도메인에서 피처 기여도 드리프트는 성능 저하보다 먼저 울리는 조기 경보다.
  • 네 모니터 모두 "베이스라인 → cron 스케줄 → Processing Job 비교 → CloudWatch 지표"라는 동일한 골격을 공유한다.

Day 2 - 편향·설명가능성 드리프트: Clarify로 운영 중 감시

Clarify가 붙는 세 지점

Clarify는 학습 전·학습 후·운영 중 세 지점에 붙는다. 같은 편향 지표 엔진이 단계만 바꿔 재사용된다고 보면 된다.

 ① 학습 전 (데이터)        ② 학습 후 (모델)          ③ 운영 중 (엔드포인트)
 ─────────────────      ─────────────────       ──────────────────────
  원본 데이터 편향          예측 편향 · SHAP          Bias Drift Monitor
  CI · DPL · KL/JS   ──▶   DPPL · DI · AD    ──▶   Feature Attribution
  (라벨 분포를 본다)        (예측 결과를 본다)         Drift Monitor
        │                       │                         │
        ▼                       ▼                         ▼
   샘플링·재수집          모델·임계치 조정          베이스라인 대비 이탈 감지
                                                          │
                                                  CloudWatch 지표 → 알람

왜 편향과 설명을 운영 중에도 봐야 할까? 학습 시점에 공정했던 모델도, 들어오는 데이터 분포가 바뀌면 특정 그룹에 불리해질 수 있다. 또 모델이 의존하는 피처의 중요도가 시간이 지나며 달라지면, 그것 자체가 모델 행동이 변했다는 경고 신호다. MLA-C01은 "책임 있는 AI(responsible AI)"와 모니터링을 엮어 이 부분을 묻는다.

Clarify의 두 얼굴: 편향과 설명가능성

Clarify가 하는 일은 크게 둘이다.

기능무엇을 측정운영 모니터라벨 필요
편향(Bias) 탐지민감 그룹 간 결과 차이(예: 성별·연령)Bias Drift Monitor지표에 따라 다름
설명가능성(Explainability)각 피처가 예측에 기여한 정도(SHAP)Feature Attribution Drift Monitor불필요

설명가능성은 SHAP(SHapley Additive exPlanations) 값으로 계산한다. SHAP는 게임 이론에서 나온 개념으로, 각 피처가 예측값을 베이스라인에서 얼마나 밀어올리거나 끌어내렸는지를 공정하게 분배해 수치화한다.

💡 관련 이론: 편향 지표 중 시험에서 다루는 것은 사전(pre-training) 단계의 CI(Class Imbalance, 클래스 불균형), DPL(Difference in Positive Proportions in Labels)과 사후(post-training) 단계의 DPPL(예측에서의 양성 비율 차이), DI(Disparate Impact) 등이다. 핵심은 "학습 전 데이터 편향"과 "학습 후 모델 예측 편향"을 분리해서 본다는 점이다. Bias Drift Monitor는 사후 편향 지표가 운영 중 베이스라인 대비 얼마나 벌어지는지를 추적한다.

편향 지표 — 언제 무엇을 보나

지표 이름을 전부 외울 필요는 없지만, "라벨을 보는 지표인가, 예측을 보는 지표인가" 그리고 "차(difference)인가 비(ratio)인가" 두 축은 구분해 두면 문제가 쉬워진다.

단계지표무엇을 비교읽는 법
사전CI (Class Imbalance)그룹 간 표본 수 자체의 불균형0에 가까울수록 균형
사전DPL그룹별 실제 라벨의 양성 비율 차이0이면 라벨 분포가 대등
사전KL / JS그룹별 라벨 분포 간 거리클수록 두 그룹 분포가 다름
사후DPPL그룹별 예측 양성 비율 차이0이면 예측이 대등 · 라벨 불필요
사후DI (Disparate Impact)그룹별 예측 양성 비율의 비율1이면 대등 · 라벨 불필요
사후AD / RD그룹별 정확도 / 재현율 차이0이면 대등 · 정답 라벨 필요

같은 "사후 편향"이라도 라벨 요구가 갈린다. DPPL·DI는 예측만 있으면 계산되므로 운영 중 실시간 감시가 가능하다. 반면 AD·RD처럼 정확도·재현율을 그룹별로 비교하는 지표는 ground truth가 있어야 한다. Bias Drift Monitor가 "일부 라벨 불필요"로 분류되는 이유가 여기에 있다.

피처 기여도 드리프트 — 라벨 없이 모델 행동 변화 감지

피처 기여도(Feature Attribution) 드리프트는 각 피처의 중요도 순위·크기가 베이스라인과 얼마나 달라졌는가를 본다. 결정적 장점은 정답 레이블이 필요 없다는 것이다. 모델이 어떤 피처에 의존하는지는 입력과 예측만으로 SHAP로 계산할 수 있기 때문이다.

예를 들어 신용 평가 모델이 학습 시에는 "소득"을 가장 중요하게 봤는데, 운영 중 갑자기 "우편번호"의 기여도가 치솟았다면, 정답을 모르더라도 "모델 행동이 바뀌었다"는 강력한 경고다.

 베이스라인 SHAP 중요도        운영 중 SHAP 중요도
 ────────────────────       ────────────────────
  소득      ████████ 0.41     소득      ███ 0.15
  신용점수   █████ 0.27        우편번호   ███████ 0.34   ← 순위 역전
  거래횟수   ███ 0.18          신용점수   ████ 0.22
  우편번호   ██ 0.09           거래횟수   ███ 0.17
                                 │
                                 ▼
             중요도 "순위"가 얼마나 흐트러졌는지를 점수화 → 임계치 초과 시 위반
from sagemaker.model_monitor import ModelExplainabilityMonitor
from sagemaker.clarify import SHAPConfig, ModelConfig, ExplainabilityAnalysisConfig
 
explainability_monitor = ModelExplainabilityMonitor(
    role=role, instance_count=1, instance_type="ml.m5.xlarge",
)
shap_config = SHAPConfig(
    baseline="s3://my-bucket/shap-baseline.csv",
    num_samples=100,
    agg_method="mean_abs",     # 피처별 절대 SHAP 평균으로 중요도 집계
)
explainability_monitor.suggest_baseline(
    data_config=...,           # 입력 데이터 구성
    model_config=ModelConfig(model_name="my-model", instance_type="ml.m5.xlarge",
                             instance_count=1),
    explainability_config=shap_config,
)
  • baseline은 SHAP 계산의 기준점(참조 데이터). 이 기준 대비 각 피처가 예측을 얼마나 움직였는지를 잰다.
  • num_samples를 키우면 SHAP 추정이 안정되지만 Processing Job 시간과 비용이 함께 오른다.
  • agg_method="mean_abs"는 부호를 없앤 절대값 평균 — "방향 말고 영향력 크기"로 중요도를 매기겠다는 뜻이다.

피처 기여도 드리프트의 강점은 "조기 경보"에 있다. 모델 품질 모니터는 ground truth가 모일 때까지(며칠~몇 주) 기다려야 성능 저하를 확인할 수 있다. 반면 피처 기여도는 정답 없이 즉시 계산되므로, 성능이 실제로 떨어지기 전에 "모델이 다른 피처에 의존하기 시작했다"는 선행 신호를 준다. 라벨 수집이 느린 도메인에서 특히 가치 있다.

편향 드리프트 모니터 — 공정성을 지속 감시

편향 드리프트 모니터는 운영 데이터에서 사후 편향 지표(예: DPPL, DI)를 주기적으로 재계산해, 학습 시점 베이스라인 대비 편향이 커졌는지 추적한다. 민감 속성(facet)과 양성 결과를 지정해야 한다.

from sagemaker.model_monitor import ModelBiasMonitor
from sagemaker.clarify import BiasConfig
 
bias_monitor = ModelBiasMonitor(role=role, instance_count=1, instance_type="ml.m5.xlarge")
bias_config = BiasConfig(
    label_values_or_threshold=[1],        # 양성(긍정) 결과 값
    facet_name="gender",                   # 민감 속성(facet)
    facet_values_or_threshold=[0],         # 비교 대상 그룹
)
  • facet: 공정성을 따질 민감 속성 컬럼(성별·연령대·지역 등). 어떤 컬럼을 facet으로 볼지는 비즈니스·규제가 정한다. 기술적으로 자동 선택되지 않는다.
  • label_values_or_threshold: 무엇을 "유리한 결과"로 볼지. 대출 승인=1, 거절=0 같은 정의.
  • 연속형 속성(예: 나이)은 임계값으로 그룹을 가른다.

편향 드리프트는 ground truth 없이 예측만으로 계산하는 지표(예: DPPL)도 있어, 운영 중 라벨이 없어도 일부 감시가 가능하다.

⚠️ 함정: "운영 중 특정 인구 그룹에 대한 모델의 공정성 변화를 감시"는 Bias Drift Monitor(Clarify), "운영 중 각 피처의 중요도 변화를 감시"는 Feature Attribution Drift Monitor(Clarify)다. 둘을 데이터 품질 모니터(단순 분포 통계)와 혼동하기 쉽다. 데이터 품질은 "피처 X의 평균이 변했다"를 잡고, 피처 기여도는 "피처 X가 예측에 미치는 영향이 변했다"를 잡는다 — 후자가 모델 행동에 더 직접적이다.

네 모니터를 한 표로 정리

시험 직전 이 표 하나로 정리된다.

모니터감시 대상도구라벨 필요
데이터 품질입력 피처 분포 통계Model Monitor(Deequ)불필요
모델 품질예측 성능 지표Model Monitor필요
편향 드리프트그룹 간 예측 편향Clarify일부 불필요
피처 기여도 드리프트피처 중요도(SHAP)Clarify불필요

한 문장으로 갈라 보면 이렇게 된다.

질문 문장답
"입력 값의 평균·결측·범주가 변했나?"데이터 품질
"예측이 실제로 틀리기 시작했나?"모델 품질
"특정 그룹에 점점 불리해지나?"편향 드리프트
"모델이 다른 피처에 기대기 시작했나?"피처 기여도 드리프트
# 공통 흐름: Clarify 기반 모니터도 동일하게 스케줄로 운영한다
explainability_monitor.create_monitoring_schedule(
    endpoint_input=predictor.endpoint_name,
    ground_truth_input=None,                  # 피처 기여도는 라벨 불필요
    analysis_config="s3://my-bucket/analysis-config.json",
    output_s3_uri="s3://my-bucket/explain-results/",
    schedule_cron_expression="cron(0 * ? * * *)",   # 매시간
)

analysis_config에는 facet·라벨 정의·SHAP 설정 등 분석 조건이 담긴다. 편향 모니터는 여기에 ground_truth_input을 추가로 연결해 라벨 기반 지표까지 계산할 수 있다.

Clarify 모니터가 꼬일 때: 증상 → 원인 → 조치

증상흔한 원인조치
편향 모니터가 지표를 일부만 낸다라벨이 필요한 지표(AD·RD)인데 ground truth 연결 안 됨ground_truth_input 연결, 또는 DPPL·DI 등 예측 기반 지표로 감시
피처 기여도 실행이 오래 걸리고 비싸다num_samples가 과도, 매시간 스케줄샘플 수를 낮추고 주기를 일 단위로 완화
기여도 드리프트만 뜨고 성능은 정상상관 피처 간 기여도 재분배(성능 영향 없음)즉시 재학습보다 관찰. 상위 피처 순위 중심으로 임계치 재설정
facet 지정이 거부된다facet 컬럼이 입력에 없거나 값 정의가 잘못됨캡처 데이터 스키마 확인, 연속형은 임계값으로 그룹화
배포 직후 편향이 급변신규 세그먼트 유입(신규 지역·연령대)데이터 품질의 categorical_values_check와 교차 확인 후 베이스라인 갱신
학습 땐 공정했는데 운영에서 편향 확대데이터 분포 변화가 그룹별로 다르게 일어남재학습 데이터에 그룹 균형 확보(사전 지표 CI·DPL 점검)

다음 글에서는 모델 품질이 아니라 시스템 운영 관점의 모니터링 — CloudWatch 지표·알람, 엔드포인트 지연·오류, 로깅을 본다.

📖 용어

  • SageMaker Clarify : 데이터·모델의 편향과 예측 설명(SHAP)을 계산하는 서비스. 운영 중 지속 감시까지 확장된다.
  • SHAP : 각 피처가 예측을 기준점에서 얼마나 밀어올리거나 끌어내렸는지 게임 이론으로 공정하게 분배해 수치화한 값.
  • facet(민감 속성) : 공정성을 따질 기준 컬럼(성별·연령대 등). 기술이 아니라 비즈니스·규제가 정한다.
  • 사전 편향 지표 : 학습 전 데이터 자체의 편향. CI(그룹 표본 불균형), DPL(그룹별 라벨 양성 비율 차이) 등.
  • 사후 편향 지표 : 학습된 모델의 예측 편향. DPPL(예측 양성 비율 차이), DI(그 비율), AD·RD(정확도·재현율 차이) 등.
  • DI (Disparate Impact) : 두 그룹의 예측 양성 비율을 나눈 값. 1에 가까울수록 대등하다.
  • 편향 드리프트 모니터 : 사후 편향 지표를 주기적으로 재계산해 베이스라인 대비 공정성 악화를 잡는 모니터.
  • 피처 기여도 드리프트 모니터 : SHAP 중요도의 순위·크기가 베이스라인에서 얼마나 벗어났는지 라벨 없이 감시하는 모니터.
  • 조기 경보(leading indicator) : 성능 저하가 확정되기 전에 먼저 울리는 신호. 라벨이 늦게 오는 도메인에서 특히 값지다.
  • analysis_config : facet·라벨 정의·SHAP 설정 등 Clarify 분석 조건을 담은 설정 파일.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

운영 중인 신용 평가 모델에 대해 정답 레이블이 확정되기까지 수 주가 걸린다. 성능 저하를 가능한 한 빨리 감지하고 싶다. 가장 적절한 방법은?

문제 2

SageMaker Clarify가 각 피처의 예측 기여도를 계산하는 데 사용하는 기법은?

문제 3

"운영 중 모델이 특정 성별 그룹에 점점 불리한 예측을 내는지 감시하라"는 요구에 맞는 모니터는?

문제 4

데이터 품질 모니터와 피처 기여도 드리프트 모니터의 차이로 가장 정확한 것은?

문제 5

Clarify 기반 모니터(편향·피처 기여도)가 Day 1의 Model Monitor 모니터들과 공유하는 운영 골격으로 옳은 것은?

이전SageMaker Model Monitor: 데이터 품질·모델 품질 드리프트Week 8 · Day 1다음 운영 모니터링: CloudWatch 지표·알람, 엔드포인트 지연·오류, 로깅Week 8 · Day 3

참고 공식 자료

  • MLA-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon CloudWatch 공식 문서(새 탭에서 열림)

이 페이지

  • Clarify가 붙는 세 지점
  • Clarify의 두 얼굴: 편향과 설명가능성
  • 편향 지표 — 언제 무엇을 보나
  • 피처 기여도 드리프트 — 라벨 없이 모델 행동 변화 감지
  • 편향 드리프트 모니터 — 공정성을 지속 감시
  • 네 모니터를 한 표로 정리
  • Clarify 모니터가 꼬일 때: 증상 → 원인 → 조치
  • 용어
  • 연습 문제