Azure Machine Learning 컴퓨팅 인스턴스란?
Azure Machine Learning 컴퓨팅 인스턴스는 데이터 과학자를 위한 관리형 클라우드 기반 워크스테이션입니다. 각 컴퓨팅 인스턴스에는 소유자가 한 명뿐이지만 여러 컴퓨팅 인스턴스 간에 파일을 공유할 수 있습니다.
컴퓨팅 인스턴스를 사용하면 Azure Machine Learning 개발을 손쉽게 시작할 수 있을 뿐만 아니라 IT 관리자에게 관리 및 엔터프라이즈 준비 기능을 제공할 수 있습니다.
기계 학습을 위해 클라우드에서 완전히 구성되고 관리된 개발 환경으로 컴퓨팅 인스턴스를 사용합니다. 또한 개발 및 테스트 목적으로 학습 및 추론을 위한 컴퓨팅 대상으로도 사용할 수 있습니다.
컴퓨팅 인스턴스 Jupyter 기능이 작동하려면 웹 소켓 통신이 사용하지 않도록 설정되어 있지 않아야 합니다. 네트워크에서 *.instances.azureml.net 및 *.instances.azureml.ms에 대한 WebSocket 연결이 허용되는지 확인합니다.
Important
이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
컴퓨팅 인스턴스를 사용하는 이유
컴퓨팅 인스턴스는 기계 학습 개발 환경에 최적화된 완전 관리형 클라우드 기반 워크스테이션입니다. 가비지 수집은 다음과 같은 이점을 제공합니다.
주요 혜택 | 설명 |
---|---|
생산성 | Azure Machine Learning 스튜디오에서 통합 Notebook 및 다음 도구를 사용하여 모델을 빌드 및 배포할 수 있습니다. - Jupyter - JupyterLab - VS Code(미리 보기) 컴퓨팅 인스턴스는 Azure Machine Learning 작업 영역 및 스튜디오와 완전히 통합됩니다. 작업 영역의 다른 데이터 과학자와 Notebook 및 데이터를 공유할 수 있습니다. |
관리 및 보안 | 보안 공간을 줄이고 엔터프라이즈 보안 요구 사항에 따라 규정 준수를 추가합니다. 컴퓨팅 인스턴스는 다음과 같은 강력한 관리 정책과 보안 네트워킹 구성을 제공합니다. - Resource Manager 템플릿 또는 Azure Machine Learning SDK에서 자동 프로비저닝 - Azure RBAC(Azure 역할 기반 액세스 제어) - 가상 네트워크 지원 - SSH 액세스를 사용하지 않도록 설정하는 Azure 정책 - 가상 네트워크에서 만들기를 적용하는 Azure 정책 - 일정에 따라 자동 종료/자동 시작 - TLS 1.2 사용 |
ML에 대해 미리 구성 | 사전 구성된 최신 ML 패키지, 딥 러닝 프레임워크 및 GPU 드라이버를 통해 설치 작업에 드는 시간을 절약할 수 있습니다. |
완전한 사용자 지정 기능 | GPU를 비롯한 Azure VM 형식에 대한 광범위한 지원과 패키지 및 드라이버 설치와 같은 지속형의 하위 수준 사용자 지정을 통해 고급 시나리오를 간편하게 만들 수 있습니다. 설치 스크립트를 사용하여 사용자 지정을 자동화할 수도 있습니다. |
- 공용 IP 없는 컴퓨팅 인스턴스 보호.
- 컴퓨팅 인스턴스는 컴퓨팅 클러스터와 유사한 보안 학습 컴퓨팅 대상이기도 하지만 단일 노드입니다.
- 사용자가 직접 컴퓨팅 인스턴스 만들거나 관리자가 사용자를 대신하여 컴퓨팅 인스턴스 만들 수 있습니다.
- 또한 설정 스크립트를 사용하여 필요에 따라 컴퓨팅 인스턴스를 사용자 지정하고 구성할 수 있습니다.
- 비용을 절감하려면 컴퓨팅 인스턴스를 자동으로 시작하고 중지하는 일정을 만들거나 유휴 종료를 사용하도록 설정합니다.
도구 및 환경
Azure Machine Learning 컴퓨팅 인스턴스를 사용하면 작업 영역의 완전 통합형 Notebook 환경에서 모델을 작성, 학습 및 배포할 수 있습니다.
Azure Machine Learning 작업 영역, Jupyter, JupyterLab 또는Visual Studio Code에서 Notebook을 실행할 수 있습니다. 컴퓨팅 인스턴스에 액세스하도록 VS Code Desktop을 구성할 수 있습니다. 또는 필수 설치 또는 종속성 없이 브라우저에서 직접 웹용 VS Code를 사용합니다.
웹용 VS Code를 사용하여 쉬운 통합과 풍부한 개발 환경을 활용하는 것이 좋습니다. 웹용 VS Code는 검색 및 편집 중 검색 및 구문 강조 표시 등 VS Code Desktop의 인기 있는 기능을 제공합니다. 웹용 VS Code Desktop 및 VS Code를 사용하는 방법에 대한 자세한 내용은 Azure Machine Learning과 통합된 Visual Studio Code 실행(미리 보기) 및 컴퓨팅 인스턴스에 원격으로 연결된 VS Code에서 작업(미리 보기)을 참조하세요.
컴퓨팅 인스턴스에 패키지 설치 및 커널 추가를 수행할 수 있습니다.
다음과 같은 도구 및 환경이 컴퓨팅 인스턴스에 이미 설치되어 있습니다.
일반적인 도구 및 환경 | 세부 정보 |
---|---|
드라이버 | CUDA cuDNN NVIDIA Blob FUSE |
Intel MPI 라이브러리 | |
Azure CLI | |
Azure Machine Learning 샘플 | |
Docker | |
Nginx | |
NCCL 2.0 | |
Protobuf |
R 도구 및 환경 | 세부 정보 |
---|---|
R 커널 |
인스턴스를 만들 때 RStudio 또는 Posit Workbench(이전의 RStudio Workbench)를 추가할 수 있습니다.
PYTHON 도구 및 환경 | 세부 정보 |
---|---|
Anaconda Python | |
Jupyter 및 확장 | |
Jupyterlab 및 확장 | |
Python용 Azure Machine Learning SDK (출처: PyPI) |
azure-ai-ml 및 많은 일반적인 Azure 추가 패키지를 포함합니다. 전체 목록을 보려면 컴퓨팅 인스턴스에서 터미널 창을 열고 다음을 실행합니다. conda list -n azureml_py310_sdkv2 ^azure |
기타 PyPI 패키지 | jupytext tensorboard nbconvert notebook Pillow |
Conda 패키지 | cython numpy ipykernel scikit-learn matplotlib tqdm joblib nodejs |
딥 러닝 패키지 | PyTorch TensorFlow Keras Horovod MLFlow pandas-ml scrapbook |
ONNX 패키지 | keras2onnx onnx onnxconverter-common skl2onnx onnxmltools |
Azure Machine Learning Python 샘플 |
컴퓨팅 인스턴스는 Ubuntu를 기본 OS로 포함합니다.
파일에 액세스
Notebook 및 Python 스크립트는 Azure 파일 공유에서 작업 영역의 기본 스토리지 계정에 저장됩니다. 이러한 파일은 “User files” 디렉터리 아래에 있습니다. 이 스토리지를 사용하면 컴퓨팅 인스턴스 간에 Notebook을 쉽게 공유할 수 있습니다. 스토리지 계정은 컴퓨팅 인스턴스를 중지하거나 삭제하는 경우에도 Notebook을 안전하게 유지합니다.
작업 영역의 Azure 파일 공유 계정은 컴퓨팅 인스턴스에 드라이브로 탑재됩니다. 이 드라이브는 Jupyter, Jupyter Labs, RStudio 및 Posit Workbench의 기본 작업 디렉터리입니다. 따라서 Jupyter, JupyterLab, VS Code for Web, RStudio 또는 Posit에서 만든 Notebook 및 기타 파일은 파일 공유에 자동으로 저장되고 다른 컴퓨팅 인스턴스에서도 사용할 수 있습니다.
파일 공유의 파일은 동일한 작업 영역의 모든 컴퓨팅 인스턴스에서 액세스할 수 있습니다. 컴퓨팅 인스턴스에서 이러한 파일에 대한 모든 변경 내용은 안정적으로 파일 공유에 다시 저장됩니다.
또한 작업 영역 파일 공유의 사용자 파일 디렉터리 아래에 있는 폴더에 최신 Azure Machine Learning 샘플을 복제할 수 있습니다.
네트워크 드라이브에서 작은 파일을 작성하는 것이 컴퓨팅 인스턴스 로컬 디스크 자체에 작성하는 것에 비해 느릴 수 있습니다. 많은 작은 파일을 작성하는 경우 /tmp
디렉터리와 같이 컴퓨팅 인스턴스에서 직접 디렉터리를 사용해보세요. 이러한 파일은 다른 컴퓨팅 인스턴스에서 액세스할 수 없습니다.
Notebooks 파일 공유에 학습 데이터를 저장하지 마세요. 데이터를 저장하는 다양한 옵션에 대한 자세한 내용은 작업에서 데이터에 액세스를 참조하세요.
임시 데이터용으로 컴퓨팅 인스턴스의 /tmp
디렉터리를 사용할 수 있습니다. 그러나 컴퓨팅 인스턴스의 OS 디스크에 대용량 데이터 파일을 기록하지 않아야 합니다. 컴퓨팅 인스턴스의 OS 디스크 용량은 120GB입니다. /mnt에 탑재된 임시 디스크에 임시 학습 데이터를 저장할 수도 있습니다. 임시 디스크 크기는 선택한 VM 크기를 기반으로 하며 더 큰 크기의 VM을 선택한 경우 더 많은 양의 데이터를 저장할 수 있습니다. 설치하는 모든 소프트웨어 패키지는 컴퓨팅 인스턴스의 OS 디스크에 저장됩니다. 고객 관리형 키 암호화는 현재 OS 디스크에서 지원되지 않습니다. 컴퓨팅 인스턴스용 OS 디스크는 Microsoft 관리형 키로 암호화됩니다.
데이터 저장소 및 데이터 세트를 탑재할 수도 있습니다.
만들기
기본 컴퓨팅 인스턴스를 만들려면 시작하는 데 필요한 리소스 만들기의 단계를 따릅니다.
자세한 옵션은 새 컴퓨팅 인스턴스 만들기를 참조하세요.
관리자는 작업 영역의 다른 사용자를 위한 컴퓨팅 인스턴스를 만들 수 있습니다. 이러한 컴퓨팅 인스턴스에 대해 SSO를 사용하지 않도록 설정해야 합니다.
설정 스크립트를 사용하여 컴퓨팅 인스턴스를 자동으로 사용자 지정하고 구성할 수도 있습니다.
컴퓨팅 인스턴스를 만드는 다른 방법:
- 통합 Notebook 환경에서 직접 만들기.
- Azure Resource Manager 템플릿에서 만들기. 예제 템플릿의 경우 Azure Machine Learning 컴퓨팅 인스턴스 만들기 템플릿을 참조하세요.
- Azure Machine Learning SDK 사용하여 만들기
- Azure Machine Learning용 CLI 확장에서 만들기
컴퓨팅 인스턴스 만들기에 적용되는 VM 제품군 할당량 및 총 지역 할당량당 지역별 전용 코어는 Azure Machine Learning 학습 컴퓨팅 클러스터 할당량과 통합 및 공유됩니다. 컴퓨팅 인스턴스를 중지해도 컴퓨팅 인스턴스를 다시 시작할 수 있도록 할당량이 해제되지 않습니다. OS 터미널을 통해 sudo 종료를 수행하여 컴퓨팅 인스턴스를 중지하지 마세요.
컴퓨팅 인스턴스는 P10 OS 디스크와 함께 제공됩니다. 임시 디스크 유형은 선택한 VM 크기에 따라 달라 집니다. 현재는 OS 디스크 형식을 변경할 수 없습니다.
컴퓨팅 대상
컴퓨팅 인스턴스는 Azure Machine Learning 컴퓨팅 학습 클러스터와 유사하게 학습 컴퓨팅 대상으로 사용할 수 있습니다. 그러나 컴퓨팅 인스턴스에는 단일 노드만 있는 반면 컴퓨팅 클러스터에는 더 많은 노드가 있을 수 있습니다.
컴퓨팅 인스턴스:
- 작업 큐가 있습니다.
- 기업에서 SSH 포트를 열지 않고도 가상 네트워크 환경에서 안전하게 작업을 실행합니다. 작업은 컨테이너화된 환경에서 실행되며 모델 종속성을 Docker 컨테이너로 패키지합니다.
- 여러 작은 작업을 병렬로 실행할 수 있습니다. 나머지 작업이 큐에 있는 동안 vCPU당 한 개의 작업을 병렬로 실행할 수 있습니다.
- 단일 노드 다중 GPU 분산 학습 작업 지원
컴퓨팅 인스턴스는 테스트/디버그 시나리오에 대한 로컬 추론 배포 대상으로 사용할 수 있습니다.
팁
컴퓨팅 인스턴스에 120GB OS 디스크가 있습니다. 디스크 공간이 부족하여 사용할 수 없는 상태가 되면 파일/폴더를 제거하여 컴퓨팅 인스턴스 터미널을 통해 OS 디스크(/에 탑재됨)에서 최소 5GB의 디스크 공간을 지운 다음 sudo reboot
를 수행합니다. 다시 시작하면 임시 디스크 공간이 비워집니다. 임시 디스크의 공간을 수동으로 비울 필요가 없습니다. 터미널에 액세스하려면 컴퓨팅 목록 페이지 또는 컴퓨팅 인스턴스 세부 정보 페이지로 이동하여 터미널 링크를 클릭합니다. 터미널에서 df -h
를 실행하여 사용 가능한 디스크 공간을 확인할 수 있습니다. sudo reboot
을 수행하기 전에 5GB 이상의 공간을 지우세요. 5GB의 디스크 공간을 지울 때까지 스튜디오를 통해 컴퓨팅 인스턴스를 중지하거나 다시 시작하지 마세요. 예약된 시작 또는 중지와 유휴 종료를 포함한 자동 종료는 CI 디스크가 가득 찬 경우 작동하지 않습니다.
다음 단계
- 시작하는 데 필요한 리소스를 만듭니다.
- 자습서: 첫 번째 ML 모델 학습에서는 통합 Notebook으로 컴퓨팅 인스턴스를 사용하는 방법을 보여 줍니다.