inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실리콘밸리 엔지니어와 함께하는 MLflow

MLFlow model versioning 방법 문의

해결된 질문

225

daniel

작성한 질문수 58

1

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

스크린샷 2025-03-18 오후 5.12.10.png.webp스크린샷 2025-03-18 오후 5.12.55.png.webp

mlflow에서 experiment에 기록된 모델을 register model 버튼을 눌러서 models로 옮겼는데요
혹시 버튼을 누르지 않고도 experiment에 등록된 model을 옮기는 방법이 있을까요?

머신러닝 딥러닝 mlflow mlops 인공지능(ai)

답변 1

1

미쿡엔지니어

안녕하세요 yuki님,

강의 뒷부분에서 나오겠지만, MLflow의 mlflow.register_model() 또는 mlflow.register_model_from_run()을 사용하면 실험에서 모델을 자동으로 Model Registry에 등록할 수 있습니다. 또한 MLflow의 Autologging 기능을 사용하면 모델을 훈련하면서 자동으로 Model Registry에 등록할 수도 있습니다.

예를 들면, 강의 자료 안에 mlruns/mlflow_client_run.py 보시면 코드 예제도 보실 수 있습니다.

필요한 방식에 맞춰 적용하면 될 것 같네요! 😊

0

daniel

안녕하세요, 강사님.

빠른 답변 감사합니다!

현재 저는 각 실험(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

daniel

너무 감사드립니다.
궁금했던 포인트들이 해소되었습니다!

 

항상 좋은 강의를 공유해주셔서 너무 감사드립니다.

혹시 kubeflow, feature store과 같은 다른 MLOps 툴들도 강의 제작 예정이 있으실까요?

1

미쿡엔지니어

저희가 Kubeflow를 사용하고 있지만, 제가 강의 만들어도 별로 강의를 살 사람들이 없어보여서 ㅎㅎㅎ 시간되면, 여기에 익스텐션으로 한번 넣어보겠습니다.

기존 미국주식 자동매매 프로그램과 같은 AWS 서버에서 돌리려고 할때

0

4

0

섹션 3 퀴즈 2번 문항 오류

0

9

1

안녕하세요? 강사님 질문있습니다.(인코딩관련)

0

13

1

강의자료 문의

0

13

0

터미널에서 커서 AI 직접 실행

0

12

2

이진분류에서 양성 클래스가 0일 때 평가 방법

0

16

2

이런 경우는 어떤 조치를 취해야할까요?

0

17

2

outputStyles, rules

0

18

2

원핫인코딩 전 train과 test 병합여부

0

31

2

수강기간 연장

0

36

2

자동화시트에 이미지를 제가 원하는 사진을 다운 받아서 시트에 입력할수 있을까요?

0

26

1

기본 프로필에서 설정 복제가 현재는 없는데 어떻게 설정해야되나요?

0

25

1

슬랙에서 /profile 해도 sophie가 호출되지않습니다ㅠㅠ

0

28

1

hooks 설정이 안되요

0

29

2

Spark 3.5에서 pandas의 NaN이 NULL로 바뀌지 않을 때

0

34

1

멀티 에이전트 Vs. 단일 에이전트 지식 아카이빙

0

38

1

mcp 관련 질문

0

48

2

영상 최신으로 엡데이트 요청

0

59

2

Alpha vantage 유료화?

0

58

2

소스 코드가 회사 보안 프로그램에 막혀서 안 보여요.

0

49

2

claude code 상태표시줄 궁금합니다!

0

44

2

질문 1

1

46

1

10월 15일 삭제예정 강의 문의

0

37

1

[한글화된 강의자료 요청]

0

119

2