MLFlow model versioning 방법 문의
언제든지 질문이 있으시면 물어보세요! 질문을 하시면서 배우는 겁니다


mlflow에서 experiment에 기록된 모델을 register model 버튼을 눌러서 models로 옮겼는데요
혹시 버튼을 누르지 않고도 experiment에 등록된 model을 옮기는 방법이 있을까요?
답변 1
1
안녕하세요 yuki님,
강의 뒷부분에서 나오겠지만, MLflow의 mlflow.register_model() 또는 mlflow.register_model_from_run()을 사용하면 실험에서 모델을 자동으로 Model Registry에 등록할 수 있습니다. 또한 MLflow의 Autologging 기능을 사용하면 모델을 훈련하면서 자동으로 Model Registry에 등록할 수도 있습니다.
예를 들면, 강의 자료 안에 mlruns/mlflow_client_run.py 보시면 코드 예제도 보실 수 있습니다.
필요한 방식에 맞춰 적용하면 될 것 같네요! 😊
0
안녕하세요, 강사님.
빠른 답변 감사합니다!
현재 저는 각 실험(Experiment)마다 아티팩트를 등록하고 있으며, 모델 추론 시 모델 바이너리 파일뿐만 아니라 해당 run_id에 연관된 아티팩트들을 함께 가져와서 사용하고 있습니다.
실무에서는 이러한 run_id를 어떤 방식으로 관리하는지 궁금합니다.
보통 별도의 저장소(DB, 메타데이터 저장소 등)에 run_id를 저장하여 관리하는지, 아니면 AWS Secret Manager나 Parameter Store와 같은 비밀 관리 서비스에 저장하여 활용하는지 실무 사례가 궁금합니다.
감사합니다! 😊
def load_model_and_preprocessor() -> Tuple[PyFuncModel, joblib.load]:
"""
Load the model and preprocessor from MLflow.
"""
model_name = Config.get_mlflow_config().get("model_registry_name")
run_id: str = Config.get_mlflow_run_id()
logged_model = f"runs:/{run_id}/{model_name}"
loaded_model = mlflow.pyfunc.load_model(logged_model)
# 전처리기 로드
preprocessor_path = mlflow.artifacts.download_artifacts(
run_id=run_id, artifact_path="preprocessor.pkl"
)
preprocessor = joblib.load(preprocessor_path)
# 상위 50개 피처 인덱스 로드
feature_path = mlflow.artifacts.download_artifacts(
run_id=run_id, artifact_path="top_features_indices.npy"
)
top_features_indices = np.load(feature_path)
return loaded_model, preprocessor, top_features_indices
1
안녕하세요.
회사 아키텍쳐를 자세히 말씀드릴 수 는 없지만, 대략만 말씀드리면, 말씀하신 것과 비슷하게 ML 모델이 배포될 때 run_id를 자체 Secrets 관리 도구와 데이타베이스에 저장하고, 모델 서빙 시 해당 서비스에서 run_id를 조회하여 모델 로드하여 사용하고 있습니다.
AWS를 헤비하게 사용하신다면, IAM으로 특정 서비스 또는 사용자만 run_id를 읽을 수 있도록 제한 가능하면 보안이 더 강화되실 겁니다.
1
너무 감사드립니다.
궁금했던 포인트들이 해소되었습니다!
항상 좋은 강의를 공유해주셔서 너무 감사드립니다.
혹시 kubeflow, feature store과 같은 다른 MLOps 툴들도 강의 제작 예정이 있으실까요?
파워셀에서 claude 코드의 버전확인이 않됩니다.
0
1
1
윈도우에서 설정화면이 다릅니다.클로드코드 환경변수 설정
0
6
1
시험환경 질문 드립니다.
0
5
1
금융관련 자동화 시스템 만들어 주실 수 있의실까요!
0
5
1
깃허브 Publish 질문
0
10
1
클로드 코드 프로 사용자인데..
0
8
1
빈 화면
0
9
1
강의는 순서대로 들어야 할까요??
0
9
0
수강기간 연장 가능 여부 문의드립니다
0
14
1
다운로드 연결이 되지 않을 때는 어떻게 해야할까요?
0
5
1
supabase 사용 관련.
0
12
1
섹션1의 자료는 따로 없나요?
0
14
2
Visual Studio Code 대신 Pycharm 써도 되나요?
0
15
2
pip - version
0
15
2
"[수정 예정] SDD 워크플로우 러너 - 현재 시점에 맞도록 추가 촬영 진행 중입니다." 이거 삭제해주세요.
0
9
1
문제2-2에서 유의한 변수에서 음수는 유의한지?
0
16
3
강의 자료 받고 싶어요 가능할까요
0
10
0
문서 업데이트
0
25
1
본 강의와는 상관없는 내용입니다만..
0
18
1
강의 만료 후 오프라인 저장 강의 수강 가능 여부
0
28
2
Part03 프롬프트 14 기간 조정(횡보 후 돌파) 입력 시 claude에서 수정안 발생
0
18
1
/init
0
28
1
맥북 docker 설치
0
29
1
[한글화된 강의자료 요청]
0
88
2





