MLflow 포스팅 시리즈(DOC) 작성 계획
포스팅 구조
- 포스팅은 환경 준비, MLflow 의 메인 컨셉, 그리고 각 아키텍처를 기준으로 나누어 포스팅을 한다.
- 이 포스팅 시리즈는 “실무를 하면서 빠르게 찾을 수 있는” 구조를 지향한다. 순서대로 차근차근 배우기에는 적합하지 않을 수 있다.
- 메인 컨셉 : MLflow 의 논리적 구성 요소와 그들의 개념
- 아키텍처 : MLflow 의 물리적 아키텍처와 사용법
| 물리적 아키텍처 | 설명 |
|---|---|
| MLflow Tracking Server | 모든 실험의 중앙 관리자 역할을 하는 서버. 실험 메타데이터(파라미터, 메트릭 등)와 아티팩트 저장 위치를 관리한다. |
| MLflow Client | 사용자가 실험을 기록하고 조회하는 쪽의 인터페이스 Python SDK, CLI 등이 있다. |
| Backend Store | 실험, 런, 모델 등의 메타데이터를 저장하는 데이터베이스 |
| Artifact Store | 학습된 모델, 이미지, 데이터 파일 등 대용량 아티팩트를 저장하는 스토리지 |
목차
| No | 목차 | 작성 여부 |
|---|---|---|
| - | 소개 | |
| 1 | MLflow 소개 | 미작성(가장 마지막에 작성 예정) |
| - | 환경 준비 | |
| 1 | MLflow Tracking Server 설치하기 | 미작성 |
| - | 메인 컨셉 | |
| 1 | MLflow 의 논리적 구성 요소와 개념 | 미작성 |
| 2 | Experiment | 미작성 |
| 3 | Run | 미작성 |
| 4 | Model | 미작성 |
| … | ||
| - | MLflow Tracking Server | |
| 1 | MLflow 의 물리적 구성 요소 | 미작성 |
| 2 | MLflow Tracking Server 설치하기 | 미작성 |
| … | ||
| - | MLflow Client(SDK) | |
| 1 | MLflow SDK의 주요 모듈과 클래스 | 미작성 |
| … | ||
| - | MLflow Backend Store | |
| … | ||
| - | MLflow Artifact Store | |
| … |
개발 환경
- 본 포스팅 시리즈의 개발 환경은 다음과 같다.
MLflow 의 버전
- 3.6.0
Server Side(Tracking Server)
| 구분 | 개발 환경 | 권장 환경 |
|---|---|---|
| OS | Rocky 9.3 | 리눅스 계열(Ubuntu 권장) |
| CPU | Intel N100 | 공식 권장사양 확인 불가 저전력 N100 CPU 도 되니, 웬만한 환경에서는 가능할 듯 |
| RAM | 32GB | 공식 권장사양 확인 불가 실험 결과 Tracking Server 컨테이너만 띄우면 100MB 수준 |
| STORAGE | SSD 1TB | MLflow Docker : 약 800MB 그 외 실험하고자 하는 모델의 종류와 수에 따라 다름 |
Client Side
| 구분 | 개발 환경 | 권장 환경 |
|---|---|---|
| OS | MacOS 26 | 개발 및 CLI가 가능한 환경이면 상관 없음 |
| CPU | M2 | 상동 |
| RAM | 16GB | 상동 |
| STORAGE | 256GB | 상동 |
Reference
https://mlflow.org/docs/latest/self-hosting/architecture/overview/
Comments