다음을 통해 공유


Microsoft Fabric의 기계 학습 실험

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

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

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

필수 조건

실험 만들기

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

UI를 사용하여 실험 만들기

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

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

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

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

    새 메뉴에서 실험을 선택할 위치를 보여 주는 스크린샷.

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

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

mlflow.create_experiment()또는 mlflow.set_experiment() API를 사용하여 제작 환경에서 직접 기계 학습 실험을 만들 수도 있습니다. 다음 코드에서 <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>")

실험 내에서 실행 관리

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

실행 추적

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

기계 학습 실행 세부 정보 페이지의 스크린샷.

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

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

최근 실행 보기

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

기계 학습 최근 실행 및 Spark 애플리케이션 보기의 스크린샷.

실행 비교 및 필터링

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

실행 시각적 비교

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

실행 목록 및 차트 보기를 보여 주는 스크린샷.

실행을 비교하는 방법:

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

MLflow API를 사용하여 실행 비교

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

모든 실행 가져오기

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

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>"])

experiment_ids 매개 변수에 실험 ID 목록을 제공하여 여러 실험에서 검색할 수 있습니다. 마찬가지로 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 실행을 추적할 수 있습니다. 위젯을 사용하면 실행, 관련 메트릭, 매개 변수 및 속성을 개별 셀 수준까지 바로 추적할 수 있습니다.

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

MLFlow 작성 위젯을 사용하는 방법을 보여 주는 스크린샷.

기계 학습 모델로 실행 저장

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

새 모델 만들기를 선택할 수 있는 위치를 보여주는 스크린샷.