Condividi tramite


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.

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