Azure Machine Learning(v1)을 위한 Python 개발 환경 설정

Azure Machine Learning을 위한 Python 개발 환경을 구성하는 방법을 알아봅니다.

다음 표에서는 이 문서에서 다루는 각 개발 환경을 장단점과 함께 보여 줍니다.

환경 장점 단점
로컬 환경 개발 환경 및 종속성에 대한 모든 권한 원하는 빌드 도구, 환경 또는 IDE를 사용하여 실행합니다. 시작하는 데 시간이 더 오래 걸립니다. 필요한 SDK 패키지를 설치해야 하고, 아직 설치되어 있지 않은 경우에도 환경을 설치해야 합니다.
DSVM(Data Science Virtual Machine) 클라우드 기반 컴퓨팅 인스턴스(Python 및 SDK는 사전 설치됨)와 비슷하지만 널리 사용되는 추가 데이터 과학 및 기계 학습 도구가 미리 설치되어 있습니다. 쉽게 확장하고 다른 사용자 지정 도구 및 워크플로와 결합합니다. 클라우드 기반 컴퓨팅 인스턴스보다 시작 환경이 느립니다.
Azure Machine Learning 컴퓨팅 인스턴스 시작하는 가장 쉬운 방법 전체 SDK는 작업 영역 VM에 이미 설치되어 있으며, Notebook 자습서는 미리 복제되어 실행할 준비가 되었습니다. 개발 환경 및 종속성에 대한 제어가 부족합니다. Linux VM에 대해 발생하는 추가 비용입니다(비용 부과를 방지하도록 사용하지 않는 경우 VM을 중지할 수 있음). 가격 책정 세부 정보를 참조하세요.
Azure Databricks 확장 가능한 Apache Spark 플랫폼에서 대규모의 집약적 기계 학습 워크플로를 실행하는 데 적합합니다. 실험적 기계 학습 또는 작은 규모의 실험 및 워크플로에 대한 과도한 수행 Azure Databricks에 대해 발생하는 추가 비용입니다. 가격 책정 세부 정보를 참조하세요.

또한 이 문서에서는 다음 도구에 대한 추가 사용 팁을 제공합니다.

  • Jupyter Notebook: 이미 Jupyter Notebook을 사용 중인 경우 SDK를 통해 몇 가지 요소를 추가로 설치해야 합니다.

  • Visual Studio Code: Visual Studio Code를 사용하는 경우 Azure Machine Learning 확장에는 Python에 대한 광범위한 언어 지원 뿐만 아니라 Azure Machine Learning을 훨씬 더 편리하고 생산적으로 사용할 수 있는 기능이 포함되어 있습니다.

필수 구성 요소

로컬 및 DSVM만 해당: 작업 영역 구성 파일 만들기

작업 영역 구성 파일은 Azure Machine Learning 작업 영역과 통신하는 방법을 SDK에 알려주는 JSON 파일입니다. 파일 이름은 config.json이고 형식은 다음과 같습니다.

{
    "subscription_id": "<subscription-id>",
    "resource_group": "<resource-group>",
    "workspace_name": "<workspace-name>"
}

이 JSON 파일은 Python 스크립트 또는 Jupyter Notebook을 포함하는 디렉터리 구조 내에 있어야 합니다. 동일한 디렉터리, .azureml이라는 하위 디렉터리 또는 부모 디렉터리에 있을 수 있습니다.

코드에서 이 파일을 사용하려면 Workspace.from_config 메서드를 사용합니다. 이 코드는 파일의 정보를 로드하고 작업 영역에 연결합니다.

다음 메서드 중 하나를 수행하여 작업 영역 구성 파일을 만듭니다.

  • Azure portal

    파일 다운로드: Azure Portal에서, 해당 작업 영역의 개요 섹션에서 config.json 다운로드를 선택합니다.

    config.json 다운로드가 선택된 작업 영역 개요 페이지의 스크린샷

  • Azure Machine Learning Python SDK

    Azure Machine Learning 작업 영역에 연결하는 스크립트를 만들고 write_config 메서드를 사용하여 파일을 생성하고 .azureml/config.json으로 저장합니다. subscription_id, resource_groupworkspace_name을 사용자 고유의 값으로 바꿉니다.

    적용 대상:Python SDK azureml v1

    from azureml.core import Workspace
    
    subscription_id = '<subscription-id>'
    resource_group  = '<resource-group>'
    workspace_name  = '<workspace-name>'
    
    try:
        ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name)
        ws.write_config()
        print('Library configuration succeeded')
    except:
        print('Workspace not found')
    

로컬 컴퓨터 또는 원격 VM 환경

로컬 컴퓨터 또는 원격 가상 머신(예: Azure Machine Learning 컴퓨팅 인스턴스 또는 Data Science VM)에서 환경을 설정할 수 있습니다.

로컬 개발 환경 또는 원격 VM을 구성하려면:

  1. Python 가상 환경을 만듭니다(virtualenv, conda).

    참고

    필수는 아니지만 Anaconda 또는 Miniconda를 사용하여 Python 가상 환경을 관리하고 패키지를 설치하는 것이 좋습니다.

    중요

    Linux 또는 Mac OS에서 bash가 아닌 셸을 사용하는 경우(예: zsh) 일부 명령을 실행할 때 오류가 발생할 수 있습니다. 이 문제를 해결하려면 bash 명령을 사용하여 새 bash 셸을 시작하고 거기서 명령을 실행하세요.

  2. 새로 만든 Python 가상 환경을 활성화합니다.

  3. Azure Machine Learning Python SDK를 설치합니다.

  4. Azure Machine Learning 작업 영역을 사용하도록 로컬 환경을 구성하려면 작업 영역 구성 파일을 만들거나 기존 파일을 사용합니다.

로컬 환경이 설정되었으므로 이제 Azure Machine Learning 작업을 시작할 준비가 되었습니다. 시작하려면 Azure Machine Learning Python 시작 가이드를 참조하세요.

Jupyter Notebook

로컬 Jupyter Notebook 서버를 실행하는 경우 Python 가상 환경에 대한 IPython 커널을 만드는 것이 좋습니다. 이는 예상되는 커널 및 패키지 가져오기 동작을 보장하는 데 도움이 됩니다.

  1. 환경별 IPython 커널 활성화

    conda install notebook ipykernel
    
  2. Python 가상 환경에 대한 커널을 만듭니다. <myenv>를 Python 가상 환경으로 바꾸어야 합니다.

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. Jupyter Notebook 서버 시작

Azure Machine Learning 및 Jupyter Notebook을 시작하려면 Azure Machine Learning Notebook 리포지토리를 참조하세요. 커뮤니티 기반 리포지토리인 AzureML 예도 참조하세요.

Visual Studio Code

개발에 Visual Studio Code를 사용하려면:

  1. Visual Studio Code를 설치합니다.

  2. Azure Machine Learning Visual Studio Code 확장(미리 보기)을 설치합니다.

    중요

    이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

Visual Studio Code 확장이 설치되면 이를 사용하여 다음을 수행합니다.

Azure Machine Learning 컴퓨팅 인스턴스

Azure Machine Learning 컴퓨팅 인스턴스는 데이터 과학자에게 Jupyter Notebook 서버, JupyterLab 및 완전 관리형 기계 학습 환경을 제공하는 클라우드 기반 보안 Azure 워크스테이션입니다.

컴퓨팅 인스턴스를 설치하거나 구성할 수 없습니다.

Azure Machine Learning 작업 영역 내에서 언제든지 하나를 만듭니다. 이름을 입력하고 Azure VM 유형을 지정합니다. 지금 시작하려면 리소스 만들기를 사용해 보세요.

패키지를 설치하는 방법을 비롯하여 컴퓨팅 인스턴스에 대해 자세히 알아보려면 Azure Machine Learning 컴퓨팅 인스턴스 만들기 및 관리를 참조하세요.

사용하지 않는 컴퓨팅 인스턴스에 대한 요금 발생을 방지하려면 컴퓨팅 인스턴스를 중지합니다. 또는 컴퓨팅 인스턴스 대해 유휴 종료를 사용하도록 설정합니다.

Jupyter Notebook 서버 및 JupyterLab 외에도 Azure Machine Learning 스튜디오 내의 통합된 Notebook 기능에서 컴퓨팅 인스턴스를 사용할 수 있습니다.

Azure Machine Learning Visual Studio Code 확장을 사용하여 VS Code를 통해 원격 컴퓨팅 인스턴스에 연결할 수도 있습니다.

데이터 과학 Virtual Machine

Data Science VM은 개발 환경으로 사용할 수 있는 사용자 지정된 VM(가상 머신) 이미지입니다. 데이터 과학 작업을 위해 설계되었으며 다음과 같은 도구 및 소프트웨어가 미리 구성되어 있습니다.

  • TensorFlow, PyTorch, Scikit-learn, XGBoost 및 Azure Machine Learning SDK 같은 패키지
  • Spark Standalone 및 Drill 같은 인기 있는 데이터 과학 도구
  • Azure CLI, AzCopy 및 Storage Explorer 같은 Azure 도구
  • Visual Studio Code 및 PyCharm 같은 IDE(통합 개발 환경)
  • Jupyter Notebook 서버

보다 포괄적인 도구 목록은 Data Science VM 도구 가이드를 참조하세요.

중요

Data Science VM을 학습 또는 추론 작업에 대한 컴퓨팅 대상으로 사용할 계획인 경우 Ubuntu만 지원됩니다.

개별 환경으로 Data Science VM을 사용하려면:

  1. 다음 방법 중 하나를 사용하여 Data Science VM을 만듭니다.

    • Azure Portal을 사용하여 Ubuntu 또는 Windows DSVM을 만듭니다.

    • ARM 템플릿을 사용하여 Data Science VM을 만듭니다.

    • Azure CLI 사용

      Ubuntu Data Science VM을 만들려면 다음 명령을 사용합니다.

      # create a Ubuntu Data Science VM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)"
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
      

      Windows DSVM을 만들려면 다음 명령을 사용합니다.

      # create a Windows Server 2016 DSVM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
      
  2. Azure Machine Learning SDK를 포함하는 conda 환경을 활성화합니다.

    • Ubuntu Data Science VM의 경우:

      conda activate py36
      
    • Windows Data Science VM의 경우:

      conda activate AzureML
      
  3. Azure Machine Learning 작업 영역을 사용하도록 Data Science VM을 구성하려면 작업 영역 구성 파일을 만들거나 기존 항목을 사용합니다.

로컬 환경과 마찬가지로 Visual Studio Code와 Azure Machine Learning Visual Studio Code 확장을 사용하여 Azure Machine Learning과 상호 작용할 수 있습니다.

자세한 내용은 Data Science Virtual Machine를 참조하세요.

다음 단계