Microsoft Fabric의 기계 학습 실험
기계 학습 실험은 모든 관련 기계 학습 실행에 대한 organization 및 제어의 기본 단위입니다. 실행은 모델 코드의 단일 실행에 해당합니다. MLflow에서 추적은 실험 및 실행을 기반으로 합니다.
중요
Microsoft Fabric은 현재 미리 보기로 제공됩니다. 이 정보는 릴리스되기 전에 상당히 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다.
기계 학습 실험을 통해 데이터 과학자는 기계 학습 코드를 실행할 때 매개 변수, 코드 버전, 메트릭 및 출력 파일을 기록할 수 있습니다. 또한 실험을 통해 실행을 시각화, 검색 및 비교할 수 있으며 다른 도구에서 분석을 위해 실행 파일 및 메타데이터를 다운로드할 수 있습니다.
이 문서에서는 데이터 과학자가 기계 학습 실험과 상호 작용하고 사용하여 개발 프로세스를 구성하고 여러 실행을 추적하는 방법에 대해 자세히 알아봅니다.
사전 요구 사항
- Power BI Premium 구독입니다. 없는 경우 Power BI Premium 구매 방법을 참조하세요.
- 프리미엄 용량이 할당된 Power BI 작업 영역.
실험 만들기
Power BI UI(사용자 인터페이스)의 데이터 과학 홈페이지에서 직접 또는 MLflow API를 사용하는 코드를 작성하여 기계 학습 실험을 만들 수 있습니다.
UI를 사용하여 실험 만들기
UI에서 기계 학습 실험을 만들려면:
새 데이터 과학 작업 영역을 만들거나 기존 작업 영역을 선택합니다.
"새로 만들기" 섹션에서 실험을 선택합니다.
실험 이름을 제공하고 만들기를 선택합니다. 이 작업은 작업 영역 내에서 빈 실험을 만듭니다.
실험을 만든 후에는 실행 메트릭 및 매개 변수를 추적하는 실행 추가를 시작할 수 있습니다.
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의 이름입니다.
- 등록된 버전: 실행이 기계 학습 모델로 저장되었는지를 나타냅니다.
- 시작 날짜: 실행의 시작 시간입니다.
- 상태: 실행 진행률입니다.
- 하이퍼 매개 변수: 키-값 쌍으로 저장된 하이퍼 매개 변수입니다. 키와 값은 모두 문자열입니다.
- 메트릭: 키-값 쌍으로 저장된 메트릭을 실행합니다. 값은 숫자입니다.
- 출력 파일: 모든 형식의 파일을 출력합니다. 예를 들어 이미지, 환경, 모델 및 데이터 파일을 기록할 수 있습니다.
실행 비교 및 필터링
기계 학습 실행의 품질을 비교하고 평가하려면 실험 내에서 선택한 실행 간에 매개 변수, 메트릭 및 메타데이터를 비교할 수 있습니다.
실행 시각적 비교
기존 실험 내에서 실행을 시각적으로 비교하고 필터링할 수 있습니다. 이렇게 하면 여러 실행 간에 쉽게 탐색하고 정렬할 수 있습니다.
실행을 비교하려면 다음을 수행합니다.
- 여러 실행을 포함하는 기존 기계 학습 실험을 선택합니다.
- 보기 탭을 선택한 다음 실행 목록 보기로 이동합니다. 또는 실행 세부 정보 보기에서 직접 실행 목록 보기 옵션을 선택할 수 있습니다.
- 열 사용자 지정 창을 확장하여 테이블 내 의 열을 사용자 지정합니다 . 여기에서 보려는 속성, 메트릭 및 하이퍼 매개 변수를 선택할 수 있습니다.
- 필터 창을 확장하여 선택한 특정 조건에 따라 결과의 범위를 좁힐 수 있습니다.
- 메트릭 비교 창에서 결과를 비교하려면 여러 실행을 선택합니다. 이 창에서 차트 제목, 시각화 유형, 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_runs
를 max_results
사용하여 반환되는 실행 수를 제한합니다. order_by
매개 변수를 사용하면 정렬할 열을 나열할 수 있으며 선택적 DESC
또는 ASC
값을 포함할 수 있습니다. instance 경우 다음 예제에서는 실험의 마지막 실행을 반환합니다.
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
실행 을 모델로 저장
실행이 원하는 결과를 생성하면 고급 모델 추적 및 모델 배포를 위한 모델로 실행을 저장할 수 있습니다.