Вычислительные ресурсы с поддержкой GPU
Примечание.
Некоторые типы экземпляров с поддержкой GPU находятся в бета-версии и помечены как таковые в раскрывающемся списке list при select драйверов и рабочих типов во время создания вычислений.
Обзор
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 Databricks не поддерживает развертывание вычислений с помощью серии типов экземпляров NC версии 3, так как Azure не рекомендует Nc24rs к 31 марта 2025 г. и NC6s_v3, NC12s_v3 и NC24s_v3 к 30 сентября 2025 г..
Azure Databricks поддерживает следующие типы экземпляров:
NCads_H100_v5
- Тип GPU: NVIDIA H100 NVL GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_NC40ads_H100_v5 | 1 | 94 ГБ | 40 | 320 ГБ |
Standard_NC80adis_H100_v5 | 2 | 94 ГБ x 2 | 80 | 640 ГБ |
ND_H100_v5
- Тип GPU: NVIDIA H100 Tensor Core GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_ND96isr_H100_v5 | 8 | 80 ГБ x 8 | 96 | 1900 ГБ |
NC_A100_v4
- Тип GPU: NVIDIA A100 PCIe GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_NC24ads_A100_v4 | 1 | 80 ГБ | 24 | 220 ГБ |
Standard_NC48ads_A100_v4 | 1 | 80 ГБ x 2 | 48 | 440 ГБ |
Standard_NC96ads_A100_v4 | 1 | 80 ГБ x 4 | 96 | 880 ГБ |
NDasrA100_v4
- Тип GPU: NVIDIA Ampere A100 40 ГБ Tensor Core GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_ND96asr_v4 | 8 | 40 ГБ x 8 | 96 | 900 ГБ |
NVadsA10_v5
- Тип GPU: NVIDIA A10 GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_NV36ads_A10_v5 | 1 | 24 ГБ | 36 | 440 ГБ |
Standard_NV36adms_A10_v5 | 1 | 24 ГБ | 36 | 880 ГБ |
Standard_NV72ads_A10_v5 | 2 | 24 ГБ x 2 | 72 | 880 ГБ |
NCasT4_v3
- Тип GPU: NVIDIA T4 GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_NC4as_T4_v3 | 1 | 16 ГБ | 4 | 28 ГБ |
Standard_NC8as_T4_v3 | 1 | 16 ГБ | 8 | 56 ГБ |
Standard_NC16as_T4_v3 | 1 | 16 ГБ | 16 | 110 ГБ |
Standard_NC64as_T4_v3 | 4 | 16 ГБ x 4 | 64 | 440 ГБ |
NC_v3
- Тип GPU: NVIDIA Tesla V100 GPU
Имя экземпляра | Количество gpu | Память GPU | виртуальные ЦП | Память ЦП |
---|---|---|---|---|
Standard_NC6s_v3 | 1 | 16 ГБ | 6 | 112 ГБ |
Standard_NC12s_v3 | 2 | 16 ГБ x 2 | 12 | 224 ГБ |
Standard_NC24s_v3 | 4 | 16 ГБ x 4 | 24 | 448 ГБ |
Standard_NC24rs_v3 | 4 | 16 ГБ x 4 | 24 | 448 ГБ |
Сведения о list поддерживаемых типах экземпляров GPU и их регионах доступности см. в ценовых up-toAzure Databricks. Развертывание Azure Databricks должно находиться в поддерживаемом регионе для запуска вычислений с поддержкой GPU.
Планирование GPU
Планирование GPU эффективно распределяет задачи Spark по большому количеству GPU.
Databricks Runtime поддерживает планирование с поддержкой GPU из Apache Spark 3.0. Azure Databricks предварительно настраивает его на вычислительных ресурсах GPU.
Примечание.
Планирование GPU не включено в вычислительных ресурсах с одним узлом.
Планирование GPU для искусственного интеллекта и машинного обучения
spark.task.resource.gpu.amount
— это единственная конфигурация Spark, связанная с планированием с поддержкой GPU, которую может потребоваться настроить.
Конфигурация по умолчанию использует один GPU для каждой задачи, что является хорошим базовым показателем для распределенных рабочих нагрузок вывода и распределенного обучения при использовании всех узлов GPU.
Чтобы сократить затраты на обмен данными во время распределенного обучения, Databricks рекомендует задать spark.task.resource.gpu.amount
количество GPU на рабочий узел в конфигурации вычислительной Spark. Это создает только одну задачу Spark для каждой рабочей роли Spark и назначает все графические процессоры в этом рабочем узле одной задаче.
Чтобы увеличить параллелизацию для вывода распределенного глубокого обучения, можно setspark.task.resource.gpu.amount
до дробных величин values, например 1/2, 1/3, 1/4, ... 1/Н. Это создает больше задач Spark, чем есть графические процессоры, что позволяет выполнять более параллельные задачи для параллельного обработки запросов вывода. Например, если вы setspark.task.resource.gpu.amount
0.5
, 0.33
или 0.25
, доступные графические процессоры будут разделены между двумя, тройными или четырехкратными числами задач.
Индексы GPU
Для задач PySpark Azure Databricks автоматически переназначает назначенные GPU на индексы с нуля. Для конфигурации по умолчанию, которая использует один GPU для каждой задачи, можно использовать GPU по умолчанию, не проверяя, какой GPU назначен задаче.
Если вы set несколько GPU для каждой задачи, например 4, индексы назначенных GPU всегда 0, 1, 2 и 3. Если вам действительно нужны физические индексы назначенных GPU, их можно извлечь из переменной среды CUDA_VISIBLE_DEVICES
с помощью get.
При использовании Scala можно get индексы графических процессоров, назначенных задаче из TaskContext.resources().get("gpu")
.
Драйвер NVIDIA GPU, CUDA и cuDNN
Azure Databricks устанавливает библиотеки и драйвер NVIDIA, требуемые для использования GPU в экземплярах драйвера и рабочей роли Spark.
-
CUDA Toolkit— установка в
/usr/local/cuda
. - cuDNN — NVIDIA CUDA Deep Neural Network Library.
- NCCL — NVIDIA Collective Communications Library.
Версия драйвера NVIDIA включается 535.54.03, которая поддерживает CUDA 11.0.
Для серии типов экземпляров NV A10 версии 5 включена 535.154.05
версия драйвера NVIDIA.
Версии включенных библиотек см. в заметках о выпуск для конкретной версии Databricks Runtime, которую вы используете.
Примечание.
Это программное обеспечение содержит исходный код, предоставляемый корпорацией NVIDIA. В частности, для поддержки GPU Azure Databricks включает код из CUDA Samples.
Лицензионное соглашение с пользователем NVIDIA
Когда вы select версию Databricks Runtime с поддержкой GPU в Azure Databricks, вы автоматически соглашаетесь с условиями, изложенными в NVIDIA EULA в отношении библиотек CUDA, cuDNN и Tesla, а также с лицензионным соглашением NVIDIA (с дополнением NCCL) для библиотеки NCCL.
Службы контейнеров Databricks на вычислительных ресурсах GPU
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
Службы контейнеров Databricks можно использовать для вычислений с графическими процессорами для создания переносимых сред глубокого обучения с настраиваемыми библиотеками. Инструкции см. в разделе "Настройка контейнеров с помощью службы контейнеров Databricks".
Чтобы создать пользовательские образы для вычислений GPU, необходимо select стандартную версию среды выполнения вместо Databricks Runtime ML для GPU. Когда вы selectиспользуете собственный контейнер Docker, можете выбрать использование GPU для вычислений со стандартной версией среды выполнения. Пользовательские образы для GPU основаны на официальных контейнерах CUDA, отличных от Databricks Runtime ML для GPU.
При создании пользовательских образов для вычислений GPU нельзя изменить версию драйвера NVIDIA, так как она должна соответствовать версии драйвера на хост-компьютере.
В databricksruntime
Центре Docker содержатся примеры базовых образов с возможностью GPU. Файлы Dockerfile, используемые для generate этих образов, находятся в примере репозитория контейнеров GitHub, который также содержит подробные сведения о том, какие образы предоставляют примеры и как их настроить.