Microsoft Fabric의 기계 학습 모델
기계 학습 모델은 특정 유형의 패턴을 인식하도록 학습된 파일입니다. 데이터 집합에 대해 모델을 학습하여 해당 데이터 집합으로 추론하고 학습하는 데 사용하는 알고리즘을 제공합니다. 모델을 학습시킨 후에는 이를 사용하여 이전에 표시되지 않았던 데이터를 추론하고 해당 데이터에 대해 예측할 수 있습니다.
MLflow에서 기계 학습 모델에는 여러 모델 버전이 포함될 수 있습니다. 여기에서 각 버전은 모델 반복을 나타낼 수 있습니다. 이 문서에서는 ML 모델과 상호 작용하여 모델 버전을 추적하고 비교하는 방법을 알아봅니다.
기계 학습 모델 만들기
MLflow에서 기계 학습 모델에는 표준 패키징 형식이 포함됩니다. 이 형식을 사용하면 Apache Spark에서 일괄 처리 추론을 포함하여 다양한 다운스트림 도구에서 이러한 모델을 사용할 수 있습니다. 이 형식은 다양한 다운스트림 도구에서 이해할 수 있는 다양한 "버전"에 모델을 저장하는 규칙을 정의합니다.
패브릭 UI에서 기계 학습 모델을 직접 만들 수 있습니다. MLflow API는 모델을 직접 만들 수도 있습니다.
UI에서 기계 학습 실험을 만들려면 다음과 같이 할 수 있습니다.
새 데이터 과학 작업 영역을 만들거나 기존 데이터 과학 작업 영역을 선택합니다.
+ 새로 추가 드롭다운에서 모델을 선택하여 데이터 과학 작업 영역에서 빈 모델을 만듭니다.
모델을 만든 후 모델 버전을 추가하여 실행 메트릭 및 매개 변수를 추적할 수 있습니다. 기존 모델에 실험 실행을 등록하거나 저장합니다.
mlflow.register_model()
API를 사용하여 제작 환경에서 직접 기계 학습 실험을 만들 수도 있습니다. 지정된 이름의 등록된 기계 학습 모델이 없는 경우 API는 자동으로 만듭니다.
import mlflow
model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")
print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))
기계 학습 모델 내 버전 관리
기계 학습 모델에는 간소화된 추적 및 비교를 위한 모델 버전 컬렉션이 포함되어 있습니다. 모델 내에서 데이터 과학자는 다양한 모델 버전을 탐색하여 기본 매개 변수 및 메트릭을 탐색할 수 있습니다. 또한 데이터 과학자는 모델 버전 간에 비교를 수행하여 최신 모델이 더 나은 결과를 얻을 수 있는지 여부를 식별할 수 있습니다.
기계 학습 모델 추적
기계 학습 모델 버전은 추적을 위해 등록된 개별 모델을 나타냅니다.
각 모델 버전에는 다음 정보가 포함됩니다.
- 생성 시간: 모델 생성 날짜 및 시간
- 실행 이름: 이 특정 모델 버전을 만드는 데 사용되는 실험 실행의 식별자입니다.
- 하이퍼 매개 변수: 하이퍼 매개 변수는 키-값 쌍으로 저장됩니다. 키와 값은 모두 문자열입니다.
- 메트릭: 키-값 쌍으로 저장된 실행 메트릭입니다. 값은 숫자입니다.
- 모델 스키마/서명: 모델 입력 및 출력의 설명입니다.
- 로깅된 파일: 모든 형식으로 로깅된 파일입니다. 예를 들어 이미지, 환경, 모델 및 데이터 파일을 기록할 수 있습니다.
기계 학습 모델 비교 및 필터링
기계 학습 모델 버전의 품질을 비교하고 평가하려면 선택한 버전 간에 매개 변수, 메트릭 및 메타데이터를 비교할 수 있습니다.
기계 학습 모델을 시각적으로 비교
기존 모델 내에서 실행을 시각적으로 비교할 수 있습니다. 시각적 비교를 사용하면 여러 버전 간에 쉽게 탐색하고 정렬할 수 있습니다.
실행을 비교하려면 다음을 수행할 수 있습니다.
- 여러 버전이 포함된 기존 기계 학습 모델을 선택합니다.
- 보기 탭을 선택한 다음 모델 목록 보기로 이동합니다. 세부 정보 보기에서 직접 모델 목록을 보는 옵션을 선택할 수도 있습니다.
- 테이블 내의 열을 사용자 지정할 수 있습니다. 열 사용자 지정 창을 확장합니다. 여기에서 확인하려는 속성, 지표, 하이퍼파라미터를 선택할 수 있습니다.
- 마지막으로 메트릭 비교 창에서 여러 버전을 선택하여 결과를 비교할 수 있습니다. 이 창에서 차트 제목, 시각화 유형, X축, Y축 등을 변경하여 차트를 사용자 지정할 수 있습니다.
MLflow API를 사용하여 기계 학습 모델 비교
데이터 과학자는 MLflow를 사용하여 작업 영역 내에 저장된 여러 모델 중에서 검색할 수도 있습니다. MLflow 설명서를 확인하여 모델 상호 작용을 위한 다른 MLflow API를 살펴보세요.
from pprint import pprint
client = MlflowClient()
for rm in client.list_registered_models():
pprint(dict(rm), indent=4)
기계 학습 모델 적용
데이터 집합에서 모델을 학습시킨 후에는 해당 모델을 생성해본 적이 없는 데이터에 적용하여 예측을 생성할 수 있습니다. 이 모델에서는 기술 채점 또는 추론을 사용합니다. Microsoft Fabric 모델 채점에 대한 자세한 내용은 다음 섹션을 참조하세요.