Azure Machine Learning에서 컴퓨팅 대상은 무엇인가요?
컴퓨팅 대상은 지정된 컴퓨팅 리소스나 환경으로, 여기서 학습 스크립트를 실행하거나 서비스 배포를 호스팅합니다. 이 위치는 로컬 컴퓨터 또는 클라우드 기반 컴퓨팅 리소스일 수 있습니다. 컴퓨팅 대상을 사용하면 나중에 코드를 변경하지 않고도 컴퓨팅 환경을 간편하게 변경할 수 있습니다.
Azure Machine Learning에는 다양한 컴퓨팅 대상에 대한 다양한 지원이 포함되어 있습니다. 일반적인 모델 개발 수명 주기에서 다음을 수행할 수 있습니다.
- 적은 양의 데이터에서 개발 및 실험하여 시작합니다. 이 단계에서는 로컬 컴퓨터나 클라우드 기반 VM(가상 머신)과 같은 로컬 환경을 컴퓨팅 대상으로 사용합니다.
- 이러한 학습 컴퓨팅 대상 중 하나를 사용하여 데이터를 크게 스케일 업하거나 분산 학습을 수행합니다.
- 모델이 준비되면 이러한 배포 컴퓨팅 대상 중 하나를 사용하여 웹 호스팅 환경에 배포합니다.
컴퓨팅 대상에 사용하는 컴퓨팅 리소스는 작업 영역에 연결됩니다. 작업 영역의 사용자가 로컬 컴퓨터 이외의 컴퓨팅 리소스를 공유합니다.
컴퓨팅 대상 학습
더 큰 데이터 세트에서 학습을 스케일 업하거나 분산 학습을 수행하는 경우 Azure Machine Learning 컴퓨팅을 사용하여 작업을 제출할 때마다 크기가 자동 조정되는 단일 또는 다중 노드 클러스터를 만듭니다. 고유한 컴퓨팅 리소스도 연결할 수 있지만 시나리오마다 지원이 다를 수 있습니다.
컴퓨팅 대상은 한 학습 작업에서 다음 학습 작업으로 재사용할 수 없습니다. 예를 들어 원격 VM을 작업 영역에 연결한 후 여러 작업에 다시 사용할 수 있습니다. 기계 학습 파이프라인의 경우 각 컴퓨팅 대상에 적절한 파이프라인 단계를 사용합니다.
대부분의 작업에 대한 학습 컴퓨팅 대상에 다음 리소스를 사용할 수 있습니다. 모든 리소스를 자동화된 기계 학습, 기계 학습 파이프라인 또는 디자이너에 사용할 수 있는 것은 아닙니다. Azure Databricks는 로컬 실행 및 기계 학습 파이프라인에 대한 학습 리소스로 사용할 수 있지만 다른 학습의 원격 대상으로는 사용할 수 없습니다.
학습 대상 | 자동화된 기계 학습 | Machine Learning 파이프라인 | Azure Machine Learning 디자이너 |
---|---|---|---|
로컬 컴퓨터 | 예 | ||
Azure Machine Learning 컴퓨팅 클러스터 | 예 | 예 | 예 |
Azure Machine Learning 서버리스 컴퓨팅 | 예 | 예 | 예 |
Azure Machine Learning 컴퓨팅 인스턴스 | 예(SDK를 통해) | 예 | 예 |
Azure Machine Learning Kubernetes | 예 | 예 | |
원격 VM | 예 | 예 | |
Apache Spark 풀(미리 보기) | 예(SDK 로컬 모드 전용) | 예 | |
Azure Databricks | 예(SDK 로컬 모드 전용) | 예 | |
Azure Data Lake Analytics | 예 | ||
Azure HDInsight | 예 | ||
Azure Batch | 예 |
팁
컴퓨팅 인스턴스에 120GB OS 디스크가 있습니다. 디스크 공간이 부족한 경우에는 터미널을 사용하여 최소 1~2GB를 지운 후 컴퓨팅 인스턴스를 중지하거나 다시 시작해야 합니다.
유추에 사용되는 컴퓨팅 대상
유추를 수행할 경우 Azure Machine Learning은 사용하는 데 필요한 모델과 관련 리소스를 호스팅하는 Docker 컨테이너를 만듭니다. 그런 다음, 이 컨테이너는 컴퓨팅 대상에 사용됩니다.
모델을 호스팅하는 데 사용하는 컴퓨팅 대상은 배포된 엔드포인트의 비용 및 가용성에 영향을 줍니다. 이 표를 사용하여 적절한 컴퓨팅 대상을 선택합니다.
컴퓨팅 대상 | 사용 대상 | GPU 지원 | 설명 |
---|---|---|---|
Azure Machine Learning 엔드포인트 | 실시간 유추 일괄 처리 유추 |
예 | 서버리스 컴퓨팅에서 실시간(관리형 온라인 엔드포인트) 및 일괄 처리 채점(일괄 처리 엔드포인트)을 위한 완전 관리형 컴퓨팅입니다. |
Azure Machine Learning Kubernetes | 실시간 유추 일괄 처리 유추 |
예 | 온-프레미스, 클라우드, 에지 Kubernetes 클러스터에서 추론 워크로드를 실행합니다. |
컴퓨팅 대상 | 사용 대상 | GPU 지원 | 설명 |
---|---|---|---|
로컬 웹 서비스 | 테스트/디버깅 | 제한된 테스트 및 문제 해결에 사용합니다. 하드웨어 가속은 로컬 시스템에서 라이브러리를 사용하는지에 따라 달라집니다. | |
Azure Machine Learning Kubernetes | 실시간 유추 | 예 | 클라우드에서 유추 워크로드를 실행합니다. |
Azure Container Instances | 실시간 유추 개발/테스트 목적으로만 권장됩니다. |
48GB 미만의 RAM이 필요한 소규모 CPU 기반 워크로드에 사용합니다. 클러스터를 관리하지 않아도 됩니다. 크기가 1GB 미만인 모델에만 적합합니다. 디자이너에서 지원됩니다. |
참고 항목
클러스터 SKU를 선택할 때는 먼저 스케일 업한 다음, 스케일 아웃합니다. 모델에 필요한 RAM이 150%인 머신에서 시작하여 결과를 프로파일링하고 필요한 성능을 갖춘 머신을 찾습니다. 이를 파악한 후에는 동시 추론 요구에 맞게 머신 수를 늘립니다.
Azure Machine Learning 컴퓨팅(관리형)
Azure Machine Learning은 관리형 컴퓨팅 리소스를 만들고 관리합니다. 이 컴퓨팅 유형은 기계 학습 워크로드에 최적화되어 있습니다. Azure Machine Learning 컴퓨팅 클러스터, 서버리스 컴퓨팅 및 컴퓨팅 인스턴스는 유일한 관리 컴퓨팅입니다.
서버리스 컴퓨팅을 만들 필요가 없습니다. 다음에서 Azure Machine Learning 컴퓨팅 인스턴스나 컴퓨팅 클러스터를 만들 수 있습니다.
- Azure Machine Learning 스튜디오
- Python SDK 및 Azure CLI:
- Azure Resource Manager 템플릿 예제 템플릿은 Azure Machine Learning 컴퓨팅 클러스터 만들기를 참조하세요.
참고 항목
컴퓨팅 클러스터를 만드는 대신 서버리스 컴퓨팅을 사용하여 컴퓨팅 수명 주기 관리를 Azure Machine Learning으로 오프로드합니다.
만들면 이러한 컴퓨팅 리소스는 다른 종류의 컴퓨팅 대상과 달리 자동으로 작업 영역에 포함됩니다.
기능 | 컴퓨팅 클러스터 | 컴퓨팅 인스턴스 |
---|---|---|
단일 또는 다중 노드 클러스터 | ✓ | 단일 노드 클러스터 |
작업을 제출할 때마다 자동 크기 조정 | ✓ | |
자동 클러스터 관리 및 작업 예약 | ✓ | ✓ |
CPU와 GPU 리소스에 대한 지원 | ✓ | ✓ |
참고 항목
컴퓨팅이 유휴 상태일 때 요금이 청구되지 않도록 하려면 다음을 수행합니다.
- 컴퓨팅 클러스터의 경우 최소 노드 수가 0으로 설정되어 있는지 확인하거나 서버리스 컴퓨팅을 사용합니다.
- 컴퓨팅 인스턴스의 경우 유휴 종료를 사용하도록 설정합니다.
지원되는 VM 시리즈 및 크기
Important
컴퓨팅 인스턴스 또는 컴퓨팅 클러스터가 이러한 시리즈를 기반으로 하는 경우 다른 VM 크기로 다시 만듭니다.
이 시리즈는 2023년 8월 31일에 사용 중지되었습니다.
이 시리즈는 2024년 8월 31일에 사용 중지되었습니다.
Azure Machine Learning에서 관리형 컴퓨팅 리소스의 노드 크기를 선택하면 Azure에서 사용할 수 있는 일부 VM 크기 중에서 선택할 수 있습니다. Azure는 다양한 워크로드에 맞게 다양한 크기의 Linux 및 Windows를 제공합니다. 자세한 내용은 VM 형식 및 크기를 참조하세요.
VM 크기를 선택하는 데는 몇 가지 예외 및 제한 사항이 있습니다.
- Azure Machine Learning에서는 일부 VM 시리즈가 지원되지 않습니다.
- GPU 및 기타 특수 SKU와 같은 일부 VM 시리즈는 처음에 사용 가능한 VM 목록에 표시되지 않을 수 있습니다. 하지만 할당량 변경을 요청하면 계속 사용할 수 있습니다. 할당량 요청에 대한 자세한 내용은 할당량 및 제한 증가 요청을 참조하세요.
지원되는 시리즈에 대한 자세한 내용은 다음 표를 참조하세요.
지원되는 VM 시리즈 | 범주 | 다음에서 지원 |
---|---|---|
DDSv4 | 범용 가상 컴퓨터 | 컴퓨팅 클러스터와 인스턴스 |
Dv2 | 범용 가상 컴퓨터 | 컴퓨팅 클러스터와 인스턴스 |
Dv3 | 범용 가상 컴퓨터 | 컴퓨팅 클러스터와 인스턴스 |
DSv2 | 범용 가상 컴퓨터 | 컴퓨팅 클러스터와 인스턴스 |
DSv3 | 범용 가상 컴퓨터 | 컴퓨팅 클러스터와 인스턴스 |
EAv4 | 메모리에 최적화 | 컴퓨팅 클러스터와 인스턴스 |
Ev3 | 메모리에 최적화 | 컴퓨팅 클러스터와 인스턴스 |
ESv3 | 메모리에 최적화 | 컴퓨팅 클러스터와 인스턴스 |
FSv2 | 컴퓨팅 최적화 | 컴퓨팅 클러스터와 인스턴스 |
FX | 컴퓨팅 최적화 | 컴퓨팅 클러스터 |
H | 고성능 컴퓨팅 | 컴퓨팅 클러스터와 인스턴스 |
HB | 고성능 컴퓨팅 | 컴퓨팅 클러스터와 인스턴스 |
HBv2 | 고성능 컴퓨팅 | 컴퓨팅 클러스터와 인스턴스 |
HBv3 | 고성능 컴퓨팅 | 컴퓨팅 클러스터와 인스턴스 |
HC | 고성능 컴퓨팅 | 컴퓨팅 클러스터와 인스턴스 |
LSv2 | Storage에 최적화 | 컴퓨팅 클러스터와 인스턴스 |
M | 메모리에 최적화 | 컴퓨팅 클러스터와 인스턴스 |
NC | GPU | 컴퓨팅 클러스터와 인스턴스 |
NC Promo | GPU | 컴퓨팅 클러스터와 인스턴스 |
NCv2 | GPU | 컴퓨팅 클러스터와 인스턴스 |
NCv3 | GPU | 컴퓨팅 클러스터와 인스턴스 |
ND | GPU | 컴퓨팅 클러스터와 인스턴스 |
NDv2 | GPU | 컴퓨팅 클러스터와 인스턴스 |
NV | GPU | 컴퓨팅 클러스터와 인스턴스 |
NVv3 | GPU | 컴퓨팅 클러스터와 인스턴스 |
NCasT4_v3 | GPU | 컴퓨팅 클러스터와 인스턴스 |
NDasrA100_v4 | GPU | 컴퓨팅 클러스터와 인스턴스 |
Azure Machine Learning에서 이러한 VM 시리즈를 지원하지만 모든 Azure 지역에서 사용할 수 있는 것은 아닙니다. VM 시리즈 사용 가능 여부를 확인하려면 지역별 사용 가능한 제품을 참조하세요.
참고 항목
Azure Machine Learning은 Azure Compute에서 지원하는 모든 VM 크기를 지원하지 않습니다. 사용 가능한 VM 크기를 나열하려면 다음 방법을 사용합니다.
참고 항목
Azure Machine Learning은 Azure Compute에서 지원하는 모든 VM 크기를 지원하지 않습니다. 특정 컴퓨팅 VM 유형에서 지원하는 사용 가능한 VM 크기를 나열하려면 다음 방법 중 하나를 사용합니다.
GPU 지원 컴퓨팅 대상을 사용하는 경우 올바른 CUDA 드라이버가 학습 환경에 설치되어 있는지 확인해야 합니다. 다음 표를 사용하여 사용할 올바른 CUDA 버전을 확인합니다.
GPU 아키텍처 | Azure VM 시리즈 | 지원되는 CUDA 버전 |
---|---|---|
Ampere | NDA100_v4 | 11.0+ |
튜링 | NCT4_v3 | 10.0+ |
Volta | NCv3, NDv2 | 9.0+ |
Pascal | NCv2, ND | 9.0+ |
Maxwell | NV, NVv3 | 9.0+ |
Kepler | NC, NC Promo | 9.0+ |
CUDA 버전 및 하드웨어가 호환되는지 확인하는 것 외에도 CUDA 버전이 사용 중인 기계 학습 프레임워크의 버전과 호환되는지 확인합니다.
- PyTorch의 경우 Pytorch의 이전 버전 페이지를 방문하여 호환성을 확인할 수 있습니다.
- Tensorflow의 경우 원본 페이지에서 Tensorflow의 빌드를 방문하여 호환성을 확인할 수 있습니다.
컴퓨팅 격리
Azure Machine Learning 컴퓨팅은 특정 하드웨어 형식에서 격리되고 단일 고객 전용인 VM 크기를 제공합니다. 격리된 VM 크기는 규정 준수 및 규정 요구 사항 충족 등의 이유로 다른 고객의 워크로드로부터 높은 수준의 격리가 필요한 워크로드에 가장 적합합니다. 격리 크기를 사용하면 VM 하나만 해당 서버 인스턴스에서 실행되도록 보장됩니다.
현재 격리된 VM 제품은 다음과 같습니다.
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3(RDMA 가능)
격리에 대한 자세한 내용은 Azure 퍼블릭 클라우드에서 격리를 참조하세요.
관리되지 않는 컴퓨팅
Azure Machine Learning은 ‘관리되지 않는’ 컴퓨팅 대상을 관리하지 않습니다. Azure Machine Learning 외부에 이 형식의 컴퓨팅 대상을 만든 다음, 작업 영역에 연결합니다. 관리되지 않는 컴퓨팅 리소스에는 기계 학습 워크로드 성능을 유지하거나 향상시키는 추가 단계가 필요할 수 있습니다.
Azure Machine Learning은 다음과 같은 관리되지 않은 컴퓨팅 유형을 지원합니다.
- 원격 가상 머신
- Azure HDInsight
- Azure Databricks
- Azure 데이터 레이크 분석
자세한 내용은 컴퓨팅 리소스 관리를 참조하세요.