콘텐츠로 이동
Study NoteMLflow

12. 용어 사전

결론부터
용어를 구분하는 목적은 메뉴를 찾는 게 아니라 바꿀 수 있는 것과 못 바꾸는 것을 가르는 것이다
용어뜻함께 구분할 것
experiment같은 목적의 run을 담는 이름 있는 묶음이름의 /는 폴더가 아니다
run실행 하나. run_id(32자 hex)를 가진다채택·기각의 단위와 맞춘다
run_name사람이 읽는 이름실제로는 mlflow.runName tag라 나중에 바꿀 수 있다
param실행 전에 정한 조건문자열이고 immutable — 부등호 검색이 안 된다
metric실행이 만든 수치실수이고 step으로 여러 번 쌓을 수 있다
tag분류·메모유일하게 자유롭게 고칠 수 있다
artifactrun에 딸린 파일값으로 못 담는 것 전용
parent / child runnested=True로 만든 부모-자식 관계tag의 mlflow.parentRunId로 표현된다
lifecycle stageactive 또는 deletedUI의 삭제는 deleted 표시일 뿐이다
statusRUNNING · FINISHED · FAILED · KILLEDcontext manager가 자동으로 정리한다
datasetrun에 연결된 데이터 참조내용 기반 digest를 가진다
용어뜻운영 포인트
tracking URI기록을 보낼 곳의 주소상대 경로면 실행 디렉터리에 따라 달라진다
backend storeparam·metric·tag를 담는 DB 또는 파일 storefile store는 유지보수 모드, sqlite가 기본
artifact store파일을 담는 디렉터리 또는 object storageexperiment 생성 시 정해지고 못 바꾼다
artifact_location그 experiment의 artifact 루트절대 경로로 박히면 레포 이동 시 깨진다
tracking serverREST API와 UI를 제공하는 HTTP 서버1인 로컬에서는 없어도 된다
runs:/<run_id>/<경로>특정 run의 artifact 주소파일을 되가져올 때 쓴다
models:/<model_id>기록된 모델 하나의 주소MLflow 3의 LoggedModel을 가리킨다
models:/<이름>@<alias>등록 모델의 별칭 주소소비자 코드가 참조할 형태
용어뜻주의할 점
start_runrun을 열고 활성화한다nested·run_id·parent_run_id 인자를 기억한다
log_paramsparam 여러 개를 기록같은 key에 다른 값이면 예외
log_metricsmetric 여러 개를 기록NaN·inf가 그대로 통과한다
log_artifact파일 하나를 올린다artifact_path로 하위 폴더를 지정한다
log_artifacts디렉터리의 내용물을 올린다디렉터리 이름이 사라진다
log_text · log_table · log_figure문자열·표·그림을 파일 없이 바로 올린다긴 목록을 param 대신 남길 때
log_input이 run이 쓴 dataset을 연결한다context로 용도를 적는다
set_tag · set_tagstag를 붙이거나 고친다mlflow.로 시작하는 이름은 예약이다
search_runs조건으로 run을 찾는다기본 반환이 pandas DataFrame
autolog학습 함수를 가로채 자동 기록한 run에서 여러 번 학습하면 param이 충돌한다
조각값비고
metrics.<이름>실수유일하게 부등호가 그대로 먹는다
params.<이름>문자열등가와 LIKE만
tags.<이름>문자열IS NULL로 “아직 안 붙인 것”을 찾는다
attributes.<속성>run_name · status · run_id 등run 자체의 성질
datasets.<속성>name · digest · context데이터 기준으로 거른다
논리 연산AND만OR가 없다
용어뜻함께 구분할 것
MLflow Model모델 파일 + 로딩 방법 + 의존성 + 규격을 담은 디렉터리pickle 하나가 아니다
MLmodel그 디렉터리의 정의 YAMLflavor·signature·run_id가 여기 있다
flavor이 모델을 어떤 라이브러리로 읽는지하나의 모델이 여러 flavor를 가진다
pyfunc라이브러리 무관 공통 predict() 인터페이스소비자 코드의 의존성을 줄인다
signature입출력 열 이름·타입 규격열 순서가 밀리는 사고를 막는다
input_example입력 샘플주면 signature를 추론해 준다
LoggedModelMLflow 3에서 1급 개체가 된 기록된 모델run에 딸린 artifact가 아니다
registered model이름이 붙은 모델 묶음그 아래에 버전이 쌓인다
model version등록할 때마다 1씩 느는 번호내용은 변하지 않는다
alias특정 버전을 가리키는 이름표옮길 수 있다. stage의 대체재
stageStaging·Production 같은 고정 단계예전 방식 — 새 설계에 쓰지 않는다
용어뜻운영 포인트
soft delete지웠다고 표시만 하는 삭제UI와 mlflow runs delete가 여기까지다
mlflow gc표시된 것을 영구 삭제되돌릴 수 없다. 먼저 백업
mlflow db upgradeDB 스키마를 새 버전으로 이전MLflow 버전을 올릴 때
mlflow doctor환경 진단 출력이상할 때 먼저
write locksqlite가 한 번에 한 쓰기만 받는 성질병렬 튜닝에서 database is locked
system tagmlflow.로 시작하는 예약 taggit commit·user·source가 자동으로 채워진다
system metricsCPU·메모리·GPU 사용률 자동 기록psutil이 필요하고 기본은 꺼져 있다