Udostępnij za pośrednictwem


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.

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

Notes narzędzia do szacowania platformy Spark horovod PyTorch

Weź notatnik