Distribuované trénování

Azure Databricks doporučuje, abyste, pokud možno, neurální sítě trénovali v jednom počítači. Distribuovaný kód pro trénování a odvozování je složitější, než je kód pro jeden počítač, a je pomalejší z důvodu komunikační režie. Distribuované trénování a odvozování byste však měli zvážit, pokud mají vaše data nebo model příliš velkou velikost, než aby se vešla do paměti v jednom počítači. Pro tyto úlohy zahrnuje Databricks Runtime ML balíčky TorchDistributor, Distributor DeepSpeed a Ray.

Azure Databricks také nabízí distribuované trénování modelů Spark ML s modulem pyspark.ml.connect .

Poznámka:

Databricks nedoporučuje spouštět distribuované trénování s více uzly pomocí virtuálních počítačů řady NC kvůli nízkému výkonu sítě mezi uzly. Místo toho použijte jeden uzel s více GPU nebo použijte jinou velikost virtuálního počítače GPU, například NCasT4_v3-series, která podporuje akcelerované síťové služby.

Distributor DeepSpeed

Distributor DeepSpeed je postaven na torchDistributor a je doporučeným řešením pro zákazníky s modely, které vyžadují vyšší výpočetní výkon, ale jsou omezené omezeními paměti. DeepSpeed je opensourcová knihovna vyvinutá Microsoftem a nabízí optimalizované využití paměti, menší komunikační režii a pokročilý paralelismus kanálu. Další informace o distribuovaném trénování s distributorem DeepSpeed

TorchDistributor

TorchDistributor je opensourcový modul v PySparku, který uživatelům pomáhá provádět distribuované trénování pomocí PyTorchu v jejich clusterech Spark, takže umožňuje spouštět trénovací úlohy PyTorch jako úlohy Sparku. Inicializuje prostředí a komunikační kanály mezi pracovními procesy a využívá příkaz torch.distributed.run rozhraní příkazového řádku ke spuštění distribuovaného trénování napříč pracovními uzly. Přečtěte si další informace o distribuovaném trénování pomocí torchDistributoru.

Paprsek

Ray je opensourcová architektura, která se specializuje na paralelní výpočetní zpracování pro škálování pracovních postupů ML a aplikací umělé inteligence. Podívejte se, co je Ray v Azure Databricks?

Spark ML

pyspark.ml.connect Pomocí modulu můžete provádět distribuované trénování pro trénování modelů Spark ML a spouštění odvozování modelů. Ve službě Databricks Runtime 17.0 a novějších je Spark ML ve výchozím nastavení povolený ve výpočetních prostředcích úrovně Standard a umožňuje používat funkce distribuovaného strojového učení Sparku bez správy celého clusteru. Podívejte se na trénování modelů Spark ML na platformě Databricks Connect pomocí pyspark.ml.connect.