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.33
nebo 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.05
součá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 databricksruntime
Hub 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.