Aller au contenu principal

horovod.spark: deep learning distribué avec Horovod

important

Horovod et HorovodRunner sont désormais obsolètes. Les versions après 15.4 LTS ML n’auront pas ce package préinstallé. Pour le deep learning distribué, Databricks recommande d'utiliser TorchDistributor pour l'entraînement distribué avec PyTorch ou l'API tf.distribute.Strategy pour l'entraînement distribué avec TensorFlow.

Découvrez comment utiliser le horovod.spark package pour effectuer l'entraînement distribué de modèles de machine learning.

horovod.spark sur Databricks

Databricks prend en charge le package horovod.spark, qui fournit une API d’estimation que vous pouvez utiliser dans les Pipelines de ML avec Keras et PyTorch. Pour plus de détails, consultez Horovod sur Spark, qui comprend une section sur Horovod sur Databricks.

remarque
  • Databricks installe le package horovod avec des dépendances. Si vous mettez à niveau ou rétrogradez ces dépendances, il peut y avoir des problèmes de compatibilité.
  • Lorsque vous utilisez horovod.spark avec des callbacks personnalisés dans Keras, vous devez enregistrer les modèles au format TensorFlow SavedModel.
    • Avec TensorFlow 2.x, utilisez le suffixe .tf dans le nom de fichier.
    • Avec TensorFlow 1.x, définissez l'option save_weights_only=True.

Exigences

Databricks Runtime ML 7.4 ou version supérieure.

remarque

horovod.spark ne prend pas en charge les versions de pyarrow 11.0 et supérieures (voir le problème GitHub correspondant). Databricks Runtime 15.0 ML inclut la version 14.0.1 de pyarrow. Pour utiliser horovod.spark avec Databricks Runtime 15.0 ML ou une version ultérieure, vous devez installer pyarrow manuellement, en spécifiant une version inférieure à 11.0.

Exemple : fonction d'entraînement distribué

Voici un exemple de base pour exécuter une fonction d'entraînement distribuée à l'aide de horovod.spark:

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

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

Exemples de Notebooks : estimateurs Horovod Spark utilisant Keras et PyTorch

Les Notebooks suivants démontrent comment utiliser l'API Horovod Spark Estimator avec Keras et PyTorch.

Notebook Horovod Spark Estimator Keras

Notebook Horovod Spark Estimator PyTorch