Skip to main content

MLOps 기초

ML 모델의 개발/배포/운영을 자동화하고 지속 가능하게 만드는 엔지니어링


1. MLOps란

1.1 왜 MLOps인가

문제설명
"노트북에서는 됐는데 프로덕션에서 안 됨"환경 차이, 의존성
"어떤 실험이 가장 좋았는지 모름"실험 추적 부재
"모델 성능이 점점 떨어짐"데이터 드리프트, 모니터링 부재
"모델을 어떻게 배포하지?"서빙 인프라 부재
"이전 버전으로 롤백하고 싶음"모델 버전 관리 부재

1.2 ML 라이프사이클


2. 실험 추적

2.1 MLflow

컴포넌트역할
MLflow Tracking실험(하이퍼파라미터, 메트릭, 아티팩트) 기록
MLflow Models모델 패키징 (다양한 프레임워크 지원)
MLflow Registry모델 버전 관리 (Staging/Production/Archived)
MLflow Projects재현 가능한 실행 환경 정의

2.2 기타 도구

도구특징
Weights & Biases (W&B)시각화 우수, SaaS, 팀 협업
Neptune.ai메타데이터 관리 특화
ClearML오픈소스, 올인원
DVC (Data Version Control)데이터 버전 관리 (Git for Data)

3. 모델 버전 관리

개념설명
모델 레지스트리모델의 버전별 메타데이터, 메트릭, 아티팩트 관리
스테이지None → Staging → Production → Archived
롤백성능 저하 시 이전 버전으로 즉시 전환
A/B 테스트새 버전과 기존 버전을 일부 트래픽으로 비교

4. 모델 서빙

도구특징적합
FastAPIPython 웹 프레임워크로 직접 서빙소규모, 빠른 프로토타입
TorchServePyTorch 공식 서빙PyTorch 모델
Triton Inference ServerNVIDIA, 멀티모델/멀티프레임워크✅ 프로덕션
vLLMLLM 특화, PagedAttentionLLM 서빙 표준
Ollama로컬 LLM 실행개인/개발용
BentoML모델 패키징 + 서빙범용

서빙 아키텍처


5. CI/CD for ML

일반 CI/CDML CI/CD
코드 변경 → 테스트 → 배포코드/데이터/모델 변경 → 학습 → 평가 → 배포
단위 테스트데이터 검증 + 모델 성능 테스트
Docker 이미지 빌드모델 아티팩트 빌드 + 서빙 이미지

6. 모니터링

6.1 데이터 드리프트

입력 데이터의 분포가 학습 시점과 달라지는 현상. 시간이 지나면 모델 성능이 저하됨.

드리프트 유형설명
Data Drift입력 데이터 분포 변화 (예: 고객 행동 변화)
Concept Drift입력과 출력의 관계 변화 (예: 시장 트렌드 변화)
Model Decay시간 경과에 따른 모델 성능 저하

6.2 모니터링 항목

항목메트릭도구
모델 성능Accuracy, F1, 지연MLflow, Prometheus
데이터 분포PSI, KS 통계량Evidently AI, Whylabs
인프라GPU 사용률, 메모리, 처리량Prometheus + Grafana
비즈니스전환율, 사용자 피드백비즈니스 대시보드

7. 컨테이너 기반 ML 환경

도구역할
DockerML 환경 패키징 (CUDA + PyTorch + 모델)
NVIDIA Container ToolkitDocker에서 GPU 접근
Kubernetes + GPU OperatorGPU 노드 오케스트레이션
KubeFlowKubernetes 위 ML 파이프라인
Ray분산 학습/서빙 프레임워크
# NVIDIA GPU를 Docker에서 사용
docker run --gpus all nvidia/cuda:12.0-base nvidia-smi

# vLLM으로 LLM 서빙
docker run --gpus all \
-p 8000:8000 \
vllm/vllm-openai \
--model meta-llama/Llama-3-8B-Instruct

💡 인프라 엔지니어에게 MLOps는 기존 DevOps/IaC 지식의 확장임. Docker, Kubernetes, CI/CD, 모니터링(Prometheus/Grafana)을 이미 알고 있다면, ML 특화 도구(MLflow, vLLM, GPU Operator)만 추가로 학습하면 됨.


정리

MLOps 영역핵심 도구Pipeline 시리즈 연결
실험 추적MLflow, W&B
모델 관리MLflow Registry
서빙vLLM, TritonDocker, K8s
CI/CDGitHub Actions + 학습 파이프라인CI/CD
모니터링Prometheus + Grafana + EvidentlyMonitoring
인프라Docker + K8s + GPU OperatorContainer, Automation

🔗 관련 문서


📝 참고 자료