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
  • Week 9
  • Week 10
    • 1.도메인 1·2 통합 복습: 데이터 준비 + 모델 개발
    • 2.도메인 3·4 통합 복습: 배포·오케스트레이션 + 모니터링·보안
    • 3.전체 모의고사 페이스: 4개 도메인 서비스 지도와 의사결정 트리로 최종 점검
    • 4.자주 틀리는 함정·키워드: "요구사항 → SageMaker 기능" 번역표
    • 5.D-Day 마무리: 시험 구성·시간 배분·시나리오 분해 전략
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기

© CertNote · 주간랩스

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

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

MLA-C01· AssociateWeek 10 · Day 1읽기 약 15분
핵심 정리
  • 도메인 1(데이터 준비 28%) + 도메인 2(모델 개발 26%) = 시험의 54%. 이 둘의 안정성이 합격의 토대다.
  • 두 도메인을 잇는 한 축은 재현성과 일관성 — 학습에 쓴 특성을 추론에도 똑같이 써야 하고(skew 방지), 편향·누수는 데이터 단계에서 잡는다.
  • 데이터: 실시간→Kinesis, 저장→S3, ETL→Glue, 비주얼 준비→Data Wrangler, 조회→Athena, 특성 일관성→Feature Store, 편향·설명→Clarify.
  • 모델: 문제 유형→빌트인 알고리즘 매핑이 최다 출제(시계열 DeepAR, 이상 RCF, 표 XGBoost, 추천 FM, 텍스트 BlazingText).
  • 평가 지표는 불균형 여부와 오류 비용의 비대칭으로 결정된다. 불균형 데이터에 Accuracy는 오답이 되기 쉽다.

Day 1 - 도메인 1·2 통합 복습: 데이터 준비 + 모델 개발

도메인 1·2 전체 지도

마지막 주의 첫날이다. 새 개념이 아니라 흩어진 지식을 시험장에서 꺼낼 형태로 다시 묶는다.

[도메인 1 — 데이터 준비 28%]
  수집               저장              준비·변환                특성 관리
  ─────              ─────             ──────────               ──────────
  Kinesis DS   ─┐                      Data Wrangler(비주얼)     Feature Store
  Firehose     ─┼─▶  S3 (데이터레이크) ─▶ Processing Job(코드)  ─▶  ├ 온라인 : 저지연 단건
  배치 업로드   ─┘    + Glue Catalog     Glue ETL / EMR(Spark)      └ 오프라인: S3·대량
  Ground Truth        (스키마·메타)      Athena(SQL 즉석 조회)            │
  (라벨링)                               Clarify(사전 편향 점검)          │
                                                                         ▼
[도메인 2 — 모델 개발 26%]                                          학습용 데이터
  학습  ───────────▶  튜닝  ───────────▶  평가  ───────────▶  모델 아티팩트
  Training Job        AMT                 지표 선택            model.tar.gz (S3)
  빌트인/프레임워크    Bayesian·Random     Accuracy·F1·AUC             │
  /커스텀 컨테이너     Grid·Hyperband      RMSE·MAE·R²                 ▼
  File/Pipe/FastFile   objective_metric    Clarify(사후 편향)    Model Registry
  Spot + 체크포인트    Debugger(과적합·병목 룰)                  (→ 도메인 3)

이 지도의 가로축은 "데이터가 모델이 되는 순서"이고, 세로축은 "누가 그 단계를 책임지는가"다. 시험 문항은 거의 항상 이 지도 위의 한 지점을 지목한다. 시나리오를 읽으며 "지금 어느 칸의 이야기인가"를 먼저 찍으면 보기 4개 중 절반은 다른 칸의 서비스라 즉시 소거된다.

도메인 1: 수집·저장 — 서비스 지도

데이터가 어디서 와서 어디에 쌓이는지를 먼저 정리한다.

요구사항AWS 서비스
실시간 스트림 수집Kinesis Data Streams / Firehose
대량 일괄 적재(데이터 레이크)S3
서버리스 ETL·카탈로그AWS Glue (+ Glue Data Catalog)
비주얼 데이터 준비(코드 없이)SageMaker Data Wrangler
대화형 분석 쿼리(S3 직접)Amazon Athena
분산 빅데이터 처리EMR (Spark)
사람이 라벨을 붙여야 함SageMaker Ground Truth
정형 데이터 웨어하우스 분석Amazon Redshift

시험은 "실시간인가 일괄인가", "코드를 짤 것인가 비주얼로 할 것인가", "어디에 저장할 것인가"로 서비스를 가른다. 실시간 이벤트면 Kinesis, 적재 후 변환이면 Glue, 비주얼 전처리·빠른 EDA면 Data Wrangler, S3를 SQL로 즉석 조회면 Athena다. 데이터 레이크의 중심은 거의 항상 S3이고, 나머지는 그 주변에서 수집·변환·조회 역할을 나눠 맡는다.

도메인 1: 준비·변환 도구 고르기

같은 "전처리"라도 도구가 갈린다. 이 구분이 문제의 단서가 된다.

도구성격고르는 순간
Data Wrangler비주얼 UI로 탐색·정제·변환, 흐름을 파이프라인으로 내보냄코드를 거의 안 쓰고 빠르게 EDA·전처리할 때
Processing Job내 스크립트(sklearn/Spark 등)를 관리형 인스턴스에서 실행커스텀 전처리·평가 코드를 재현 가능하게 돌릴 때
Glue ETL서버리스 Spark, 카탈로그 통합데이터 엔지니어링 성격의 정기 ETL
EMR (Spark)클러스터를 직접 다루는 대규모 분산 처리세밀한 튜닝·기존 Spark 자산이 있을 때
AthenaS3를 SQL로 조회(서버리스)데이터를 옮기지 않고 즉석 조회·샘플링

⚠️ 함정: "코드를 거의 작성하지 않고 시각적으로"가 나오면 Data Wrangler, "내가 쓴 전처리 스크립트를 관리형으로 실행"이면 Processing Job이다. 둘을 뒤집어 놓는 보기가 오답으로 쓰이기 쉽다. Data Wrangler와 Processing Job은 대립 관계가 아니라 Data Wrangler의 흐름을 Processing Job으로 내보내 파이프라인에 넣는 것이 표준 조합이다.

도메인 1: 특성공학 체크리스트

상황기법
수치 스케일이 제각각정규화(Min-Max) / 표준화(Z-score)
범주형 변수원-핫 인코딩(순서 없음) / 레이블·서수 인코딩(순서 있음)
결측치삭제 / 평균·중앙값·최빈값 대치(imputation) / 결측 표시 플래그 추가
클래스 불균형오버샘플링(SMOTE 등) · 언더샘플링 · 클래스 가중치(XGBoost scale_pos_weight)
극단값(이상치)·왜도가 큰 분포클리핑 / 로그·제곱근 변환 / 구간화(binning)
텍스트토큰화 → BoW·TF-IDF → 임베딩(BlazingText 등)
고차원 희소PCA로 차원 축소, 또는 임베딩

⚠️ 함정: 데이터 누수(leakage) 는 조용히 성능을 부풀린다. 대표 사례 두 가지. ① 스케일러·대치값을 전체 데이터로 계산한 뒤 학습/검증을 나누면 검증 정보가 학습에 새어 든다 — 반드시 학습 세트로 fit하고 검증에는 transform만 한다. ② 시계열을 무작위로 셔플해 분할하면 미래가 과거를 학습시킨다 — 시계열은 반드시 시간 순 분할이다.

도메인 1: Feature Store — 온라인 vs 오프라인

Feature Store는 특성을 한 번 정의해 학습과 추론이 함께 쓰게 만드는 중앙 저장소다.

구분온라인 스토어오프라인 스토어
목적실시간 추론용 단건 조회학습·배치용 대량 조회
지연밀리초 단위 저지연낮지 않음(분석형)
저장최신 값 위주S3에 이력 누적
조회 방법런타임 API로 레코드 단건 GetRecordAthena·Glue로 SQL 조회
대표 시나리오결제 시점 고객 특성 즉시 조회과거 시점 기준 학습 데이터셋 생성
import boto3
 
# 온라인 스토어: 실시간 추론 직전 단건 조회
fs_runtime = boto3.client('sagemaker-featurestore-runtime')
resp = fs_runtime.get_record(
    FeatureGroupName='customer-features',
    RecordIdentifierValueAsString='C-10293',
)
# 오프라인 스토어는 S3에 쌓이므로 Athena로 SQL 조회해 학습 데이터셋을 만든다

Feature Store의 존재 이유는 training-serving skew 제거다. 학습 때 계산한 특성과 추론 때 계산한 특성이 미세하게 달라지면 성능이 조용히 떨어진다. 특성을 한 곳에 정의·버전관리하고 온라인/오프라인 양쪽이 같은 정의를 공유하면 이 불일치가 사라진다. "여러 팀·여러 모델이 같은 특성을 재사용", "학습과 실시간 추론의 특성을 일치"라는 키워드가 나오면 Feature Store다.

도메인 1: SageMaker Clarify — 편향과 설명가능성

Clarify는 두 가지를 한다. ① 편향 탐지(bias detection) — 학습 전 데이터 편향, 학습 후 모델 편향을 측정한다. ② 설명가능성(explainability) — SHAP 값으로 어떤 특성이 예측에 얼마나 기여했는지 보여준다.

시점문항에 나오는 표현
사전(pre-training)"학습 데이터가 특정 집단에 치우쳤는가"
사후(post-training)"예측 결과가 집단별로 공정한가"
설명(SHAP)"어떤 특성이 이 예측을 만들었나"

편향은 두 시점에서 본다. 사전(pre-training) 편향은 데이터 자체의 불균형(예: 특정 집단 표본 부족)을, 사후(post-training) 편향은 모델 예측이 집단별로 다르게 나오는지를 측정한다. "공정성·편향·차별을 점검하라"는 Clarify, "예측 근거를 설명하라/특성 기여도"는 Clarify의 SHAP이다. 모니터링 단계에서는 Model Monitor가 Clarify와 연동해 운영 중 편향·특성 기여도 드리프트를 감시한다.

도메인 2: 빌트인 알고리즘 → 문제 유형 매핑

모델 개발은 "어떤 알고리즘을, 어떻게 학습시키는가"다. 빌트인 알고리즘의 대표 매핑은 다음과 같다.

문제 유형대표 알고리즘결정적 키워드
표 형식 분류/회귀XGBoost, Linear Learner정형 테이블, 컬럼 기반
이미지 분류·객체탐지Image Classification, Object Detection사진, 바운딩 박스
텍스트 분류·임베딩BlazingText문서 분류, 단어 벡터
시계열 예측DeepAR향후 N일 수요, 여러 관련 시계열
클러스터링K-Means라벨 없음, 고객 세그먼트
차원 축소PCA특성이 너무 많음
이상 탐지Random Cut Forest (RCF)스트림 이상치, 라벨 없는 비정상
추천(희소 상호작용)Factorization Machines사용자×아이템 희소 행렬

알고리즘 매핑을 묻는다. "시계열 다변량 예측"에 회귀를 고르면 틀린다 — DeepAR이다. "실시간 스트림 이상치"는 RCF, "수천 차원 희소 추천"은 Factorization Machines다. 또 학습 데이터 입력 모드도 묻는다. 데이터가 인스턴스 디스크보다 크거나 시작 지연을 줄이고 싶으면 Pipe 모드(또는 최신 Fast File 모드)로 S3에서 스트리밍하고, 작은 데이터면 File 모드로 통째로 복사한다.

도메인 2: 학습 인프라 — 입력 모드·인스턴스·Spot

축선택지고르는 기준
입력 모드File / Pipe / Fast File데이터가 디스크에 들어가나, 시작 지연을 줄여야 하나
저장소S3 / FSx for Lustre / EFS대용량을 매 epoch 반복 읽으면 FSx
인스턴스CPU(m5·c5) / GPU(g5·p4)전통 ML은 CPU, 딥러닝은 GPU
분산데이터 병렬 / 모델 병렬데이터가 많아 느림 / 모델이 GPU에 안 들어감
비용온디맨드 / Managed Spot중단 허용 + 여유 있는 마감이면 Spot

Spot은 반드시 체크포인트가 짝이다. checkpoint_s3_uri 없이 Spot만 켜면 회수될 때마다 처음부터 다시 학습해 오히려 손해다. 그리고 max_wait >= max_run이어야 한다 — Spot은 용량을 기다리는 시간이 추가로 필요하기 때문이다. "GPU로 바꿨는데 안 빨라진다"는 대개 연산이 아니라 I/O가 병목인 경우이며, 트리 계열(XGBoost)에 GPU를 붙이는 보기는 함정이다.

도메인 2: 하이퍼파라미터 튜닝(AMT)

SageMaker Automatic Model Tuning(AMT)은 하이퍼파라미터 탐색을 자동화한다.

전략성격키워드
Bayesian과거 결과로 다음 후보를 똑똑하게 고름(기본 권장)"적은 시도로 효율적으로"
Random무작위 샘플링, 병렬화 쉬움"넓게 병렬 탐색"
Grid이산 공간 전수 탐색"후보가 소수·이산"
Hyperband가망 없는 학습을 조기 종료"자원 절약·조기 종료"
from sagemaker.tuner import HyperparameterTuner, IntegerParameter, ContinuousParameter
 
tuner = HyperparameterTuner(
    estimator=estimator,
    objective_metric_name='validation:auc',   # 최적화 대상 지표
    objective_type='Maximize',
    hyperparameter_ranges={
        'max_depth': IntegerParameter(3, 10),
        'eta': ContinuousParameter(0.01, 0.3),
    },
    max_jobs=30,            # 총 학습 시도 수
    max_parallel_jobs=3,    # 동시 실행 수(Bayesian은 작게 두는 편이 유리)
    strategy='Bayesian',
)
tuner.fit({'train': train_input, 'validation': val_input})

튜닝 전략 선택은 "예산 효율 vs 병렬성"이다. Bayesian은 적은 시도로 좋은 값을 찾지만 앞선 결과를 참고하므로 병렬도를 너무 키우면 이점이 줄고, Random/Grid는 병렬화가 쉽지만 비효율적이며, Hyperband는 가망 없는 학습을 일찍 끊어 대규모 탐색의 비용을 줄인다. "적은 학습 횟수로 효율적 탐색"은 Bayesian, "조기 종료로 자원 절약"은 Hyperband가 키워드다.

도메인 2: 평가 — 올바른 지표 고르기

지표 선택은 거의 항상 "데이터가 불균형한가, 무엇을 더 중요하게 보는가"로 결정된다.

상황지표
균형 잡힌 분류Accuracy
불균형 분류, 전반 성능F1, AUC-ROC
거짓양성 비용이 큼(스팸 오분류)Precision 중시
거짓음성 비용이 큼(질병 놓침)Recall 중시
회귀RMSE, MAE, R²
회귀 중 큰 오차에 더 민감해야 함RMSE(제곱이라 큰 오차에 가중)
회귀 중 이상치 영향을 줄이고 싶음MAE
클러스터링(라벨 없음)군집 내 거리 등 비지도 품질 지표

불균형 데이터에서 Accuracy를 고르면 틀린다. 99%가 정상인 사기탐지에서 "전부 정상"이라 찍어도 정확도 99%지만 사기는 하나도 못 잡는다. 이런 시나리오는 F1·AUC·Recall로 평가해야 한다. "사기/질병을 놓치면 안 된다"는 Recall, "오탐(거짓경보) 비용이 크다"는 Precision이 핵심어다. 과적합 징후(학습 정확도↑·검증 정확도↓)는 정규화·드롭아웃·조기종료·데이터 증강으로 대응한다.

도메인 1·2 혼동하기 쉬운 짝

혼동 쌍가르는 한마디
Data Wrangler vs Processing Job비주얼·코드 없이 / 내 스크립트를 관리형 실행
Feature Store 온라인 vs 오프라인저지연 단건(실시간 추론) / S3 대량(학습·배치)
Clarify vs Debugger편향·설명가능성 / 학습 과정 텐서·자원 디버깅
데이터 병렬 vs 모델 병렬데이터를 쪼갬 / 모델을 쪼갬

증상 → 원인 → 조치

증상흔한 원인조치
검증 성능이 학습보다 크게 낮다과적합정규화·조기 종료·드롭아웃·데이터 증강, 모델 단순화
검증 성능이 비현실적으로 높다데이터 누수분할 전 스케일링/대치 여부, 정답을 암시하는 특성 점검
정확도는 높은데 소수 클래스를 못 잡는다불균형 + 잘못된 지표F1·AUC·Recall로 평가, 리샘플링·클래스 가중치 적용
학습 시작까지 대기가 길다File 모드로 대용량 전체 다운로드Pipe / Fast File, 반복 읽기가 크면 FSx for Lustre
Spot 학습이 매번 처음부터 돈다체크포인트 미설정 또는 재개 로직 없음checkpoint_s3_uri 지정 + 스크립트에 재개 구현
실시간 추론 결과가 오프라인 평가와 다르다training-serving skewFeature Store 또는 추론 파이프라인으로 전처리 일원화

내일은 도메인 3·4 — 배포·오케스트레이션과 모니터링·보안을 같은 방식으로 묶는다.

📖 용어

  • 도메인 비중 : MLA-C01이 데이터 준비 28%·모델 개발 26%·배포 22%·모니터링 보안 24%로 출제되는 비율. 1·2가 절반을 넘는다.
  • training-serving skew : 학습 때 만든 특성과 추론 때 만든 특성이 미묘하게 달라 성능이 조용히 떨어지는 현상.
  • Feature Store 온라인/오프라인 스토어 : 실시간 추론용 저지연 단건 조회 저장소 / 학습·배치용 S3 기반 대량 조회 저장소.
  • 데이터 누수(leakage) : 학습해서는 안 될 정보(검증 데이터 통계, 미래 값, 정답을 암시하는 컬럼)가 학습에 새어 들어가 성능이 과대평가되는 것.
  • Processing Job : 내 전처리·평가 스크립트를 SageMaker 관리형 인스턴스에서 돌리는 작업. 끝나면 인스턴스가 내려간다.
  • SHAP : 각 특성이 개별 예측에 얼마나 기여했는지 수치로 보여주는 설명 기법. Clarify가 이걸 계산해준다.
  • 사전 편향 / 사후 편향 : 데이터 자체가 특정 집단에 치우쳤는가 / 모델 예측이 집단별로 다르게 나오는가.
  • AMT (Automatic Model Tuning) : 하이퍼파라미터 조합을 자동으로 여러 번 학습해 최적값을 찾아주는 SageMaker 기능. 최적화 대상인 objective_metric은 학습 로그로 방출되어야 튜너가 읽을 수 있다.
  • 불균형 데이터 : 한 클래스가 압도적으로 많은 데이터. Accuracy가 무의미해지고 F1·AUC·Recall이 필요해진다.

📝 연습 문제

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

문제 1

한 팀은 동일한 고객 특성(최근 구매액, 가입 기간 등)을 실시간 추천 모델과 야간 배치 이탈 예측 모델 양쪽에서 사용한다. 학습과 추론 사이 특성 불일치(skew)를 막고 특성을 재사용하려 한다. 가장 적절한 것은?

문제 2

신용 심사 모델을 배포하기 전에 특정 성별·연령 집단에 대해 예측이 불공정하게 치우치지 않는지 점검하고, 각 특성이 개별 예측에 얼마나 기여했는지도 설명하려 한다. 가장 적절한 도구는?

문제 3

99.5%가 정상 거래이고 0.5%만 사기인 데이터로 분류 모델을 만들었다. 모델 성능을 가장 적절히 평가하는 지표 조합은?

문제 4

학습 데이터셋이 단일 인스턴스의 로컬 디스크 용량보다 훨씬 크고, 학습 시작 시 전체를 복사하느라 지연이 큰 문제가 있다. 가장 적절한 개선은?

문제 5

제한된 학습 예산 안에서 가능한 한 적은 학습 시도로 좋은 하이퍼파라미터 조합을 찾으려 한다. SageMaker AMT에서 가장 적절한 전략은?

이전Week 9 종합: 보안·거버넌스·비용 복습Week 9 · Day 5다음 도메인 3·4 통합 복습: 배포·오케스트레이션 + 모니터링·보안Week 10 · Day 2

참고 공식 자료

  • MLA-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon SageMaker AI 공식 문서(새 탭에서 열림)
  • Amazon S3 공식 문서(새 탭에서 열림)
  • AWS Glue 공식 문서(새 탭에서 열림)
  • Amazon Athena 공식 문서(새 탭에서 열림)
  • Amazon FSx 공식 문서(새 탭에서 열림)

이 페이지

  • 도메인 1·2 전체 지도
  • 도메인 1: 수집·저장 — 서비스 지도
  • 도메인 1: 준비·변환 도구 고르기
  • 도메인 1: 특성공학 체크리스트
  • 도메인 1: Feature Store — 온라인 vs 오프라인
  • 도메인 1: SageMaker Clarify — 편향과 설명가능성
  • 도메인 2: 빌트인 알고리즘 → 문제 유형 매핑
  • 도메인 2: 학습 인프라 — 입력 모드·인스턴스·Spot
  • 도메인 2: 하이퍼파라미터 튜닝(AMT)
  • 도메인 2: 평가 — 올바른 지표 고르기
  • 도메인 1·2 혼동하기 쉬운 짝
  • 증상 → 원인 → 조치
  • 용어
  • 연습 문제