horovod.spark
: deep learning distribuito con Horovod
Importante
Horovod e HorovodRunner sono ora deprecati. Le versioni successive alla 15.4 LTS ML non avranno questo pacchetto preinstallato. Per l'apprendimento avanzato distribuito, Databricks consiglia di utilizzare TorchDistributor per il training distribuito con PyTorch o l'API tf.distribute.Strategy
per il training distribuito con TensorFlow.
Informazioni su come usare il pacchetto horovod.spark
per eseguire il training distribuito dei modelli di Machine Learning.
horovod.spark
su Azure Databricks
Azure Databricks supporta il horovod.spark
pacchetto, che fornisce un’API di stima che è possibile usare nelle pipeline di Machine Learning con Keras e PyTorch. Per informazioni dettagliate, consultare la sezione Horovod in Spark, che include una sezione su Horovod in Databricks.
Nota
- Azure Databricks installa il
horovod
pacchetto con dipendenze. Se si esegue l’aggiornamento o il downgrade di queste dipendenze, potrebbero verificarsi problemi di compatibilità. - Quando si usano
horovod.spark
con callback personalizzati in Keras, è necessario salvare i modelli nel formato TensorFlow SavedModel.- Con TensorFlow 2.x, usare il
.tf
suffisso nel nome del file. - Con TensorFlow 1.x, impostare l'opzione
save_weights_only=True
.
- Con TensorFlow 2.x, usare il
Requisiti
Databricks Runtime 7.4 ML o versione successiva.
Nota
horovod.spark
non supporta pyarrow versioni 11.0 e successive (vedere il problema relativo a GitHub). Databricks Runtime 15.0 ML include pyarrow versione 14.0.1. Per usare horovod.spark
databricks Runtime 15.0 ML o versione successiva, è necessario installare manualmente pyarrow, specificando una versione successiva alla 11.0.
Esempio: Funzione di training distribuita
Di seguito è riportato un esempio di base per eseguire una funzione di training distribuita usando horovod.spark
:
def train():
import horovod.tensorflow as hvd
hvd.init()
import horovod.spark
horovod.spark.run(train, num_proc=2)
Notebook di esempio: Estimator Spark Horovod con Keras e PyTorch
I notebook seguenti illustrano come usare l'API Horovod Spark Estimator con Keras e PyTorch.
Notebook Horovod Spark Estimator Keras
Prendi il notebook
Notebook PyTorch di Horovod Spark Estimator
Prendi il notebook