Freigeben über


horovod.spark: Verteiltes Deep Learning mit Horovod

Wichtig

Horovod und HorovodRunner sind jetzt veraltet. Bei Releases nach 15.4 LTS ML ist dieses Paket nicht vorinstalliert. Für verteiltes Deep Learning empfiehlt Databricks die Verwendung von TorchDistributor für verteiltes Training mit PyTorch oder der tf.distribute.Strategy-API für verteiltes Training mit TensorFlow.

Erfahren Sie, wie Sie das horovod.spark-Paket für das verteilte Training von Machine Learning-Modellen verwenden.

horovod.spark in Azure Databricks

Azure Databricks unterstützt das horovod.spark-Paket, das eine Estimator API bietet, die Sie in ML-Pipelines mit Keras und PyTorch verwenden können. Weitere Informationen finden Sie unter Horovod auf Spark, das auch einen Abschnitt zu Horovod auf Databricks enthält.

Hinweis

  • Azure Databricks installiert das horovod-Paket mit Abhängigkeiten. Wenn Sie diese Abhängigkeiten upgraden oder downgraden, können Kompatibilitätsprobleme auftreten.
  • Wenn Sie horovod.spark mit benutzerdefinierte Callbacks in Keras verwenden, müssen Sie Modelle im TensorFlow SavedModel-Format speichern.
    • Verwenden Sie bei TensorFlow 2.x das Suffix .tf im Dateinamen.
    • Legen Sie bei TensorFlow 1.x die Option save_weights_only=True fest.

Anforderungen

Databricks Runtime ML 7.4 oder höher.

Hinweis

horovod.spark unterstützt keine Pyarrow-Versionen 11.0 und höher (weitere Informationen im zugehörigen GitHub-Issue). Databricks Runtime 15.0 ML enthält die Pyarrow-Version 14.0.1. Um horovod.spark mit Databricks Runtime 15.0 ML oder höher zu verwenden, müssen Sie pyarrow manuell installieren und eine Version unter 11.0 angeben.

Beispiel: Verteilte Trainingsfunktion

Hier ist ein grundlegendes Beispiel zum Ausführen einer verteilten Schulungsfunktion mit horovod.spark:

def train():
  import horovod.tensorflow as hvd
  hvd.init()

import horovod.spark
horovod.spark.run(train, num_proc=2)

Beispielnotebooks: Horovod Spark-Schätzer mit Keras und PyTorch

Die folgenden Notebooks veranschaulichen, wie die Horovod Spark-Schätzer-API mit Keras und PyTorch verwendet wird.

Horovod Spark Estimator Keras Notebook

Notebook abrufen

Horovod Spark Estimator PyTorch Notebook

Notebook abrufen