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í pro modely Spark ML s modulem pyspark.ml.connect
, viz trénování modelů Spark ML v Databricks Connect pomocí 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?