Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Некоторые типы экземпляров с поддержкой GPU находятся в БЕТА и отмечены как таковые в выпадающем списке при выборе типов драйверов и рабочих узлов при создании вычислительных ресурсов.
Обзор
Azure Databricks поддерживает ускорение вычислений с помощью единиц обработки графики (GPU). В этой статье описывается создание вычислительных ресурсов с экземплярами с поддержкой GPU и описание драйверов и библиотек GPU, установленных на этих экземплярах.
Дополнительные сведения о глубоком обучении вычислительных ресурсов с поддержкой GPU см. в статье "Глубокое обучение".
Создайте вычислительное задание на GPU.
Создание вычислений GPU аналогично созданию любых вычислений. Помните следующее:
- Установите флажок "Машинное обучение ". Версия GPU ML выбирается автоматически на основе типа рабочей роли.
- Флажок "Ускорение фотона" должен быть снят. Фотон не поддерживается типами экземпляров GPU.
- Тип рабочей роли и тип драйвера должны быть типами экземпляров GPU.
- Флажок "Один узел " можно проверить, чтобы получить один экземпляр GPU.
Процесс настройки экземпляров GPU с помощью [API кластеров] зависит от того, задано ли kind
поле.
kind
определяет, использует ли запрос простую спецификацию формы:
- Значение
kind = CLASSIC_PREVIEW
if , задано"use_ml_runtime": true
. - Если поле не задано
kind
, установитеspark_version
версию с поддержкой GPU, например 15.4.x-gpu-ml-scala2.12.
Поддерживаемые типы экземпляров
Предупреждение
Azure Databricks прекращает поддержку развертывания вычислительных ресурсов с использованием серии типов экземпляров NC v3, потому что 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 ГБ |
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 ГБ |
См. раздел цен на Azure Databricks для актуального списка поддерживаемых типов экземпляров GPU и регионов их доступности. Развертывание 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 и назначает все графические процессоры в узле рабочем той же задаче.
Чтобы увеличить параллелизацию для вывода распределенного глубокого обучения, можно задать spark.task.resource.gpu.amount
для дробных значений, таких как 1/2, 1/3, 1/4, ... 1/Н. Это создает больше задач Spark, чем есть графических процессоров, что позволяет выполнять больше параллельных задач для параллельной обработки инференс-запросов. Например, если задать для spark.task.resource.gpu.amount
значение 0.5
, 0.33
или 0.25
, доступные графические процессоры будут разделены между двумя, тройными или четырехкратными числами задач.
Индексы GPU
Для задач PySpark Azure Databricks автоматически переназначает назначенные графические процессоры на индексы с нуля. Для конфигурации по умолчанию, которая использует один GPU для каждой задачи, можно использовать GPU по умолчанию, не проверяя, какой GPU назначен задаче.
Если задать несколько GPU для каждой задачи, например 4, индексы назначенных GPU всегда равны 0, 1, 2 и 3. Если вам нужны физические индексы назначенных GPU, их можно получить из переменной среды CUDA_VISIBLE_DEVICES
.
При использовании Scala можно получить индексы графических процессоров, назначенных задаче из 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 v5 включена версия драйвера NVIDIA .
Информацию о версиях включенных библиотек можно найти в заметках о выпуске для той версии Databricks Runtime, которую вы используете.
Примечание.
Это программное обеспечение содержит исходный код, предоставляемый корпорацией NVIDIA. В частности, для поддержки GPU Azure Databricks включает код из CUDA Samples.
Лицензионное соглашение конечного пользователя NVIDIA
При выборе версии среды выполнения Databricks с поддержкой графического процессора в Azure Databricks вы неявно соглашаетесь с условиями и положениями, изложенными в NVIDIA EULA, относительно использования библиотек CUDA, cuDNN и Tesla, а также Лицензионного Соглашения NVIDIA (с дополнением к NCCL) для библиотеки NCCL.
Службы контейнеров Databricks на вычислительных мощностях GPU
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
Службы контейнеров Databricks можно использовать для вычислений с графическими процессорами для создания переносимых сред глубокого обучения с настраиваемыми библиотеками. См. раздел "Настройка контейнеров с помощью контейнерной службы Databricks" для получения инструкций.
Чтобы создать пользовательские образы для вычислений GPU, необходимо выбрать стандартную версию среды выполнения вместо Databricks Runtime ML для GPU. При выборе Использовать собственный контейнер Docker, вы можете выбрать вычисления GPU со стандартной версией среды выполнения. Пользовательские образы для GPU основаны на официальных контейнерах CUDA, отличных от Databricks Runtime ML для GPU.
При создании пользовательских образов для вычислений GPU нельзя изменить версию драйвера NVIDIA, так как она должна соответствовать версии драйвера на хост-компьютере.
В databricksruntime
Центре Docker содержатся примеры базовых образов с возможностью GPU. Dockerfile-файлы, используемые для создания этих образов, находятся в репозитории GitHub для примеров контейнеров , который также содержит информацию о том, что обеспечивают примерные образы и как их настроить.