예제 노트
이 예제 노트북은 MLflow 실행으로 추적되는 PyTorch를 사용하여 하나의 딥 러닝 모델 학습 작업을 실행합니다. 10 epoch마다 검사점 모델을 기록합니다. 각 검사점은 MLflow LoggedModel로 추적됩니다. MLflow의 UI 또는 검색 API를 사용하여 검사점 모델을 검사하고 정확도에 따라 순위를 지정할 수 있습니다.
Notebook은 scikit-learn 및 torch 라이브러리를 설치합니다.
체크포인트 Notebook을 사용하는 MLflow 3 딥러닝 모델
UI를 사용하여 모델 성능 탐색 및 모델 등록
Notebook을 실행한 후 MLflow 실험 UI에서 저장된 검사점 모델을 볼 수 있습니다. 실험에 대한 링크가 Notebook 셀 출력에 표시되거나 다음 단계를 수행합니다.
작업 영역 사이드바에서 실험을 클릭합니다.
실험 목록에서 실험을 찾습니다. 내 실험만 확인란을 선택하거나 필터 실험 검색 상자를 사용하여 실험 목록을 필터링할 수 있습니다.
실험의 이름을 클릭합니다. 실행 페이지가 열립니다. 실험에는 하나의 MLflow 실행이 포함됩니다.
모델 탭을 클릭합니다. 개별 검사점 모델은 이 화면에서 추적됩니다. 각 검사점에서 모든 매개 변수 및 메타데이터와 함께 모델의 정확도를 확인할 수 있습니다.
예제 Notebook에서는 성능이 가장 뛰어난 모델을 Unity 카탈로그에 등록했습니다. UI에서 모델을 등록할 수도 있습니다. 이렇게 하려면 다음 단계를 수행합니다.
모델 탭에서 등록할 모델의 이름을 클릭합니다.
모델 세부 정보 페이지의 오른쪽 위 모서리에서 모델 등록을 클릭합니다.
팁 (조언)
모델을 등록한 후 UI에 모델이 표시되는 데 몇 분 정도 걸릴 수 있습니다. 레지스터 모델을 두 번 이상 누르지 마세요. 그렇지 않으면 중복 모델을 등록합니다.
Unity 카탈로그를 선택하고 드롭다운 메뉴에서 기존 모델 이름을 선택하거나 새 이름을 입력합니다.
등록을 클릭합니다.
API를 사용하여 검사점 모델 순위 지정
다음 코드에서는 정확도에 따라 검사점 모델의 순위를 지정하는 방법을 보여 줍니다. API를 사용하여 기록된 모델을 검색하는 방법에 대한 자세한 내용은 기록된 모델 검색 및 필터링을 참조하세요.
ranked_checkpoints = mlflow.search_logged_models(
output_format="list",
order_by=[{"field_name": "metrics.accuracy", "ascending": False}]
)
best_checkpoint: mlflow.entities.LoggedModel = ranked_checkpoints[0]
print(best_checkpoint.metrics[0])
<Metric:
dataset_digest='9951783d',
dataset_name='train',
key='accuracy',
model_id='m-bba8fa52b6a6499281c43ef17fcdac84',
run_id='394928abe6fc4787aaf4e666ac89dc8a',
step=90,
timestamp=1730828771880,
value=0.9553571428571429
>
worst_checkpoint: mlflow.entities.LoggedModel = ranked_checkpoints[-1]
print(worst_checkpoint.metrics[0])
<Metric:
dataset_digest='9951783d',
dataset_name='train',
key='accuracy',
model_id='m-88885bc26de7492f908069cfe15a1499',
run_id='394928abe6fc4787aaf4e666ac89dc8a',
step=0,
timestamp=1730828730040,
value=0.35714285714285715
MLflow 실험 페이지의 모델 탭과 카탈로그 탐색기의 모델 버전 페이지 간의 차이점은 무엇인가요?
실험 페이지의모델 탭과 카탈로그 탐색기의 모델 버전 페이지에는 모델에 대한 유사한 정보가 표시됩니다. 두 보기는 모델 개발 및 배포 수명 주기에서 서로 다른 역할을 갖습니다.
- 실험 페이지의 모델 탭은 단일 페이지에 있는 실험에서 기록된 모델의 결과를 표시합니다. 이 페이지의 차트 탭 은 모델을 비교하고 가능한 배포를 위해 Unity 카탈로그에 등록할 모델 버전을 선택하는 데 도움이 되는 시각화를 제공합니다.
- 카탈로그 탐색기에서 모델 버전 페이지는 모든 모델 성능 및 평가 결과에 대한 개요를 제공합니다. 이 페이지에는 다양한 작업 영역, 엔드포인트 및 실험을 포함하여 연결된 모든 환경에서 모델 매개 변수, 메트릭 및 추적이 표시됩니다. 이는 모니터링 및 배포에 유용하며 배포 작업에서 특히 잘 작동 합니다. 배포 작업의 평가 작업은 이 페이지에 표시되는 추가 메트릭을 만듭니다. 그런 다음 작업의 승인자는 이 페이지를 검토하여 배포를 위한 모델 버전을 승인할지 여부를 평가할 수 있습니다.
다음 단계
MLflow 3에 도입된 추적에 대한 LoggedModel 자세한 내용은 다음 문서를 참조하세요.
기존 ML 워크플로에서 MLflow 3을 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.