Delen via


horovod.spark: gedistribueerd deep learning met Horovod

Belangrijk

Horovod en HorovodRunner zijn nu afgeschaft. Releases die na 15.4 LTS ML komen, zullen dit pakket niet vooraf geïnstalleerd hebben. Voor gedistribueerde deep learning raadt Databricks aan om TorchDistributor te gebruiken voor gedistribueerde training met PyTorch of de tf.distribute.Strategy API voor gedistribueerde training met TensorFlow.

Meer informatie over het gebruik van het horovod.spark pakket voor het uitvoeren van gedistribueerde training van machine learning-modellen.

horovod.spark bij Azure Databricks

Azure Databricks ondersteunt het horovod.spark pakket, dat een estimator-API biedt die u kunt gebruiken in ML-pijplijnen met Keras en PyTorch. Zie Horovod in Spark, dat een sectie over Horovod op Databricks bevat voor meer informatie.

Notitie

  • Azure Databricks installeert het horovod pakket met afhankelijkheden. Als u deze afhankelijkheden bijwerkt of terugdraait, kunnen zich compatibiliteitsproblemen voordoen.
  • Wanneer u in Keras horovod.spark gebruikt met aangepaste callbacks, moet u modellen opslaan in de TensorFlow SavedModel-indeling.
    • Gebruik met TensorFlow 2.x het .tf achtervoegsel in de bestandsnaam.
    • Stel met TensorFlow 1.x de optie save_weights_only=Truein.

Vereisten

Databricks Runtime ML 7.4 of hoger.

Notitie

horovod.spark biedt geen ondersteuning voor pyarrow-versies 11.0 en hoger (zie relevant GitHub-probleem). Databricks Runtime 15.0 ML bevat pyarrow versie 14.0.1. Als u wilt gebruiken horovod.spark met Databricks Runtime 15.0 ML of hoger, moet u pyarrow handmatig installeren en een versie lager dan 11.0 opgeven.

Voorbeeld: Gedistribueerde trainingsfunctie

Hier volgt een basisvoorbeeld voor het uitvoeren van een gedistribueerde trainingsfunctie met behulp van horovod.spark:

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

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

Voorbeeldnotebooks: Horovod Spark-estimatoren met Keras en PyTorch

De volgende notebooks laten zien hoe u de Horovod Spark Estimator-API gebruikt met Keras en PyTorch.

Horovod Spark Estimator Keras-notebook

Notebook krijgen

Horovod Spark Estimator PyTorch-notebook

Notebook krijgen