MLflow 소개
1.1 머신러닝 프로젝트의 어려움
-
각 실험을 체계적으로 파악하고 관리하기가 어렵습니다.
-
Tensorboard는 로컬 머신에서만 관리되고 있어 유출, 분실될 위험이 있습니다.
-
모델을 배포하는 것에 난이도가 있습니다.
-
연구자마다 프레임워크가 상이하고 모델 버전관리가 힘듭니다.
1.2 MLflow Tracking
Tracking
- 실험에서 사용된 소스코드(mlflow with git), 파라미터, metric 기록 및 조회
Project
Models
사용 방법
![](https://velog.velcdn.com/images/min0731/post/30c45422-06c3-476a-9e65-a251fb5f8762/image.png)
1) Tracking Server 지정
2) metric, tag logging
![](https://velog.velcdn.com/images/min0731/post/1f09a851-8deb-4657-89c8-9288c81f16fc/image.png)
![](https://velog.velcdn.com/images/min0731/post/ab10932a-0709-4a9f-9407-6ea34beddc52/image.png)
![](https://velog.velcdn.com/images/min0731/post/fcc2ab07-5e4b-4d11-8f61-ef29fd7f4c1a/image.png)
- Tags : 실험에 Tag를 달아 원하는 실험 조회
![](https://velog.velcdn.com/images/min0731/post/1c3c6a3b-3c33-43e5-8195-9507d681782d/image.png)
![](https://velog.velcdn.com/images/min0731/post/1c6bd29b-2e12-4572-a932-e92d7ecadeab/image.png)
- Artifacts : feature importance 시각화
![](https://velog.velcdn.com/images/min0731/post/d7ea0709-651f-48fc-b86a-9728a50c955a/image.png)
1.3 MLflow Models
![](https://velog.velcdn.com/images/min0731/post/429a8f7b-5be1-46c0-86c3-d44a450b6254/image.png)
- S3에 저장된 모델 가중치
- 이를 mlflow.pyfunc 함수로 load
1.4 Serving with MLflow
![](https://velog.velcdn.com/images/min0731/post/5f5a7936-872c-420a-8335-2d2b72e6df92/image.png)
- build-docker 명령어를 통한 flask 기반의 이미지화 기능
- ping, inference 두 종류의 endpoint 제공
![](https://velog.velcdn.com/images/min0731/post/12923b66-4741-4094-9a8a-2dde34f6a0af/image.png)
- nginx, gunicorn, flask 기반
- cpu 연산
MLflow의 의미
![](https://velog.velcdn.com/images/min0731/post/b4570873-b3e6-4ba6-aacd-ca3860761877/image.png)
- 배포 과정을 Mlflow를 통해 자동화하여 ML 프로덕트의 개발 속도를 증진시켰습니다.
MLflow 예제