Sdílet prostřednictvím


Výpočetní prostředky s podporou GPU

Poznámka:

Některé instance s podporou GPU jsou v beta a v rozevíracím seznamu jsou jako takové označeny při výběru typu ovladače a pracovního procesu během vytváření výpočetních prostředků.

Přehled

Azure Databricks podporuje akcelerované výpočetní prostředky pomocí grafických procesorů (GPU). Tento článek popisuje, jak vytvořit výpočetní prostředky s instancemi s podporou GPU a popisuje ovladače a knihovny GPU nainstalované v těchto instancích.

Další informace o hlubokém učení na výpočetních prostředcích s podporou GPU najdete v tématu Hluboké učení.

Vytvoření výpočetních prostředků GPU

Vytvoření výpočetního objektu GPU se podobá vytvoření libovolného výpočetního prostředí. Měli byste mít na paměti následující:

  • Verze modulu Runtime Databricks musí být verze s podporou GPU, například Runtime 13.3 LTS ML (GPU, Scala 2.12.15, Spark 3.4.1).).
  • Typ pracovního procesu a typ ovladače musí být typy instancí GPU.

Podporované typy instancí

Varování

Azure Databricks přestane podporovat spuštění výpočetních prostředků pomocí řady instancí NC v3, protože Azure vyřadí Nc24rs do 31. března 2025 aNC6s_v3, NC12s_v3 a NC24s_v3 do 30. září 2025.

Azure Databricks podporuje následující typy instancí:

NCads_H100_v5

  • Typ GPU: NVIDIA H100 NVL GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_NC40ads_H100_v5 1 94 GB 40 320 GB
Standard_NC80adis_H100_v5 2 94 GB x 2 80 640 GB

ND_H100_v5

  • Typ GPU: NVIDIA H100 Tensor Core GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_ND96isr_H100_v5 8 80 GB x 8 96 1900 GB

NC_A100_v4

  • Typ GPU: NVIDIA A100 PCIe GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_NC24ads_A100_v4 1 80 GB 24 220 GB
Standard_NC48ads_A100_v4 1 80 GB x 2 48 440 GB
Standard_NC96ads_A100_v4 1 80 GB x 4 96 880 GB

NDasrA100_v4

  • Typ GPU: GPU NVIDIA Ampere A100 40 GB Tensor Core GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_ND96asr_v4 8 40 GB x 8 96 900 GB

NVadsA10_v5

  • Typ GPU: NVIDIA A10 GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_NV36ads_A10_v5 1 24 GB 36 440 GB
Standard_NV36adms_A10_v5 1 24 GB 36 880 GB
Standard_NV72ads_A10_v5 2 24 GB x 2 72 880 GB

NCasT4_v3

  • Typ GPU: NVIDIA T4 GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_NC4as_T4_v3 1 16 GB 4 28 GB
Standard_NC8as_T4_v3 1 16 GB 8 56 GB
Standard_NC16as_T4_v3 1 16 GB 16 110 GB
Standard_NC64as_T4_v3 4 16 GB x 4 64 440 GB

NC_v3

  • Typ GPU: NVIDIA Tesla V100 GPU
Název instance Počet grafických procesorů Paměť GPU vCPU (virtuální procesory) Paměť procesoru
Standard_NC6s_v3 1 16 GB 6 112 GB
Standard_NC12s_v3 2 16 GB x 2 12 224 GB
Standard_NC24s_v3 4 16 GB x 4 24 448 GB
Standard_NC24rs_v3 4 16 GB x 4 24 448 GB

Seznam podporovaných typů instancí GPU a jejich oblastí dostupnosti najdete v up-tocenách Azure Databricks. Vaše nasazení Azure Databricks se musí nacházet v podporované oblasti, aby bylo možné spouštět výpočetní prostředky s podporou GPU.

Plánování GPU

Plánování GPU efektivně distribuuje úlohy Sparku napříč velkým počtem GPU.

Databricks Runtime podporuje plánování s podporou GPU z Apache Sparku 3.0. Azure Databricks ho předem nakonfiguruje na výpočetních prostředcích GPU.

Poznámka:

Plánování GPU není na výpočetních prostředcích s jedním uzlem povolené.

Plánování GPU pro AI a ML

spark.task.resource.gpu.amount je jediná konfigurace Sparku související s plánováním podporujícím GPU, kterou možná budete muset nakonfigurovat. Výchozí konfigurace používá jeden GPU na úlohu, což je vhodný směrný plán pro distribuované úlohy odvozování a distribuované trénování, pokud používáte všechny uzly GPU.

Kvůli snížení komunikační režie během distribuovaného trénování doporučuje Databricks nastavit spark.task.resource.gpu.amount počet GPU na pracovní uzel ve výpočetní konfiguraci Sparku. Tím se vytvoří pouze jeden úkol Sparku pro každý pracovní proces Sparku a přiřadí se všechny GPU v tomto pracovním uzlu ke stejné úloze.

Chcete-li zvýšit paralelizaci pro distribuované odvozování hlubokého učení, můžete nastavit spark.task.resource.gpu.amount na zlomkové hodnoty, například 1/2, 1/3, 1/4, ... 1/N. Tím se vytvoří více úloh Sparku, než jsou gpu, což umožňuje více souběžných úloh zpracovávat žádosti o odvozování paralelně. Pokud například nastavíte spark.task.resource.gpu.amount na 0.5, 0.33nebo 0.25, budou dostupné gpu rozděleny mezi dvojité, trojité nebo čtyřnásobné množství úkolů.

Indexy GPU

V případě úloh PySpark Azure Databricks automaticky mapuje přiřazené GPU na indexy založené na nule. Pro výchozí konfiguraci, která používá jeden GPU na úlohu, můžete použít výchozí GPU bez kontroly, který GPU je přiřazen k úkolu. Pokud nastavíte více GPU na úkol, například 4, indexy přiřazených GPU jsou vždy 0, 1, 2 a 3. Pokud potřebujete fyzické indexy přiřazených gpu, můžete je získat z proměnné prostředí CUDA_VISIBLE_DEVICES.

Pokud používáte Scala, můžete získat indexy grafických procesorů přiřazených k úkolu z TaskContext.resources().get("gpu").

Ovladač NVIDIA GPU, CUDA a cuDNN

Azure Databricks nainstaluje ovladač a knihovny NVIDIA potřebné k používání grafických procesorů na ovladači Sparku a instancích pracovních procesů:

  • CUDA Toolkit, nainstalovaný v části /usr/local/cuda.
  • cuDNN: NVIDIA CUDA Deep Neural Network Library.
  • NCCL: NVIDIA Collective Communications Library.

Verze ovladače NVIDIA je 535.54.03, která podporuje CUDA 11.0. Pro řadu instancí NV A10 v5 je 535.154.05součástí verze ovladače NVIDIA .

Informace o verzích zahrnutých knihoven najdete v poznámkách k verzi konkrétní verze Databricks Runtime, kterou používáte.

Poznámka:

Tento software obsahuje zdrojový kód poskytovaný společností NVIDIA Corporation. Konkrétně pro podporu GPU zahrnuje Azure Databricks kód z ukázek CUDA.

Licenční smlouva s koncovým uživatelem NVIDIA (EULA)

Když v Azure Databricks zvolíte verzi modulu runtime Databricks s podporou GPU, implicitně souhlasíte s podmínkami a ustanoveními uvedenými ve smlouvě EULA společnosti NVIDIA, které se týkají knihoven CUDA, cuDNN a Tesla, a s licenční smlouvou koncového uživatele NVIDIA (s dodatkem NCCL) pro knihovnu NCCL.

Databricks Container Services na výpočetních prostředcích GPU

Důležité

Tato funkce je ve verzi Public Preview.

Pomocí služby Databricks Container Services na výpočetních prostředcích s grafickými procesory můžete vytvářet přenosná prostředí hlubokého učení s přizpůsobenými knihovnami. Pokyny najdete v tématu Přizpůsobení kontejnerů pomocí služby Databricks Container Service .

Pokud chcete vytvořit vlastní obrazy pro výpočty na GPU, musíte namísto Databricks Runtime ML pro GPU vybrat standardní verzi modulu runtime. Když vyberete Použít vlastní Docker container, můžete zvolit GPU výpočet se standardní verzí modulu runtime. Vlastní image pro GPU jsou založené na oficiálních kontejnerech CUDA, které se liší od Databricks Runtime ML pro GPU.

Při vytváření vlastních imagí pro výpočetní výkon GPU nemůžete změnit verzi ovladače NVIDIA, protože se musí shodovat s verzí ovladače na hostitelském počítači.

Docker databricksruntimeHub obsahuje ukázkové základní image s funkcí GPU. Soubory Dockerfile použité k vygenerování těchto imagí se nacházejí v ukázkovém úložišti GitHubu, který obsahuje také podrobnosti o tom, jaké ukázkové image poskytují a jak je přizpůsobit.