이번 포스트에서는 MLflow CLI의 주요 명령어를
1️⃣ 실험 관리 → 2️⃣ 실행 관리 → 3️⃣ 모델 관리 → 4️⃣ 배포 → 5️⃣ 서빙 → 6️⃣ 서버 관리 → 7️⃣ 프로젝트 실행 → 8️⃣ 워크플로우 자동화
순서로 정리했습니다.
아래 코드는 실제 터미널에서 실행 가능한 명령어입니다 💡
1. 코드
##############################################
# 🧩 MLflow CLI 명령어 전체 요약
# CLI(Command-Line Interface)로 MLflow를 제어하는 실습 스크립트
# 터미널에서 실행 가능 — MLflow를 코드 없이 조작할 수 있다.
##############################################
# ============================================
# 1️⃣ 실험 관리 (Tracking Experiments)
# ============================================
# 새로운 실험 생성
mlflow experiments create --experiment-name "Iris_Experiment"
# 전체 실험 목록 조회
mlflow experiments list
# 특정 실험 상세 조회
mlflow experiments describe --experiment-id 1
# 실험 이름 변경
mlflow experiments rename --experiment-id 1 --new-name "Updated_Experiment"
# 실험 삭제 (Soft Delete)
mlflow experiments delete --experiment-id 1
# 삭제된 실험 복원
mlflow experiments restore --experiment-id 1
# ============================================
# 2️⃣ 실행 관리 (Logging & Querying Runs)
# ============================================
# 특정 실험의 실행(run) 목록 조회
mlflow runs list --experiment-id 1
# 특정 실행(run) 상세 조회
mlflow runs describe --run-id <RUN_ID>
# 실행 결과에서 아티팩트 다운로드
mlflow artifacts download --run-id <RUN_ID> --path model.pkl --dst ./downloaded_model
# 실행 삭제
mlflow runs delete --run-ids <RUN_ID>
# 실행 복원
mlflow runs restore --run-id <RUN_ID>
# ============================================
# 3️⃣ 모델 관리 (Managing Models)
# ============================================
# 특정 실행의 모델 저장 (로컬 경로)
mlflow models save -m runs:/<RUN_ID>/model --path ./saved_model
# 모델 등록 (Model Registry에 등록)
mlflow models register -m runs:/<RUN_ID>/model -n "Iris_Model"
# 등록된 모델 목록 조회
mlflow models list -n "Iris_Model"
# 특정 모델 버전 정보 확인
mlflow models describe -m models:/Iris_Model/1
# 모델 삭제
mlflow models delete -m models:/Iris_Model/1
# ============================================
# 4️⃣ 모델 배포 (Deploying Models)
# ============================================
# 로컬 환경에 모델 배포 (Deployment 생성)
mlflow deployments create --target local --name iris_model --model-uri models:/Iris_Model/1
# 배포 목록 조회
mlflow deployments list
# 배포 삭제
mlflow deployments delete --name iris_model
# ============================================
# 5️⃣ 모델 서빙 (Serving Models)
# ============================================
# 모델 REST API 서버 실행 (기본 포트: 5000)
mlflow models serve -m models:/Iris_Model/1 -p 5000
# 모델 예측 요청 (REST API 호출)
curl -X POST -H "Content-Type: application/json" \
-d '{"columns":["sepal length","sepal width","petal length","petal width"],"data":[[5.1,3.5,1.4,0.2]]}' \
http://127.0.0.1:5000/invocations
# ============================================
# 6️⃣ 서버 관리 (Handling the MLflow Server)
# ============================================
# MLflow Tracking Server 실행 (로컬 SQLite 백엔드)
mlflow server \
--backend-store-uri sqlite:///mlflow.db \
--default-artifact-root ./mlruns \
--host 0.0.0.0 \
--port 5000
# 브라우저 접속 (MLflow UI)
# 👉 http://localhost:5000
# ============================================
# 7️⃣ 프로젝트 실행 (Running MLproject)
# ============================================
# MLproject 실행 (현재 디렉토리 기준)
mlflow run .
# 파라미터 전달 실행
mlflow run . -P alpha=0.01 -P l1_ratio=0.5
# GitHub 리포지토리에서 프로젝트 실행
mlflow run https://github.com/mlflow/mlflow-example.git -P alpha=0.01
# ============================================
# 8️⃣ 실험 전체 자동화 예시 (Workflow Example)
# ============================================
# 1. 실험 생성
mlflow experiments create --experiment-name "Auto_Experiment"
# 2. MLproject 실행 (모델 학습)
mlflow run . -P n_estimators=200 -P max_depth=5
# 3. 실행 목록 확인
mlflow runs list --experiment-id 1
# 4. 모델 등록
mlflow models register -m runs:/<RUN_ID>/model -n "Auto_Model"
# 5. 모델 서빙
mlflow models serve -m models:/Auto_Model/1 -p 6000
# 6. 서버 실행 (Tracking UI)
mlflow server --backend-store-uri sqlite:///mlflow.db --default-artifact-root ./mlruns --host 0.0.0.0 --port 5000
##############################################
# END OF SCRIPT
##############################################
2. MLflow CLI vs Python API vs MLflowClient
| 구분 | CLI | Python API (mlflow.*) | MLflowClient |
| 인터페이스 | 명령줄 | 코드 | 저수준 API |
| 목적 | 운영/관리 | 실험/모델 로깅 | 시스템 제어 |
| 난이도 | 낮음 | 중간 | 높음 |
| 활용 환경 | 터미널 | Python Notebook | 백엔드 파이프라인 |
| 사용 예시 | mlflow run | mlflow.log_metric() | client.search_runs() |
정리하면
MLflow CLI는 “코드 없는 실험 자동화 도구” 이자
MLflow 전체 생태계를 관리할 수 있는 운영자 인터페이스입니다.
- 실험 관리: mlflow experiments
- 실행 관리: mlflow runs
- 모델 관리: mlflow models
- 배포 및 서빙: mlflow deployments, mlflow models serve
- 서버 관리: mlflow server
- 프로젝트 재현성: mlflow run
'MLOps·머신러닝 운영 > MLflow를 활용한 머신러닝 실험 관리' 카테고리의 다른 글
| MLflow 로컬 폴더 구조 이해: mlruns 디렉토리의 핵심 구성 정리 (0) | 2026.02.19 |
|---|---|
| MLflowClient — 실험(Experiment)과 실행(Run) 관리 자동화하기 (0) | 2025.10.25 |
| MLflowClient 완전 정리 — MLflow를 코드로 제어하는 방법 (0) | 2025.10.25 |
| MLflow Projects — 폴더 구조부터 실행까지 한 번에 이해하기 (0) | 2025.10.25 |
| MLflow Projects — “기록에 신뢰를 더하는 환경 통일 시스템” (0) | 2025.10.25 |