주제: 6.5-1 ML 파이프라인 (데이터 → 학습 → 배포)

분류: rag_agent

타입: concept

난이도: 중급

선수지식: 있음 — 모델 학습, 데이터셋, 평가 metric

문제 설정

ML 시스템은 단순히 모델을 학습하는 것만으로 끝나지 않습니다. 실제 서비스에서는 다음 전체 흐름을 자동화해야 합니다.

Data → Feature → Training → Evaluation → Deploy

이를 ML Pipeline이라고 합니다.

핵심 목적:

1. 전체 ML 파이프라인 구조

Data Collection
      ↓
Data Validation
      ↓
Feature Engineering
      ↓
Model Training
      ↓
Model Evaluation
      ↓
Model Deployment

각 단계는 독립적인 pipeline task로 실행됩니다.

2. 데이터 수집 (Data Collection)

ML 시스템은 먼저 데이터를 수집해야 합니다.

데이터셋:

D=x1,x2,...,xn

기호 의미

왜 필요한가

모델 학습의 기반이 되는 데이터입니다.

주의점

데이터 품질이 모델 성능을 결정합니다.

3. 데이터 검증 (Data Validation)

수집된 데이터는 품질 검증이 필요합니다.

검증 예:

예:

P(x)Ptrain(x)

기호 의미

왜 중요한가

데이터 drift는 모델 성능 저하의 원인이 됩니다.

4. Feature Engineering

모델 학습을 위해 데이터를 feature로 변환합니다.

f=φ(x)

기호 의미

왜 필요한가

모델이 데이터를 더 쉽게 학습할 수 있도록 합니다.

주의점

train/serving feature 일관성이 중요합니다.

5. Model Training

feature를 사용하여 모델을 학습합니다.

목표:

wwηL(w)

기호 의미

왜 필요한가

데이터 패턴을 학습합니다.

주의점

과적합 방지가 필요합니다.

6. Model Evaluation

학습된 모델을 평가합니다.

metric:

Metric=E[score(x)]

기호 의미

왜 필요한가

모델이 실제로 개선되었는지 확인합니다.

주의점

validation/test 데이터 분리 필요

7. Model Deployment

검증된 모델을 서비스에 배포합니다.

Model Registry
      ↓
Container Image
      ↓
Serving API

예측:

y=f(x;w)

기호 의미

왜 중요한가

사용자가 모델을 실제로 사용할 수 있습니다.

8. Pipeline Orchestration

ML 파이프라인은 workflow orchestration 도구로 관리합니다.

도구 특징
Airflow DAG 기반 workflow
Kubeflow Kubernetes 기반 ML pipeline
Prefect Python 기반 orchestration

data_task → feature_task → training_task → deploy_task

코드-수식 연결

개념 코드 설명
데이터 로딩 pandas.read_csv() 데이터 수집
feature 생성 sklearn.preprocessing() feature engineering
모델 학습 model.fit() training
모델 배포 fastapi() serving API

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)