GPU 지원 컴퓨팅
참고 항목
일부 GPU 사용 인스턴스 형식은 베타 있으며 컴퓨팅을 만드는 동안 드라이버 및 작업자 유형을 select 때 드롭다운 list 표시됩니다.
개요
Azure Databricks는 GPU(그래픽 처리 장치)로 가속된 컴퓨팅을 지원합니다. 이 문서에서는 GPU 사용 인스턴스를 사용하여 컴퓨팅을 만드는 방법을 설명하고 해당 인스턴스에 설치된 GPU 드라이버 및 라이브러리에 대해 설명합니다.
GPU 지원 컴퓨팅에 대한 딥 러닝에 대한 자세한 내용은 딥 러닝을 참조하세요.
GPU 컴퓨팅 만들기
GPU 컴퓨팅을 만드는 것은 모든 컴퓨팅을 만드는 것과 비슷합니다. 이때 다음 사항에 유의해야 합니다.
- Databricks 런타임 버전은 GPU 지원 버전(예: 런타임 13.3 LTS ML(GPU, Scala 2.12.15, Spark 3.4.1)이어야 합니다.
- 작업자 유형 및 드라이버 형식은 GPU 인스턴스 형식이어야 합니다.
지원되는 인스턴스 유형
경고
Azure는 2025년 3월 31일까지
Azure Databricks는 다음 인스턴스 유형을 지원합니다.
NCads_H100_v5
- GPU 형식: NVIDIA H100 NVL GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPU | CPU 메모리 |
---|---|---|---|---|
Standard_NC40ads_H100_v5 | 1 | 94GB | 40 | 320GB |
Standard_NC80adis_H100_v5 | 2 | 94GB x 2 | 80 | 640GB |
ND_H100_v5
- GPU 유형: NVIDIA H100 Tensor Core GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPU들 | CPU 메모리 |
---|---|---|---|---|
Standard_ND96isr_H100_v5 | 8 | 80GB x 8 | 96 | 1900GB |
NC_A100_v4
- GPU 유형: NVIDIA A100 PCIe GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPUs | CPU 메모리 |
---|---|---|---|---|
Standard_NC24ads_A100_v4 | 1 | 80GB | 24 | 220GB |
Standard_NC48ads_A100_v4 | 1 | 80GB x 2 | 48 | 440GB |
Standard_NC96ads_A100_v4 | 1 | 80GB x 4 | 96 | 880GB |
NDasrA100_v4
- GPU 유형: NVIDIA Ampere A100 40GB Tensor Core GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPU들 | CPU 메모리 |
---|---|---|---|---|
Standard_ND96asr_v4 | 8 | 40GB x 8 | 96 | 900GB |
NVadsA10_v5
- GPU 유형: NVIDIA A10 GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPU들 | CPU 메모리 |
---|---|---|---|---|
Standard_NV36ads_A10_v5 | 1 | 24GB | 36 | 440GB |
Standard_NV36adms_A10_v5 | 1 | 24기가바이트 | 36 | 880GB |
Standard_NV72ads_A10_v5 | 2 | 24GB x 2 | 72 | 880GB |
NCasT4_v3
- GPU 형식: NVIDIA T4 GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPU들 | CPU 메모리 |
---|---|---|---|---|
Standard_NC4as_T4_v3 | 1 | 16GB | 4 | 28GB |
Standard_NC8as_T4_v3 | 1 | 16GB | 8 | 56GB |
Standard_NC16as_T4_v3 | 1 | 16GB | 16 | 110GB |
Standard_NC64as_T4_v3 | 4 | 16GB x 4 | 64 | 440GB |
NC_v3
- GPU 유형: NVIDIA Tesla V100 GPU
인스턴스 이름 | GPU 수 | GPU 메모리 | vCPU들 | CPU 메모리 |
---|---|---|---|---|
Standard_NC6s_v3 | 1 | 16GB | 6 | 112GB |
Standard_NC12s_v3 | 2 | 16GB x 2 | 12 | 224GB |
Standard_NC24s_v3 | 4 | 16GB x 4 | 24 | 448GB |
Standard_NC24rs_v3 | 4 | 16GB x 4 | 24 | 448GB |
지원되는 GPU 인스턴스 유형 및 해당 가용성 지역의 up-to-날짜 listAzure Databricks 가격 책정 참조하세요. GPU 사용 컴퓨팅을 시작하려면 Azure Databricks 배포가 지원되는 지역에 있어야 합니다.
GPU 예약
GPU 예약은 많은 수의 GPU에 Spark 작업을 효율적으로 분산합니다.
Databricks Runtime은 Apache Spark 3.0부터 GPU 인식 예약을 지원합니다. Azure Databricks는 GPU 컴퓨팅에서 미리 구성합니다.
참고 항목
단일 노드 컴퓨팅에서는 GPU 예약을 사용할 수 없습니다.
AI 및 ML에 대한 GPU 예약
spark.task.resource.gpu.amount
는 구성해야 할 수 있는 GPU 인식 예약과 관련된 유일한 Spark 구성입니다.
기본 구성은 모든 GPU 노드를 사용하는 경우 분산 유추 워크로드 및 분산 학습에 적합한 기준인 작업당 하나의 GPU를 사용합니다.
분산 학습 중에 통신 오버헤드를 줄이기 위해 Databricks는 컴퓨팅 spark.task.resource.gpu.amount
에서 작업자 노드당 GPU 수로 설정하는 것이 좋습니다. 이렇게 하면 각 Spark 작업자에 대해 하나의 Spark 작업만 만들어지고 해당 작업자 노드의 모든 GPU를 동일한 작업에 할당합니다.
분산 딥 러닝 추론의 병렬 처리를 늘리기 위해, setspark.task.resource.gpu.amount
을 1/2, 1/3, 1/4와 같은 분수 values로 설정할 수 있습니다. 1/N. 이렇게 하면 GPU보다 더 많은 Spark 태스크가 생성되므로 더 많은 동시 태스크가 유추 요청을 병렬로 처리할 수 있습니다. 예를 들어, setspark.task.resource.gpu.amount
를 0.5
, 0.33
, 또는 0.25
와 함께 사용하는 경우, 사용 가능한 GPU는 작업의 수가 두 배, 세 배 또는 네 배로 증가하는 데 따라 분배됩니다.
GPU 인덱스
PySpark 작업의 경우 Azure Databricks는 할당된 GPU를 0부터 시작하는 인덱스에 자동으로 다시 매핑합니다. 작업당 하나의 GPU를 사용하는 기본 구성의 경우 작업에 할당된 GPU를 확인하지 않고 기본 GPU를 사용할 수 있습니다.
작업당 여러 GPU를 set 경우(예: 4) 할당된 GPU의 인덱스는 항상 0, 1, 2 및 3입니다. 할당된 GPU의 물리적 인덱스가 필요한 경우 get을 환경 변수 CUDA_VISIBLE_DEVICES
에서 얻을 수 있습니다.
Scala를 사용하는 경우 TaskContext.resources().get("gpu")
작업에 할당된 GPU의 인덱스를 get할 수 있습니다.
NVIDIA GPU 드라이버, CUDA 및 cuDNN
Azure Databricks는 GPU를 사용하는 데 필요한 NVIDIA 드라이버 및 라이브러리를 Spark 드라이버 및 작업자 인스턴스에 설치합니다.
-
CUDA 도구 키트:
/usr/local/cuda
에 설치됨. - cuDNN: NVIDIA CUDA 심층 신경망 라이브러리.
- NCCL: NVIDIA Collective Communications 라이브러리.
포함된 NVIDIA 드라이버 버전은 CUDA 11.0을 지원하는 535.54.03입니다.
NV A10 v5 인스턴스 유형 시리즈의 경우 포함된 535.154.05
NVIDIA 드라이버의 버전은 .
포함된 라이브러리의 버전은 사용 중인 Databricks Runtime 버전의 릴리스 정보를 참조하세요.
참고 항목
이 소프트웨어에는 NVIDIA Corporation에서 제공한 소스 코드가 포함되어 있습니다. Azure Databricks에는 GPU를 지원하기 위해 CUDA 샘플의 코드가 포함되어 있습니다.
NVIDIA EULA(최종 사용자 사용권 계약)
Azure Databricks에서 GPU 지원 "Databricks 런타임 버전"을 select 경우 CUDA, cuDNN 및 Tesla 라이브러리와 관련하여 NVIDIA EULA에 설명된 사용 약관 및 NCCL 라이브러리에 대한 NVIDIA 최종 사용자 라이선스 계약(NCCL 보충 사용) 암시적으로 동의합니다.
GPU 컴퓨팅의 Databricks Container Services
Important
이 기능은 공개 미리 보기 상태입니다.
GPU를 사용하여 컴퓨팅에서 Databricks Container Services를 사용하여 사용자 지정된 라이브러리를 사용하여 이식 가능한 딥 러닝 환경을 만들 수 있습니다. 지침은 Databricks Container Service를 사용하여 컨테이너 사용자 지정을 참조하세요.
GPU 컴퓨팅에 대한 사용자 지정 이미지를 만들려면 GPU용 Databricks 런타임 ML 대신 표준 런타임 버전을 select 합니다. 사용자 고유의 Docker 컨테이너를 사용할 때
GPU 컴퓨팅에 대한 사용자 지정 이미지를 만들 때 NVIDIA 드라이버 버전은 호스트 컴퓨터의 드라이버 버전과 일치해야 하므로 변경할 수 없습니다.
Docker Hub에는 databricksruntime
GPU 기능이 있는 예제 기본 이미지가 포함되어 있습니다. 이러한 이미지를 generate 데 사용되는 Dockerfiles는 예제 컨테이너의 GitHub 리포지토리에 있으며, 예제 이미지가 제공하는 내용과 사용자 지정 방법에 대한 세부 정보도 포함되어 있습니다.