MLflow 완전정복 시리즈 첫 편. MLflow를 배우기 전에, 왜 이런 도구가 필요한지부터 짚고 갑니다.
노트북에서 잘 돌던 모델이 서비스에서는 왜 말썽일까요? 그 간극을 메우는 방법론 — MLOps입니다.
📎 출처: 이 글은 인프런 강의 「실리콘밸리 엔지니어와 함께하는 MLflow」의 영문 강의 자료를 수강 후, 제가 공부하며 이해한 방향으로 한국어로 재구성한 것입니다.
🤔 1. MLOps란?
MLOps(Machine Learning Operations)는 머신러닝과 DevOps 원칙을 결합해, 프로덕션에 있는 ML 모델의 라이프사이클을 관리하는 방법론입니다. 핵심은 ML 워크플로우의 자동화와 운영화 — 이를 통해 확장성과 안정성을 확보하고, 데이터 사이언티스트·ML 엔지니어·운영팀이 효율적으로 협업하게 만듭니다.
💡 제가 이해한 한 줄 요약 — "DevOps의 ML 버전." 다만 DevOps가 코드만 다룬다면, MLOps는 코드 + 데이터 + 모델 세 가지를 함께 버전 관리하고 배포해야 해서 한층 복잡합니다.
🧩 2. 핵심 구성 요소 6가지
강의에서는 ML 라이프사이클을 중심으로 여섯 조각을 소개합니다. 각 조각의 역할과 대표 도구는 —
모델 개발 (Model Development)
- 모델 학습 — 다양한 데이터셋과 알고리즘으로 모델을 훈련
- 실험 추적(Experiment Tracking) — 모델 버전 비교, 하이퍼파라미터 튜닝 기록
- 도구 — Jupyter Notebook, TensorFlow, PyTorch, Scikit-learn
여기 나온 "실험 추적"이 바로 MLflow의 핵심 기능입니다. "어제 돌린 실험이 learning rate 0.01이었나, 0.001이었나…"를 엑셀로 적는 대신 자동으로 남겨주는 것. 이 시리즈에서 계속 다룰 부분이에요.
모델 배포 (Model Deployment)
- 아티팩트 변환 — 학습된 모델을 배포 가능한 파일로 (
.pkl,.onnx,.tflite) - 프로덕션 배포 — REST API, 스트리밍 서비스 등으로 서빙
- 도구 — Docker, Kubernetes, Flask/FastAPI, TensorFlow Serving
모델 모니터링 (Model Monitoring)
- 성능 추적 — 프로덕션에서 모델 성능을 지속 관찰
- 이상 탐지 — 데이터 드리프트, 컨셉 드리프트 등 감지
- 도구 — Prometheus, Grafana, Evidently AI, 커스텀 로깅
💡 드리프트(Drift), 처음엔 헷갈려서 이렇게 정리했습니다.
· 데이터 드리프트 — 들어오는 입력 데이터의 분포가 변함 (예: 코로나 이후 소비 패턴 급변)
· 컨셉 드리프트 — 입력과 정답 사이의 관계 자체가 변함 (예: 같은 스펙의 집인데 시장이 바뀌어 가격이 달라짐)
일반 소프트웨어는 코드가 안 바뀌면 동작도 안 바뀌지만, ML 모델은 세상이 바뀌면 가만히 있어도 성능이 떨어집니다. 모니터링이 필수인 이유죠.
데이터 관리 (Data Management)
- 데이터셋 핸들링 — 학습/검증 데이터의 버전 관리와 품질 보증
- 파이프라인 일관성 — 데이터 파이프라인이 항상 같은 결과를 내도록 유지
- 도구 — Apache Airflow, Apache Kafka, Delta Lake, DVC
CI/CD (지속적 통합 & 배포)
- 통합 자동화 — 새 데이터 반영 → 모델 재학습 → 재배포까지 자동화
- 테스트 내장 — 각 단계에 테스트를 심어 모델이 기대대로 동작하는지 검증
- 도구 — Jenkins, GitLab CI, GitHub Actions
거버넌스 & 컴플라이언스 (Governance & Compliance)
- 규제 준수 — GDPR·CCPA 대응을 위한 모델 계보(lineage) 문서화, 감사 추적(audit trail)
- 윤리 & 편향 — 모델의 윤리적 문제와 편향(bias) 관리
🔄 3. MLOps 워크플로우
실제 흐름은 5단계로 돌아갑니다. 중요한 건 직선이 아니라 순환이라는 점 —
| 단계 | 하는 일 |
|---|---|
| ① 데이터 준비 | 데이터 수집(ingest) → 정제(clean) → 변환(transform) |
| ② 모델 개발 | 실험 진행과 모델 버전 관리 |
| ③ 모델 검증 | 테스트 데이터셋으로 성능 검증 |
| ④ 모델 배포 | 모델을 패키징해 프로덕션 환경에 배포 |
| ⑤ 모니터링 | 성능 관찰 → 필요 시 재학습·재배포 → 다시 ①로 🔄 |
💡 일반 개발의 CI/CD는 "코드 변경"이 배포의 트리거지만, MLOps는 "데이터의 변화(드리프트)"도 트리거가 됩니다. 그래서 모니터링이 파이프라인의 끝이 아니라 새로운 시작점이에요.
🎁 4. MLOps가 주는 것
- 확장성(Scalability) — 대규모 데이터와 모델을 효율적으로 처리
- 자동화(Automation) — ML 워크플로우의 수작업 개입을 최소화
- 협업(Collaboration) — 데이터 사이언티스트와 DevOps/엔지니어링 팀 사이의 간극 해소
- 안정성(Reliability) — 일관된 성능 보장, 프로덕션 다운타임 감소
✍️ 마무리 & 다음 단계
정리하면 MLOps는 "모델을 만드는 것"에서 끝나지 않고, "계속 잘 돌아가게 만드는 것"까지 책임지는 방법론입니다. 오늘 본 여섯 조각 중 실험 추적 · 모델 버전 관리 · 모델 배포를 하나의 도구로 풀어주는 것이 바로 MLflow고요.
👉 다음 편 → [#2] 기존의 모델 개발 사이클, 뭐가 문제였을까?
📎 출처: 이 글은 인프런 「실리콘밸리 엔지니어와 함께하는 MLflow」 강의의 영문 자료를 수강 후, 개인 학습 목적으로 이해한 방향에 따라 한국어로 재구성한 것입니다. 잘못 이해한 부분이 있다면 댓글로 알려주세요. 🙏
'새로운, 신나게 > MLFlow, 공부하는 중' 카테고리의 다른 글
| [MLflow 완전정복 #5] Tracking URI와 Experiment — 기록하기 전에 정해야 할 두 가지 (1) | 2026.09.05 |
|---|---|
| [MLflow 완전정복 #3] MLflow란 무엇인가? — 4가지 핵심 컴포넌트 (0) | 2026.07.07 |
| [MLflow 완전정복 #2] 기존의 모델 개발 사이클, 뭐가 문제였을까? (0) | 2026.07.07 |
| [MLflow 완전정복 #4] Docker로 MLflow 설치하고 첫 실험 기록해보기 (0) | 2026.07.07 |