horovod.spark: gedistribueerd deep learning met Horovod

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

horovod.spark in 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 bijwerken of downgraden, kunnen er compatibiliteitsproblemen zijn.
  • Wanneer u gebruikmaakt van horovod.spark aangepaste callbacks in Keras, 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-schattingen 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 downloaden

Horovod Spark Estimator PyTorch-notebook

Notebook downloaden