horovod.spark
: rozproszone uczenie głębokie za pomocą struktury Horovod
Ważne
Horovod i HorovodRunner są teraz przestarzałe. Wersje po wersji 15.4 LTS ML nie będą miały wstępnie zainstalowanego pakietu. W przypadku rozproszonego uczenia głębokiego usługa Databricks zaleca używanie narzędzia TorchDistributor do trenowania rozproszonego za pomocą biblioteki PyTorch lub interfejsu tf.distribute.Strategy
API na potrzeby trenowania rozproszonego za pomocą biblioteki TensorFlow.
Dowiedz się, jak używać horovod.spark
pakietu do przeprowadzania rozproszonego trenowania modeli uczenia maszynowego.
horovod.spark
w usłudze Azure Databricks
Usługa Azure Databricks obsługuje horovod.spark
pakiet, który udostępnia interfejs API narzędzia do szacowania, którego można używać w potokach uczenia maszynowego z interfejsami Keras i PyTorch. Aby uzyskać szczegółowe informacje, zobacz Horovod na platformie Spark, która zawiera sekcję dotyczącą platformy Horovod w usłudze Databricks.
Uwaga
- Usługa Azure Databricks instaluje
horovod
pakiet z zależnościami. W przypadku uaktualnienia lub obniżenia poziomu tych zależności mogą wystąpić problemy ze zgodnością. - W przypadku używania z
horovod.spark
niestandardowymi wywołaniami zwrotnymi w protokole Keras należy zapisać modele w formacie TensorFlow SavedModel.- W przypadku biblioteki TensorFlow 2.x użyj sufiksu
.tf
w nazwie pliku. - Dla TensorFlow 1.x ustaw opcję
save_weights_only=True
.
- W przypadku biblioteki TensorFlow 2.x użyj sufiksu
Wymagania
Databricks Runtime ML 7.4 lub nowsza wersja.
Uwaga
horovod.spark
program nie obsługuje wersji pyarrow w wersji 11.0 lub nowszej (zobacz odpowiedni problem z usługą GitHub). Środowisko Databricks Runtime 15.0 ML zawiera plik pyarrow w wersji 14.0.1. Aby używać z usługą horovod.spark
Databricks Runtime 15.0 ML lub nowszą wersją, należy ręcznie zainstalować plik pyarrow, określając wersję poniżej wersji 11.0.
Przykład: funkcja trenowania rozproszonego
Oto podstawowy przykład uruchamiania funkcji trenowania rozproszonego przy użyciu polecenia horovod.spark
:
def train():
import horovod.tensorflow as hvd
hvd.init()
import horovod.spark
horovod.spark.run(train, num_proc=2)
Przykładowe notesy: narzędzia do szacowania platformy Spark horovod korzystające z interfejsów Keras i PyTorch
W poniższych notesach pokazano, jak używać interfejsu API narzędzia do szacowania platformy Horovod platformy Spark przy użyciu interfejsu API Keras i PyTorch.
Notes narzędzia do szacowania platformy Spark horovod Keras
Zdobądź notatnik