horovod.spark
: gedistribueerd deep learning met Horovod
Belangrijk
Horovod en HorovodRunner zijn nu afgeschaft. Releases na 15.4 LTS ML hebben dit pakket niet vooraf geïnstalleerd. 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
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=True
in.
- Gebruik met TensorFlow 2.x het
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.