MLflow 실험을 Databricks Apps 리소스로 추가하여 애플리케이션 내에서 기계 학습 실험 추적을 사용하도록 설정합니다. MLflow 실험은 모델 개발 수명 주기 내내 학습 실행을 구성하고 기록하고 매개 변수, 메트릭 및 아티팩트를 추적하는 구조화된 방법을 제공합니다.
MLflow 실험을 리소스로 추가하는 경우 앱은 다음을 수행할 수 있습니다.
- 매개 변수 및 메트릭을 사용하여 로그 학습 실행
- 실험 데이터 검색 및 모델 성능 비교
- 실험 메타데이터 액세스 및 실행 기록
- 프로그래밍 방식으로 ML 수명 주기 관리
MLflow 실험 리소스 추가
MLflow 실험을 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.
- 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
- 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
- 리소스 유형으로 MLflow 실험을 선택합니다.
- 작업 영역에서 사용 가능한 실험 목록에서 MLflow 실험을 선택합니다.
- 앱에 대한 적절한 사용 권한 수준을 선택합니다.
- 다음을 읽을 수 있습니다. 실험 메타데이터, 실행, 매개 변수 및 메트릭을 볼 수 있는 권한을 앱에 부여합니다. 실험 결과를 표시하는 앱에 사용합니다.
- 편집 가능: 실험 설정 및 메타데이터를 수정할 수 있는 권한을 앱에 부여합니다.
- 다음을 관리할 수 있습니다. 앱에 실험에 대한 모든 관리 권한을 부여합니다.
- (선택 사항) 앱 구성에서 실험을 참조하는 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다
experiment.
MLflow 실험 리소스를 추가하는 경우:
- Azure Databricks는 선택한 실험에 대해 앱의 서비스 주체 에게 지정된 권한을 부여합니다.
- 앱은 MLflow 추적 API를 통해 학습 실행을 기록하고 실험 데이터에 액세스할 수 있습니다.
- 액세스 범위는 선택한 실험으로만 범위가 지정됩니다. 별도의 리소스로 추가하지 않으면 앱에서 다른 실험에 액세스할 수 없습니다.
환경 변수
MLflow 실험 리소스를 사용하여 앱을 배포할 때, Azure Databricks는 환경 변수를 통해 실험 ID를 제공하며, 이 변수는 valueFrom 필드를 app.yaml 구성에서 참조하여 사용할 수 있습니다.
구성 예제:
env:
- name: MLFLOW_EXPERIMENT_ID
valueFrom: experiment # Use your custom resource key if different
애플리케이션에서 실험 ID 사용:
import os
import mlflow
# Access the experiment using the injected environment variable
experiment_id = os.getenv("MLFLOW_EXPERIMENT_ID")
# Set the experiment for tracking
mlflow.set_experiment(experiment_id=experiment_id)
# Log parameters and metrics
with mlflow.start_run():
mlflow.log_param("learning_rate", 0.01)
mlflow.log_metric("accuracy", 0.95)
mlflow.log_artifact("model.pkl")
자세한 내용은 리소스의 Access 환경 변수를 참조하세요.
MLflow 실험 리소스 제거
앱에서 MLflow 실험 리소스를 제거하면 앱의 서비스 주체가 실험에 대한 액세스 권한을 잃게 됩니다. 실험 자체는 변경되지 않고 적절한 권한이 있는 다른 사용자 및 애플리케이션에서 계속 사용할 수 있습니다.
모범 사례
MLflow 실험 리소스를 사용하는 경우 다음 모범 사례를 따릅니다.
- 검색 가능성을 향상시키기 위해 프로젝트 또는 모델 유형별로 실험을 논리적으로 구성합니다.
- 조직 전체에서 실행 및 매개 변수에 일관된 명명 규칙을 사용합니다.
- 장기 실행 프로젝트에 대한 실험 보존 정책 및 스토리지 관리를 고려합니다.