Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Některé instance s podporou GPU jsou ve fázi beta a jsou takto označeny v rozevíracím seznamu při výběru typu ovladače a pracovní jednotky 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řit GPU výpočetní úlohu
Vytvoření výpočetního objektu GPU se podobá vytvoření libovolného výpočetního prostředí. Mějte na paměti následující skutečnosti:
- Je nutné zaškrtnout políčko Machine Learning . Verze GPU ML se vybere automaticky na základě typu pracovního procesu.
- Zaškrtávací políčko Akcelerace photon musí být nezaškrtnuté. Photon se nepodporuje u typů instancí GPU.
- Typ pracovního procesu musí být typem instance GPU.
- Zaškrtnutím políčka Jeden uzel můžete získat jednu instanci GPU.
Proces konfigurace instancí GPU pomocí rozhraní API clusterů se liší v závislosti na tom, jestli kind je pole nastavené.
kind určuje, zda vaše žádost používá jednoduchou specifikaci formuláře:
- Pokud
kind = CLASSIC_PREVIEW, nastavte"use_ml_runtime": true. - Pokud pole nenastavíte
kind, nastavtespark_versionna verzi s podporou GPU, například 15.4.x-gpu-ml-scala2.12.
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 |
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 |
Aktuální seznam podporovaných typů instancí GPU a jejich oblastí dostupnosti naleznete v ceníku 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 Spark, než je GPU, což umožňuje zpracovávat více souběžných úloh pro paralelní vyřizování inference požadavků. 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 zahrnuta 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 GPU výpočtech
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 kontejner, můžete zvolit výpočet s GPU s použitím standardní verze runtime. Vlastní obrazy pro GPU jsou založené na oficiálních CUDA kontejnerech, 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í obrazy se schopností 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.