| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- github
- LV 0
- db
- 리눅스
- 쿠버네티스
- 인공지능
- Java
- git
- 자바
- DevOps
- 코테
- Python
- 코딩테스트
- Lv 2
- 프로그래머스
- docker
- Ai
- 알고리즘
- 머신러닝
- Linux
- 정처기
- mysql
- 데이터베이스
- 자료구조
- ubuntu
- 우분투
- Kubernetes
- programmers
- 파이썬
- MLOps
Archives
- Today
- Total
Myo-Kyeong Tech Blog
[MLOps] MLOps 실험관리 : MLflow 설치 및 실행 본문
728x90
반응형

실험과 실험 관리
- 실험(Experiment) :
- 데이터를 사용해 모델을 학습하고 성능을 평가하는 과정
- 예 : 특정 데이터셋으로 모델을 학습시킨 뒤 Accuracy를 확인하는 것
- 실험 관리 (Experiment Management) :
- 여러 실험의 결과와 설정을 기록·추적·비교·재현할 수 있도록 체계적으로 관리하는 것
- 왜 필요할까?
- "어제 돌린 코드가 제대로 학습 끝났나?"
- "가장 성능이 좋았던 모델은 어떤 파라미터를 썼더라?"
=> 이런 질문에 바로 답할 수 있도록 만드는 게 목적
- 관리해야 할 정보
- 데이터(Data) : 어떤 데이터셋을 사용했는가 (예: data.csv)
- 코드 (Code) : 어떤 알고리즘/프레임워크를 사용했는가 (예: scikit-learn)
- 파라미터(Parameters) : 모델 하이퍼파라미터 값들 (예 : n_estimators, max_depth)
- 결과(Metrics) : 실험 성능 지표 (예: Accuracy, Loss, F1-score 등)
- 모든 실험 정보를 표(테이블) 형태로 정리하면, 한눈에 비교 가능
- 자동화된 기록이 있어야 재현성(다시 실행 시 결과 보장)과 성능 비교가 쉬움

=> 실험 관리 = 데이터를 어떻게 학습했는지(데이터·코드·파라미터) + 그 결과가 어땠는지(메트릭)를 자동으로 기록·비교·재현 하는 과정
MLflow 설치 및 실행 방법
1. 로컬(Host)에서 mlflow 설치·실행 하기
[mlflow 설치]
pip install mlflow
[mlflow 서버 실행]
mlflow server --host 0.0.0.0 --port 5000
- --host 0.0.0.0 : 외부에서도 접속 가능하도록 설정
- --port 5000 : 기본 포트 (브라우저에서 http://localhost:5000 으로 접속 -> MLflow UI 확인 가능)
2. Docker로 실행
[Dockerfile 작성]
FROM amd64/python:3.9-slim
RUN pip install --upgrade pip && \
pip install mlflow
CMD ["mlflow", "server", "--host", "0.0.0.0"]
[이미지 빌드 & 실행]
# 이미지 빌드
docker build -t mlflow-server .
# 컨테이너 실행 (로컬 5001 포트 ↔ 컨테이너 5000 포트 연결)
docker run -p 5001:5000 mlflow-server
- 5000 : 컨테이너 내부 포트
- 5001 : 로컬(호스트)에서 접근할 포트
3. Docker Compose 실행 (여러 서비스 관리 시)
[docker-compose.yaml 작성]
version: "3"
services:
mlflow-server:
build:
context: .
dockerfile: Dockerfile
ports:
- "5001:5000"
[실행 명령어]
docker compose up -d --build # 실행 (백그라운드)
docker compose logs # 로그 확인
docker compose down # 종료
728x90
반응형
'MLOps' 카테고리의 다른 글
| [MLOps] MLOps에서 모델 재현성 보장 : 모델 환경 통제하기 (RandomSeed, Library Version 고정) (0) | 2025.07.14 |
|---|---|
| [MLOps] MLOps란? MLOps가 필요한 이유 (0) | 2025.07.09 |
| [Machine Learning] 머신러닝 디자인 패턴 : 특징 저장소 (Feature Store) (0) | 2024.04.22 |
| [Machine Learning] 머신러닝 디자인 패턴 : 특징 해시(Hashing Trick) (1) | 2024.03.31 |