Microsoft Fabric의 기계 학습 실험

기계 학습 실험은 모든 관련 기계 학습 실행에 대한 조직 및 제어의 기본 단위입니다. 실행모델 코드의 단일 실행에 해당합니다. MLflow에서 추적은 실험 및 실행을 기반으로 합니다.

기계 학습 실험을 통해 데이터 과학자는 기계 학습 코드를 실행할 때 매개 변수, 코드 버전, 메트릭 및 출력 파일을 기록할 수 있습니다. 또한 실험을 통해 실행을 시각화, 검색 및 비교할 수 있으며 실행 파일 및 메타데이터를 다운로드하여 다른 도구에서 분석할 수도 있습니다.

이 문서에서는 데이터 과학자가 기계 학습 실험과 상호 작용하고 사용하여 개발 프로세스를 구성하고 여러 실행을 추적하는 방법에 대해 자세히 알아봅니다.

필수 조건

  • Power BI Premium 구독. 없는 경우 Power BI Premium을 구입하는 방법을 참조하세요.
  • 프리미엄 용량이 할당된 Power BI 작업 영역입니다.

실험 만들기

Power BI UI(사용자 인터페이스)의 데이터 과학 홈페이지에서 직접 또는 MLflow API를 사용하는 코드를 작성하여 기계 학습 실험을 만들 수 있습니다.

UI를 사용하여 실험 만들기

UI에서 기계 학습 실험을 만들려면:

  1. 새 데이터 과학 작업 영역을 만들거나 기존 작업 영역을 선택합니다.

  2. "새로 만들기" 섹션에서 실험을 선택합니다.

  3. 실험 이름을 입력하고 만들기를 선택합니다. 이 작업은 작업 영역 내에서 빈 실험을 만듭니다.

    Screenshot showing where to select Experiment in the New menu.

실험을 만든 후 실행 메트릭 및 매개 변수를 추적하는 실행 추가를 시작할 수 있습니다.

MLflow API를 사용하여 실험 만들기

또는 mlflow.set_experiment() API를 사용하여 mlflow.create_experiment() 제작 환경에서 직접 기계 학습 실험을 만들 수도 있습니다. 다음 코드에서 실험의 이름으로 바꿉 <EXPERIMENT_NAME> 습니다.

import mlflow
 
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")

# This will set the given experiment as the active experiment. 
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")

실험 내에서 실행 관리

기계 학습 실험에는 간소화된 추적 및 비교를 위한 실행 컬렉션이 포함되어 있습니다. 실험 내에서 데이터 과학자는 다양한 실행을 탐색하고 기본 매개 변수 및 메트릭을 탐색할 수 있습니다. 데이터 과학자는 기계 학습 실험 내의 실행을 비교하여 원하는 모델 성능을 생성하는 매개 변수의 하위 집합을 식별할 수도 있습니다.

실행 추적

기계 학습 실행은 모델 코드의 단일 실행에 해당합니다.

Screenshot of machine learning run detail page.

각 실행에는 다음 정보가 포함됩니다.

  • 원본: 실행을 만든 Notebook의 이름입니다.
  • 등록된 버전: 실행이 기계 학습 모델로 저장되었는지를 나타냅니다.
  • 시작 날짜: 실행의 시작 시간입니다.
  • 상태: 실행 진행률입니다.
  • 하이퍼 매개 변수: 키-값 쌍으로 저장된 하이퍼 매개 변수입니다. 키와 값은 모두 문자열입니다.
  • 메트릭: 키-값 쌍으로 저장된 메트릭을 실행합니다. 값은 숫자입니다.
  • 출력 파일: 모든 형식의 파일을 출력합니다. 예를 들어 이미지, 환경, 모델 및 데이터 파일을 기록할 수 있습니다.

최근 실행 보기

작업 영역 목록 보기에서 직접 실험에 대한 최근 실행을 볼 수도 있습니다. 이 보기를 사용하면 최근 활동을 추적하고, 관련 Spark 애플리케이션으로 빠르게 이동하고, 실행 상태 따라 필터를 적용할 수 있습니다.

Screenshot of machine learning recent runs and Spark application view.

실행 비교 및 필터링

기계 학습 실행의 품질을 비교하고 평가하려면 실험 내에서 선택한 실행 간에 매개 변수, 메트릭 및 메타데이터를 비교할 수 있습니다.

실행 시각적 비교

기존 실험 내에서 실행을 시각적으로 비교하고 필터링할 수 있습니다. 시각적 비교를 사용하면 여러 실행 간에 쉽게 탐색하고 여러 실행 간에 정렬할 수 있습니다.

Screenshot showing a list of runs and the chart view.

실행을 비교하려면 다음을 수행합니다.

  1. 여러 실행이 포함된 기존 기계 학습 실험을 선택합니다.
  2. 보기 탭을 선택한 다음 실행 목록 보기로 이동합니다. 또는 실행 세부 정보 보기에서 직접 실행 목록을 보는 옵션을 선택할 수 있습니다.
  3. 열 사용자 지정 창을 확장하여 테이블 내의 열을 사용자 지정합니다 . 여기에서 보려는 속성, 메트릭 및 하이퍼 매개 변수를 선택할 수 있습니다.
  4. 필터 창을 확장하여 선택한 특정 조건에 따라 결과의 범위를 좁힐 수 있습니다.
  5. 메트릭 비교 창에서 결과를 비교하려면 여러 실행을 선택합니다. 이 창에서 차트 제목, 시각화 유형, X축, Y축 등을 변경하여 차트를 사용자 지정할 수 있습니다.

MLflow API를 사용하여 실행 비교

데이터 과학자는 MLflow를 사용하여 실험 내 실행 간에 쿼리 및 검색할 수도 있습니다. MLflow 설명서를 방문하여 실행을 검색, 필터링 및 비교하기 위해 더 많은 MLflow API를 탐색할 수 있습니다.

모든 실행 가져오기

다음 코드에서 실험 이름을 사용하거나 <EXPERIMENT_ID> 실험 ID로 바꿔 <EXPERIMENT_NAME> 서 MLflow 검색 API mlflow.search_runs() 를 사용하여 실험의 모든 실행을 가져올 수 있습니다.

import mlflow

# Get runs by experiment name: 
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])

# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])

매개 변수에 실험 ID 목록을 제공하여 여러 실험에서 검색할 experiment_ids 수 있습니다. 마찬가지로 매개 변수에 실험 이름 experiment_names 목록을 제공하면 MLflow가 여러 실험에서 검색할 수 있습니다. 이는 여러 실험 내의 실행 간에 비교하려는 경우에 유용할 수 있습니다.

실행 순서 및 제한

매개 변수 search_runsmax_results 사용하여 반환된 실행 수를 제한합니다. 매개 order_by 변수를 사용하면 순서에 따라 열을 나열할 수 있으며 선택적 DESC 또는 ASC 값을 포함할 수 있습니다. 예를 들어 다음 예제에서는 실험의 마지막 실행을 반환합니다.

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Fabric Notebook 내에서 실행 비교

Fabric Notebook 내에서 MLFlow 작성 위젯을 사용하여 각 Notebook 셀 내에서 생성된 MLflow 실행을 추적할 수 있습니다. 위젯을 사용하면 실행, 관련 메트릭, 매개 변수 및 속성을 개별 셀 수준까지 바로 추적할 수 있습니다.

시각적 비교를 얻으려면 실행 비교 보기로 전환할 수도 있습니다. 이 보기는 데이터를 그래픽으로 표시하여 여러 실행에서 패턴 또는 편차를 빠르게 식별할 수 있습니다.

Screenshot showing how to use the MLFlow authoring widget.

기계 학습 모델로 실행 저장

실행에서 원하는 결과가 생성되면 ML 모델로 저장을 선택하여 향상된 모델 추적 및 모델 배포를 위한 모델로 실행을 저장할 수 있습니다.

Screenshot showing where to select Create a new model.