Udostępnij przez


horovod.spark: rozproszone uczenie głębokie za pomocą 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 oszacowania, 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

  • Azure Databricks instaluje pakiet horovod z zależnościami. W przypadku uaktualnienia lub obniżenia poziomu tych zależności mogą wystąpić problemy ze zgodnością.
  • Podczas używania horovod.spark z niestandardowymi wywołaniami zwrotnymi w Keras, modele należy zapisać 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.

Wymagania

Databricks Runtime ML 7.4 lub nowsza wersja.

Uwaga

horovod.spark nie obsługuje pyarrow wersji 11.0 lub nowszej (zobacz odpowiednie zgłoszenie GitHub). Środowisko Databricks Runtime 15.0 ML zawiera pyarrow w wersji 14.0.1. Aby używać horovod.spark z Databricks Runtime 15.0 ML lub nowszego, należy ręcznie zainstalować pyarrow, określając wersję poniżej 11.0.

Przykład: rozproszona funkcja trenowania

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 notebooki: Estymatory Spark Horovod korzystające z Keras i PyTorch

W poniższych notesach pokazano, jak używać interfejsu API Horovod Spark Estimator z Keras i PyTorch.

Notatnik Keras Estimator Spark Horovod

Zdobądź notatnik

Notatnik Estimator Horovod Spark PyTorch

Zdobądź notatnik