본문 바로가기

728x90
반응형

AI/MLflow

(7)
[MLflow] Artifact Store Artifact Store 란 MLflow 에서 학습된 모델을 저장하는 Model Registry로써 이용하기 위한 스토리지 (storage) 서버다. Artifact Store 를 이용하면 기본적인 파일 시스템 보다 체계적으로 관리 할 수 있으며 외부에 있는 스토리지 서버도 사용 할 수 있다는 장점이 있다. 이 포스트에서는 MinIO를 사용해서 Artifact Store을 구축해보겠다. MinIO를 사용하는 이유는 다음과 같다. MinIO 는 S3 를 대체할 수 있는 오픈 소스 고성능 개체 스토리지다. AWS S3 의 API 와도 호환되어 SDK 도 동일하게 사용 할 수 있다. MLflow 에서는 AWS S3 를 모델을 저장하기 위한 스토리지로 사용하도록 권장하고 있기 때문에 MinIO 를 사용한다. ..
[MLflow] Autologging 자동으로 ML Model tracking을 할 수 있다. mlflow.모델 종류.autolog()를 사용하는데 start_run() 전에 넣어야한다. # mlflow import mlflow import mlflow.keras # data import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split import numpy as np # training from train import tf_model if __name__ == "__main__": dataset = pd.read_csv("./dataset.csv") X = dataset.iloc[:,..
[MLflow] MLflow Model Registry Model Registry는 MLflow 프로젝트 실행을 통해 나온 결과물인 모델을 저장하는 중앙 집중식 모델 저장 장소다. MLflow로 모델을 기록했다면, 기록한 모델을 Model Registry에 등록할 수 있고, 등록한 모델은 어디서든 불러올 수 있다. 등록 방법은 2가지가 있다. 웹 UI로 등록하기 웹 UI로 간단하게 모델을 등록할 수 있다. 웹 서버에서 실행했던 run을 들어간다. Artifacts 블록에서 Register model 버튼을 클릭하여 모델 이름을 입력해서 모델을 등록한다. 코드로 등록하기 1. log_model()에 registered_model_name에 값을 입력하면 된다. mlflow.keras.log_model(model, "Iris_Classifier_DNN", inp..
[MLflow] MLflow Models mlflow로 모델을 저장하는 방법은 2가지가 있다. mlflow.모델 프레임워크.save_model() ex. mlflow.sklearn.save_model(model,"my_model") 모델을 지정된 경로에 저장 모델, 데이터, 파일, 다른 리소스를 포함하는 MLflow의 저장 단위 mlflow.모델 프레임워크.log_model() ex. mlflow.sklearn.log_model(model,"my_model") MLflow의 모델 레지스트리에 로깅 모델을 로깅, 모델 버전을 관리, 모델 메타데이터를 추적 모델 레지스트리는 다양한 모델 버전을 관리하고 추적할 수 있는 중앙 집중식 저장소 두 함수 모두 공통적으로 "MLmodel"이라는 파일이 나오는데 모델에 대한 메타 데이터가 담긴 파일이다. ar..
[MLflow] MLflow Project MLflow Project는 주로 규칙을 기반으로 재사용 및 재현 가능한 방식으로 데이터 과학 코드를 패키징 하기 위한 형식이다. 프로젝트 구성 요소에는 프로젝트 실행을 위한 API 및 명령줄 도구가 포함되어 있어 프로젝트를 workflow와 함께 연결할 수 있다. YAML 형식의 텍스트 파일을 추가하여 프로젝트를 더 자세히 설명할 수 있다. 각 프로젝트는 여러 속성을 지정할 수 있다. MLproject File MLproject File은 MLflow 프로젝트의 구성 파일로, 프로젝트의 메타데이터와 실행 단계를 정의하는 데 사용된다. MLproject 파일은 MLflow에서 프로젝트를 실행하고 관리하는 데 필요한 정보를 제공한다. 일반적으로 Project Root 디렉토리에 존재하며, YAML 형식으로..

728x90
반응형