Microsoft Fabric의 기계 학습 실험

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

중요

Microsoft Fabric은 현재 미리 보기로 제공됩니다. 이 정보는 릴리스되기 전에 상당히 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다.

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

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

사전 요구 사항

실험 만들기

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

UI를 사용하여 실험 만들기

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

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

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

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

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

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

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

실험 내에서 실행 관리

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

실행 추적

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

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

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

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

실행 비교 및 필터링

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

실행 시각적 비교

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

실행 목록을 보여 주는 스크린샷

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

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

MLflow API를 사용하여 실행 비교

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

모든 실행 가져오기

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

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 값을 포함할 수 있습니다. instance 경우 다음 예제에서는 실험의 마지막 실행을 반환합니다.

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

실행 을 모델로 저장

실행이 원하는 결과를 생성하면 고급 모델 추적 및 모델 배포를 위한 모델로 실행을 저장할 수 있습니다.

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

다음 단계