Azure Machine Learning에서 MLflow 프로젝트로 학습(미리 보기)

이 문서에서는 추적을 위해 Azure Machine Learning 작업 영역을 사용하는 MLflow Projects를 사용하여 학습 작업을 제출하는 방법을 알아봅니다. 작업을 제출하고 Azure Machine Learning으로만 추적하거나 Azure Machine Learning 컴퓨팅에서 완전히 실행되도록 클라우드로 실행을 마이그레이션할 수 있습니다.

Warning

Azure Machine Learning의 파일(MLflow 프로젝트)에 대한 MLproject 지원은 2026년 9월에 완전히 사용 중지됩니다. MLflow는 여전히 완벽하게 지원 되며 Azure Machine Learning에서 기계 학습 워크로드를 추적하는 데 권장되는 방법입니다.

MLflow를 계속 사용할 때는 Azure CLI 또는 Python용 Azure Machine Learning SDK(v2)를 사용하여 MLproject 파일에서 Azure Machine Learning 작업으로 전환하는 것이 좋습니다. Azure Machine Learning 작업에 대한 자세한 내용은 MLflow를 사용하여 ML 실험 및 모델 추적을 참조하세요.

MLflow 프로젝트를 사용하면 다른 데이터 과학자(또는 자동화된 도구)가 실행할 수 있도록 코드를 구성하고 설명할 수 있습니다. Azure Machine Learning을 사용하는 MLflow 프로젝트를 사용하면 작업 영역에서 학습 실행을 추적하고 관리할 수 있습니다.

Important

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다.

자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

MLflow 및 Azure Machine Learning 통합에 대해 자세히 알아봅니다.

필수 조건

  • MLflow SDK 패키지 mlflow 및 MLflow azureml-mlflow용 Azure Machine Learning 플러그 인을 설치합니다.

    pip install mlflow azureml-mlflow
    

    SQL Storage, 서버, UI 또는 데이터 과학 종속성이 없는 경량 MLflow 패키지인 패키지를 사용할 mlflow-skinny 수 있습니다. mlflow-skinny 는 배포를 비롯한 전체 기능 모음을 가져오지 않고 MLflow의 추적 및 로깅 기능이 주로 필요한 사용자에게 권장됩니다.

  • Azure Machine Learning 작업 영역 기계 학습 리소스 만들기 자습서따라 만들 수 있습니다.

    • 작업 영역에서 MLflow 작업을 수행하는 데 필요한 액세스 권한을 확인합니다.
  • 원격 추적(즉, Azure Machine Learning 외부에서 실행되는 실험 추적)을 수행하는 경우 Azure Machine Learning 작업 영역의 추적 URI를 가리키도록 MLflow를 구성합니다. MLflow를 작업 영역에 연결하는 방법에 대한 자세한 내용은 Azure Machine Learning용 MLflow 구성을 참조하세요.

  • MLflow 프로젝트의 백 엔드로 Azure Machine Learning을 사용하려면 패키지 azureml-core가 필요합니다.

    pip install azureml-core
    

작업 영역에 연결

Azure Machine Learning 외부에서 작업하는 경우 Azure Machine Learning 작업 영역의 추적 URI를 가리키도록 MLflow를 구성해야 합니다. Azure Machine Learning용 MLflow 구성에서 지침을 찾을 수 있습니다.

Azure Machine Learning 작업 영역에서 MLflow 프로젝트 추적

이 예제에서는 MLflow 프로젝트를 제출하고 Azure Machine Learning을 추적하는 방법을 보여 줍니다.

  1. azureml-mlflow 작업 영역에서 메트릭 및 키 아티팩트를 추적하기 위해 패키지를 환경 구성 파일에 pip 종속성으로 추가합니다.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  2. 로컬 실행을 제출하고 작업 영역에서 자동 추적, 모델 캡처, 로그 파일, 스냅샷 및 인쇄 오류를 지원하는 매개 변수backend = "azureml"를 설정해야 합니다. 이 예제에서는 실행하려는 MLflow 프로젝트가 현재 동일한 폴더에 있다고 가정합니다 uri=".".

    mlflow run . --experiment-name  --backend azureml --env-manager=local -P alpha=0.3
    

    Azure Machine Learning 스튜디오 실행 및 메트릭을 봅니다.

Azure Machine Learning 작업에서 MLflow 프로젝트 학습

이 예제에서는 Azure Machine Learning 컴퓨팅에서 실행되는 작업으로 MLflow 프로젝트를 제출하는 방법을 보여 줍니다.

  1. 백 엔드 구성 개체를 만듭니다. 이 경우 다음을 나타냅니다 COMPUTE. 이 매개 변수는 프로젝트 실행에 사용할 원격 컴퓨팅 클러스터의 이름을 참조합니다. 있는 경우 COMPUTE 프로젝트는 표시된 컴퓨팅에 Azure Machine Learning 작업으로 자동으로 제출됩니다.

    backend_config.json

    {
        "COMPUTE": "cpu-cluster"
    }
    
    
  2. azureml-mlflow 작업 영역에서 메트릭 및 키 아티팩트를 추적하기 위해 패키지를 환경 구성 파일에 pip 종속성으로 추가합니다.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  3. 로컬 실행을 제출하고 작업 영역에서 자동 추적, 모델 캡처, 로그 파일, 스냅샷 및 인쇄 오류를 지원하는 매개 변수backend = "azureml"를 설정해야 합니다. 이 예제에서는 실행하려는 MLflow 프로젝트가 현재 동일한 폴더에 있다고 가정합니다 uri=".".

    mlflow run . --backend azureml --backend-config backend_config.json -P alpha=0.3
    

    참고 항목

    Azure Machine Learning 작업은 항상 환경 컨텍스트에서 실행되므로 매개 변수 env_manager 는 무시됩니다.

    Azure Machine Learning 스튜디오 실행 및 메트릭을 봅니다.

리소스 정리

작업 영역에서 기록된 메트릭 및 아티팩트 사용을 계획하지 않는 경우 개별적으로 삭제하는 기능은 현재 사용할 수 없습니다. 대신 스토리지 계정 및 작업 영역이 포함된 리소스 그룹을 삭제하여 요금이 발생하지 않도록 합니다.

  1. Azure Portal 맨 왼쪽에서 리소스 그룹을 선택합니다.

    Image showing how to delete an Azure resource group.

  2. 목록에서 만든 리소스 그룹을 선택합니다.

  3. 리소스 그룹 삭제를 선택합니다.

  4. 리소스 그룹 이름을 입력합니다. 그런 다음 삭제를 선택합니다.

예제 Notebook

Azure Machine Learning Notebook을 사용한 MLflow는 이 문서에 나와 있는 개념에 따라 시연하고 확장합니다.

참고 항목

MLflow를 사용하는 커뮤니티 기반 예제 리포지토리는 https://github.com/Azure/azureml-examples에서 찾을 수 있습니다.

다음 단계