MLflow를 사용하여 학습 작업 추적

MLflow는 엔드투엔드 기계 학습 수명 주기를 관리하기 위한 오픈 소스 플랫폼입니다. MLflow Tracking은 학습 작업 메트릭, 매개 변수 및 모델 아티팩트를 기록하고 추적하는 구성 요소입니다.

이 연습에서는 MLflow를 사용하여 명령 작업으로 실행되는 모델 학습을 추적합니다.

시작하기 전에

관리 수준 액세스 권한이 있는 Azure 구독이 필요합니다.

Azure Machine Learning 작업 영역 프로비저닝

Azure Machine Learning 작업 영역은 모델을 학습하고 관리하는 데 필요한 모든 리소스 및 자산을 관리하기 위한 중심지를 제공합니다.** 스튜디오, Python SDK, Azure CLI를 통해 Azure Machine Learning 작업 영역과 상호 작용할 수 있습니다.

Azure CLI를 사용하여 작업 영역과 필요한 컴퓨팅을 프로비전하고, Python SDK를 사용하여 명령 작업을 실행합니다.

작업 영역 및 컴퓨팅 리소스 만들기

Azure Machine Learning 작업 영역, 컴퓨팅 인스턴스 및 컴퓨팅 클러스터를 만들려면 Azure CLI를 사용합니다. 필요한 모든 명령은 실행할 수 있도록 셸 스크립트로 그룹화됩니다.

  1. 브라우저에서 https://portal.azure.com/에서 Azure Portal을 열고 Microsoft 계정으로 로그인합니다.
  2. 검색 상자 오른쪽 페이지 맨 위에 있는 [>_](Cloud Shell) 단추를 선택합니다. 그러면 포털 아래쪽에 Cloud Shell 창이 열립니다.
  3. 메시지가 표시되면 Bash를 선택합니다. Cloud Shell을 처음 열면 사용할 셸 유형(Bash 또는 PowerShell)을 선택하라는 메시지가 표시됩니다.**
  4. 올바른 구독이 지정되어 있고 필요한 스토리지 계정이 선택되어 있지 않은지 확인합니다. 적용을 선택합니다.
  5. 터미널에서 다음 명령을 입력하여 이 리포지토리를 복제합니다.

     rm -r azure-ml-labs -f
     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    

    SHIFT + INSERT를 사용하여 복사한 코드를 Cloud Shell에 붙여넣습니다.

  6. 리포지토리가 복제된 후에는 다음 명령을 입력하여 이 랩의 폴더로 변경하고 포함된 setup.sh 스크립트를 실행합니다.

     cd azure-ml-labs/Labs/08
     ./setup.sh
    

    확장 기능이 설치되지 않았다는 오류 메시지는 무시합니다.

  7. 스크립트가 완료될 때까지 기다리세요. 일반적으로 약 5~10분이 걸립니다.

랩 자료 복제

작업 영역과 필요한 컴퓨팅 리소스를 만들었으면 Azure Machine Learning 스튜디오를 열고 랩 자료를 작업 영역에 복제할 수 있습니다.

  1. Azure Portal에서 mlw-dp100-… 이라는 Azure Machine Learning 작업 영역으로 이동합니다.
  2. Azure Machine Learning 작업 영역을 선택하고 개요 페이지에서 스튜디오 시작을 선택합니다. Azure Machine Learning 스튜디오를 열 수 있는 또 다른 탭이 브라우저에 열립니다.
  3. 스튜디오에 나타나는 팝업을 모두 닫으세요.
  4. Azure Machine Learning 스튜디오 내에서 컴퓨팅 페이지로 이동하여 이전 섹션에서 만든 컴퓨팅 인스턴스와 클러스터가 있는지 확인합니다. 컴퓨팅 인스턴스가 실행 중이어야 하고, 클러스터는 유휴 상태여야 하며 실행 중인 노드가 0개여야 합니다.
  5. 컴퓨팅 인스턴스 탭에서 컴퓨팅 인스턴스를 찾고 터미널 애플리케이션을 선택합니다.
  6. 터미널에서 다음 명령을 실행하여 컴퓨팅 인스턴스에 Python SDK를 설치합니다.

     pip uninstall azure-ai-ml
     pip install azure-ai-ml
    

    패키지를 찾아서 제거할 수 없다는 오류 메시지는 무시합니다.

  7. 다음 명령을 실행하여 Notebooks, 데이터 및 기타 파일이 포함된 Git 리포지토리를 작업 영역에 복제합니다.

     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    
  8. 명령이 완료되면 파일 창에서 를 클릭하여 보기를 새로 고치고 Users/*your-user-name */azure-ml-labs 폴더가 새로 만들어졌습니다.

Notebook에서 MLflow 작업 제출

이제 필요한 리소스가 모두 준비되었으므로 Notebook을 실행하여 MLflow를 사용하여 모델 매개 변수, 메트릭 및 아티팩트를 추적하는 작업을 제출할 수 있습니다.

  1. Labs/08/MLflow를 사용하여 jobs.ipynb 추적 Notebook을 엽니다.

    인증을 선택하고 인증을 요청하는 알림이 표시되면 필요한 단계를 따릅니다.

  2. Notebook이 Python 3.8 - AzureML 커널을 사용하는지 확인합니다.
  3. Notebook의 모든 셀을 실행합니다.

Azure 리소스 삭제

Azure Machine Learning 탐색을 마치면 지금까지 만든 리소스를 삭제하여 불필요한 Azure 비용을 방지해야 합니다.

  1. Azure Machine Learning 스튜디오 탭을 닫고 Azure Portal로 돌아갑니다.
  2. Azure Portal의 페이지에서 리소스 그룹을 선택합니다.
  3. rg-dp100-… 리소스 그룹을 선택합니다.
  4. 리소스 그룹의 개요 페이지에서 리소스 그룹 삭제를 선택합니다.
  5. 리소스 그룹 이름을 입력하여 삭제 의사를 확인한 다음 삭제를 선택합니다.