Szkolenie rozproszone
Jeśli to możliwe, w usłudze Azure Databricks zaleca się trenowanie sieci neuronowych na jednym komputerze. Kod rozproszony na potrzeby trenowania i wnioskowania jest bardziej złożony niż kod z pojedynczego komputera i wolniejszy ze względu na narzut związany z komunikacją. Należy jednak rozważyć trenowanie i wnioskowanie rozproszone, jeśli model lub dane są zbyt duże, aby zmieściły się w pamięci na pojedynczym komputerze. W przypadku tych obciążeń środowisko Databricks Runtime ML obejmuje pakiety TorchDistributor, dystrybutor DeepSpeed i Ray.
Usługa Azure Databricks oferuje również rozproszone trenowanie modeli uczenia maszynowego platformy Spark za pomocą modułu pyspark.ml.connect
. Zobacz Trenowanie modeli uczenia maszynowego spark w usłudze Databricks Connect za pomocą narzędzia pyspark.ml.connect.
Uwaga
Usługa Databricks nie zaleca uruchamiania trenowania rozproszonego z wieloma węzłami przy użyciu maszyn wirtualnych z serii NC ze względu na niską wydajność sieci między węzłami. Zamiast tego należy użyć jednego węzła z wieloma procesorami GPU lub użyć innego rozmiaru maszyny wirtualnej procesora GPU, takiego jak seria NCasT4_v3, która obsługuje przyspieszoną sieć.
Dystrybutor DeepSpeed
Dystrybutor DeepSpeed jest oparty na torchDistributor i jest zalecanym rozwiązaniem dla klientów z modelami wymagającymi wyższej mocy obliczeniowej, ale są ograniczone przez ograniczenia pamięci. DeepSpeed to biblioteka typu open source opracowana przez firmę Microsoft i oferuje zoptymalizowane użycie pamięci, mniejsze obciążenie komunikacji i zaawansowane równoległość potoków. Dowiedz się więcej na temat trenowania rozproszonego za pomocą dystrybutora DeepSpeed
TorchDistributor
TorchDistributor to moduł typu open source w programie PySpark, który ułatwia użytkownikom trenowanie rozproszone za pomocą rozwiązania PyTorch w swoich klastrach Spark, dzięki czemu umożliwia uruchamianie zadań szkoleniowych PyTorch jako zadań platformy Spark. Under-the-hood inicjuje środowisko i kanały komunikacji między procesami roboczymi i wykorzystuje polecenie interfejsu wiersza polecenia torch.distributed.run
do uruchamiania rozproszonego szkolenia między węzłami procesu roboczego. Dowiedz się więcej o trenowaniu rozproszonym za pomocą narzędzia TorchDistributor.
Promień
Ray to platforma typu open source, która specjalizuje się w równoległym przetwarzaniu obliczeniowym na potrzeby skalowania przepływów pracy uczenia maszynowego i aplikacji sztucznej inteligencji. Zobacz Co to jest Ray w usłudze Azure Databricks?.