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
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
  • Week 1
    • 1.ML 수명주기(ML Lifecycle): 비즈니스 문제 정의부터 A/B 테스트까지
    • 2.ML용 데이터 저장소: S3·EFS·FSx for Lustre·데이터 포맷
    • 3.데이터 수집: Kinesis·Glue·배치 vs 스트리밍
    • 4.데이터 레이블링: SageMaker Ground Truth·액티브 러닝(Active Learning)·레이블 품질
    • 5.1주차 종합 복습: ML 개요와 데이터 엔지니어링 1
  • Week 2
    • 1.데이터 변환과 ETL: AWS Glue, Spark, 그리고 EMR
    • 2.학습 데이터 파이프라인 자동화: Step Functions와 SageMaker Pipelines
    • 3.데이터 증강과 합성: 부족한 데이터·불균형 데이터 대응
    • 4.학습 데이터 저장·접근 최적화: Pipe 모드 vs File 모드·FSx for Lustre·분산 학습
    • 5.2주차 종합 복습: 데이터 변환부터 분산 학습 데이터 공급까지
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
합격 후기

© CertNote · 주간랩스

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

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

MLS-C01· AssociateWeek 2 · Day 5읽기 약 13분
핵심 정리
  • Week 2는 데이터 엔지니어링의 두 번째 축 — 변환 → 자동화 → 증강 → 효율적 공급을 다뤘다.
  • Glue = 서버리스·운영 최소, EMR = 세밀 제어·다중 프레임워크. 판단 축은 운영 부담·워크로드 성격·프레임워크 다양성.
  • Step Functions = 범용·혼합 워크플로, SageMaker Pipelines = ML 전용·lineage. 혼합 구성도 정석이다.
  • 불균형은 데이터 층(SMOTE) + 알고리즘 층(가중치·임계값) + 평가 층(PR-AUC) 3층으로 대응한다.
  • 데이터 공급의 목표는 하나다 — 비싼 GPU가 I/O를 기다리며 놀지 않게 하는 것.

Day 5 - 2주차 종합 복습: 데이터 변환부터 분산 학습 데이터 공급까지

Week 2 흐름 한눈에 보기

[원시 데이터]
   │  Day 1: 변환 (ETL)
   ▼  Glue (서버리스 Spark) / EMR (풀 컨트롤 클러스터)
[정제·가공된 데이터]
   │  Day 2: 파이프라인 자동화
   ▼  Step Functions (범용) / SageMaker Pipelines (ML 전용) + EventBridge 트리거
[재현 가능한 학습 데이터셋]
   │  Day 3: 증강·합성·불균형 처리
   ▼  증강(반전·역번역) / 합성(GAN) / SMOTE·클래스 가중치
[충분하고 균형 잡힌 데이터셋]
   │  Day 4: 저장·접근 최적화
   ▼  File/Pipe/FastFile 모드 / FSx for Lustre / ShardedByS3Key
[학습에 효율적으로 공급] → 모델 학습

핵심 메시지: 데이터 준비는 변환 한 단계로 끝나지 않는다. 가공 → 자동화 → 증강 → 효율적 공급이 모두 모델 품질과 비용에 직접 영향을 준다.

Day 1 복습 — 변환과 ETL

  • ETL = Extract → Transform → Load. ML에서 산출물은 학습 데이터셋이다.
  • AWS Glue: 서버리스 Spark. Data Catalog, Crawler, ETL Job, DynamicFrame. 운영 부담 최소, 산발적·표준적 ETL에 적합. 과금은 DPU-시간.
  • Amazon EMR: EC2 클러스터에서 Hadoop/Spark/Hive/Presto를 직접 운영. 세밀 튜닝·다중 프레임워크·스팟 절감이 필요한 무거운 워크로드에 적합.
  • 대규모 전처리: Parquet 컬럼형 포맷, 파티셔닝(partition pruning), 적절한 파일 크기, predicate pushdown.
  • Spark 감각: 셔플이 가장 비싸고, 스큐가 잡 시간을 지배한다. 잡 북마크로 증분 처리를 한다.

💡 개념: Glue vs EMR 판단의 세 축 — 운영 부담(최소화→Glue), 워크로드 성격(짧고 산발적→Glue, 길고 무거운 배치→EMR), 프레임워크 다양성(Spark만→Glue, 여러 엔진→EMR).

Day 2 복습 — 파이프라인 자동화

  • Step Functions: 범용 오케스트레이터. ASL(JSON)로 상태 머신 정의. ML+비ML 혼합, 승인, 외부 시스템, 복잡한 분기에 강하다.
  • SageMaker Pipelines: ML 전용. Python SDK. ProcessingStep/TrainingStep/TuningStep/ConditionStep/RegisterModel. lineage와 모델 레지스트리 내장.
  • 선택 기준: 순수 ML CI/CD와 추적성 → SageMaker Pipelines, ML+비ML 혼합과 승인 → Step Functions. 혼합 사용도 가능하다.
  • 트리거: EventBridge(cron/이벤트), S3 이벤트 → 파이프라인 시작.

⚠️ 함정: "ML이니까 무조건 SageMaker Pipelines"는 단순화된 오답이다. 비-ML 단계·승인·복잡한 분기가 많으면 Step Functions가 더 적합하다.

Day 3 복습 — 증강·합성·불균형 처리

  • 증강: 레이블을 보존하는 변형으로 기존 데이터를 다양화. 이미지(반전·회전·컬러 지터), 텍스트(동의어 치환·역번역). 도메인 의미 보존이 필수다.
  • 합성: 새로운 가상 데이터를 생성. GAN, 시뮬레이션, 합성 정형 데이터(프라이버시). 분포 갭 위험 → 검증은 실데이터로.
  • 불균형 처리: 데이터 층(오버/언더샘플링, SMOTE=보간 합성), 알고리즘 층(클래스 가중치, 임계값), 평가 층(accuracy 금지 → recall, F1, PR-AUC).

SMOTE는 단순 복제와 달리 소수 샘플과 최근접 이웃 사이를 보간해 새 점을 만든다. 1:999 같은 불균형에서 accuracy는 거짓 안심을 주므로 평가는 recall과 PR-AUC로 해야 한다.

Day 4 복습 — 저장·접근 최적화

옵션한 줄 요약적합한 경우
File 모드전체 다운로드 후 시작소규모, 반복 읽기
Pipe 모드S3 스트리밍, 즉시 시작매우 큰 데이터, 순차 처리
FastFile 모드스트리밍 + POSIX 접근큰 데이터 + 랜덤 접근
FSx for Lustre초고속 병렬 FS, S3 연동대규모 + 반복 + 저지연 + 분산
EFS관리형 NFS, 다중 마운트여러 잡·노트북이 공유
ShardedByS3Key노드별로 데이터 분할 배분데이터 병렬 분산 학습
  • 핵심 목표: 비싼 GPU가 I/O를 기다리며 놀지 않게 하는 것.
  • 샤딩 전제 조건: 데이터가 여러 S3 객체로 나뉘어 있어야 효과가 난다.
  • 분산 학습은 데이터 병렬(모델 복제 + 데이터 분할)이 기본이고, 모델이 GPU에 안 들어갈 때만 모델 병렬을 쓴다.

🎯 통합 시나리오: "수 TB 데이터, 8개 GPU 노드, 시작이 너무 느리다." → 데이터를 여러 Parquet 샤드로 분할(Day 1) → 파이프라인으로 자동 생성(Day 2) → 불균형이면 SMOTE/가중치(Day 3) → ShardedByS3Key + FSx for Lustre로 공급(Day 4).

Week 2 서비스·기법 지도

역할도구·기법한 줄
서버리스 ETLAWS GlueSpark 변환을 클러스터 관리 없이
메타데이터Glue Data Catalog스키마·위치·파티션 중앙 저장소
노코드 정제Glue DataBrew시각적 정제 레시피
빅데이터 클러스터Amazon EMRHadoop·Spark·Hive·Presto 직접 운영
중간 옵션EMR Serverless클러스터 없이 Spark 잡만 실행
범용 오케스트레이션AWS Step Functions상태 머신으로 이질적 서비스 연결
ML 파이프라인SageMaker PipelinesML 전용 CI/CD, lineage 내장
트리거Amazon EventBridgecron·이벤트로 파이프라인 시작
전처리 실행SageMaker Processing관리형 분산 전처리·평가 잡
불균형 보정SMOTE, 클래스 가중치데이터 층·알고리즘 층 대응
데이터 공급File / Pipe / FastFile시작 지연 vs 랜덤 접근
고속 스토리지FSx for Lustre반복·고처리량 학습 I/O
분산 배분ShardedByS3Key노드별 데이터 조각 배분

헷갈리는 비교 지점 총정리

헷갈리는 짝결정적 차이
Glue vs EMR서버리스·운영 최소 vs 풀 컨트롤·다중 프레임워크
Glue Crawler vs Glue ETL Job스키마 추론·등록 vs 실제 데이터 변환
Step Functions vs SageMaker Pipelines범용·혼합 워크플로 vs ML 전용·lineage
증강 vs 합성기존 데이터 변형 vs 새로운 가상 데이터 생성
오버샘플링 vs SMOTE단순 복제 vs 보간 합성
언더샘플링 vs 클래스 가중치데이터를 버림 vs 손실에서 벌점을 조정
File vs Pipe vs FastFile전체 다운로드 vs 스트리밍 vs 절충
FullyReplicated vs ShardedByS3Key전체 복제 vs 노드별 분할
데이터 병렬 vs 모델 병렬데이터를 쪼갬 vs 모델을 쪼갬
accuracy vs PR-AUC균형 데이터용 vs 극단 불균형용

MLS-C01 데이터 엔지니어링 영역의 출제 패턴은 거의 항상 "비용/운영 부담/규모/접근 패턴"의 트레이드오프 판단이다. 정답은 단일 기술이 아니라 상황(요구사항)에 맞는 선택이다. 문제에서 "운영 최소", "매우 큰 데이터", "임의 접근 필요", "비-ML 단계 포함" 같은 단서를 찾아 매핑하는 훈련이 핵심이다.

지문 단서 → 정답 매핑

지문의 표현즉시 떠올릴 것
"운영 인력이 적다", "클러스터 관리를 원치 않는다"Glue 또는 EMR Serverless
"Hive와 Presto도 함께", "세밀한 튜닝"Amazon EMR
"스팟으로 비용 절감"EMR 태스크 노드
"승인 대기", "외부 시스템 연동"Step Functions
"lineage", "모델 레지스트리", "순수 ML CI/CD"SageMaker Pipelines
"새 데이터가 도착하면 자동 실행"S3 이벤트 / EventBridge
"양성이 0.2%", "사기를 못 잡는다"SMOTE·클래스 가중치 + recall/PR-AUC
"프라이버시 때문에 실데이터를 못 쓴다"합성 데이터
"레이블이 바뀌면 안 된다"도메인 의미 보존 증강
"GPU가 다운로드를 기다린다"Pipe/FastFile 모드
"같은 데이터로 반복 학습"FSx for Lustre
"노드마다 전체를 받는다"ShardedByS3Key
"모델이 GPU 메모리에 안 들어간다"모델 병렬

Week 2 오답 노트

  • 데이터가 크다는 이유만으로 EMR 상시 클러스터 — 산발적 워크로드면 서버리스가 맞다.
  • 파티션을 잘게 쪼갤수록 좋다 — 작은 파일이 폭증해 오히려 느려진다.
  • ML이니까 SageMaker Pipelines — 비-ML 단계가 많으면 Step Functions.
  • 재시도 횟수를 늘려 실패를 해결 — 권한·경로·데이터 문제는 재시도로 안 풀린다.
  • 검증셋에도 SMOTE 적용 — 리샘플링은 학습셋에만. 검증은 실제 분포를 유지해야 한다.
  • 합성 데이터로 검증 — 검증은 반드시 실데이터로.
  • 단일 거대 파일 + ShardedByS3Key — 객체 단위로 못 쪼개 효과가 없다.
  • 검증 채널까지 샤딩 — 노드마다 다른 검증셋을 보게 되어 지표가 어긋난다.

스스로 점검하기

머릿속으로 답해 본다.

  1. 운영 인력이 적고 하루 몇 번 표준 Spark 변환을 돌린다면? → Glue 서버리스 ETL
  2. Spark·Hive·Presto를 함께 쓰고 인스턴스를 세밀 튜닝해야 한다면? → Amazon EMR
  3. Spark 잡에서 가장 비싼 연산은? → 셔플
  4. 이미 처리한 데이터를 건너뛰고 새 데이터만 처리하려면? → Glue 잡 북마크
  5. 승인 대기와 Lambda 후처리가 섞인 워크플로의 상위 오케스트레이터는? → Step Functions
  6. "정확도 0.85 이상일 때만 모델 등록"을 표현하는 단계는? → ConditionStep
  7. 소수 클래스를 단순 복제 대신 보간으로 늘리는 기법은? → SMOTE
  8. 리샘플링은 어느 데이터셋에만 적용하나? → 학습셋만
  9. 합성 데이터로 학습한 모델의 검증은 무엇으로? → 실데이터
  10. 수백 GB를 즉시 학습 시작하고 싶다면? → Pipe(또는 FastFile) 모드
  11. 같은 데이터셋으로 튜닝을 수백 번 반복한다면? → FSx for Lustre
  12. ShardedByS3Key가 효과를 내는 전제는? → 데이터가 여러 S3 객체로 분할
  13. 모델이 단일 GPU 메모리에 안 들어가면? → 모델 병렬
  14. 스팟으로 장시간 학습할 때 반드시 함께 가는 것은? → 체크포인트

모든 선택의 밑바닥에는 비용·운영 부담·규모·접근 패턴의 트레이드오프가 깔려 있다. 다음 주에는 이렇게 준비한 데이터 위에서 본격적인 모델링과 알고리즘으로 들어간다.

📖 용어

  • ETL : 추출·변환·적재. ML에서는 그 결과물이 곧 학습 데이터셋이다.
  • DPU : Glue의 처리 용량 단위. 약 4 vCPU + 16GB 메모리.
  • 셔플(shuffle) : 키 기준으로 노드 간 데이터를 재분배하는 Spark 연산. 가장 비싸다.
  • 오케스트레이션 : 여러 단계의 실행 순서·조건·재시도를 선언적으로 관리하는 것.
  • lineage(계보) : 모델이 어떤 데이터·코드·파라미터에서 나왔는지 추적할 수 있는 기록.
  • SMOTE : 소수 클래스 샘플과 최근접 이웃 사이를 보간해 새 샘플을 만드는 오버샘플링.
  • 분포 갭 : 합성·증강 데이터의 분포가 실제와 어긋나 실세계 성능이 떨어지는 위험.
  • 입력 모드 : S3 데이터를 학습 컨테이너로 가져오는 방식. File·Pipe·FastFile.
  • ShardedByS3Key : S3 객체를 인스턴스별로 나눠 각자 다른 조각만 받게 하는 설정.
  • 데이터 병렬 / 모델 병렬 : 데이터를 쪼개 모델을 복제하는 방식 / 모델 자체를 여러 GPU에 쪼개는 방식.

📝 연습 문제

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

문제 1

운영 인력이 적은 팀이 매일 표준 Spark 변환을 돌리고, 그 결과로 모델을 재학습하는 ML CI/CD를 lineage 추적과 함께 구성하려 한다. 가장 자연스러운 조합은?

문제 2

1:999로 극히 불균형한 데이터에서 소수 클래스를 단순 복제 대신 보간으로 합성해 늘리고, 평가는 거짓 안심을 피하려 한다. 알맞은 조합은?

문제 3

수 TB 데이터를 8개 노드로 데이터 병렬 학습할 때 각 노드의 중복 다운로드를 없애고 시작 지연을 줄이려 한다. 가장 적절한 설계는?

문제 4

데이터 변환 워크플로에 비-ML 단계(외부 승인 대기, Lambda 후처리)와 SageMaker 학습이 함께 섞여 있고 복잡한 분기·재시도가 필요하다. 상위 오케스트레이터로 가장 적합한 것은?

문제 5

MLS-C01 데이터 엔지니어링 영역에서 도구 선택형 문제를 풀 때 가장 핵심이 되는 판단 기준은?

이전학습 데이터 저장·접근 최적화: Pipe 모드 vs File 모드·FSx for Lustre·분산 학습Week 2 · Day 4다음 데이터 정제: 결측치·이상치 탐지·중복과 오류 처리Week 3 · Day 1

참고 공식 자료

  • MLS-C01 공식 시험 안내(새 탭에서 열림)
  • AWS Glue 공식 문서(새 탭에서 열림)
  • Amazon EMR 공식 문서(새 탭에서 열림)
  • Amazon SageMaker AI 공식 문서(새 탭에서 열림)
  • AWS Step Functions 공식 문서(새 탭에서 열림)
  • Amazon S3 공식 문서(새 탭에서 열림)

이 페이지

  • Week 2 흐름 한눈에 보기
  • Day 1 복습 — 변환과 ETL
  • Day 2 복습 — 파이프라인 자동화
  • Day 3 복습 — 증강·합성·불균형 처리
  • Day 4 복습 — 저장·접근 최적화
  • Week 2 서비스·기법 지도
  • 헷갈리는 비교 지점 총정리
  • 지문 단서 → 정답 매핑
  • Week 2 오답 노트
  • 스스로 점검하기
  • 용어
  • 연습 문제