horovod.spark
: Distribuerad djupinlärning med Horovod
Viktigt!
Horovod och HorovodRunner är nu inaktuella. Versioner efter 15.4 LTS ML kommer inte att ha det här paketet förinstallerat. För distribuerad djupinlärning rekommenderar Databricks att du använder TorchDistributor för distribuerad träning med PyTorch eller API:et tf.distribute.Strategy
för distribuerad träning med TensorFlow.
Lär dig hur du använder horovod.spark
paketet för att utföra distribuerad träning av maskininlärningsmodeller.
horovod.spark
på Azure Databricks
Azure Databricks stöder horovod.spark
paketet, som tillhandahåller ett beräknings-API som du kan använda i ML-pipelines med Keras och PyTorch. Mer information finns i Horovod på Spark, som innehåller ett avsnitt om Horovod på Databricks.
Kommentar
- Azure Databricks installerar
horovod
paketet med beroenden. Om du uppgraderar eller nedgraderar dessa beroenden kan det finnas kompatibilitetsproblem. - När du använder
horovod.spark
med anpassade återanrop i Keras måste du spara modeller i TensorFlow SavedModel-format.- Använd suffixet
.tf
i filnamnet med TensorFlow 2.x. - Med TensorFlow 1.x anger du alternativet
save_weights_only=True
.
- Använd suffixet
Krav
Databricks Runtime ML 7.4 eller senare.
Kommentar
horovod.spark
stöder inte pyarrowversionerna 11.0 och senare (se relevant GitHub-problem). Databricks Runtime 15.0 ML innehåller pyarrow version 14.0.1. Om du vill använda horovod.spark
med Databricks Runtime 15.0 ML eller senare måste du installera pyarrow manuellt och ange en version under 11.0.
Exempel: Distribuerad träningsfunktion
Här är ett grundläggande exempel för att köra en distribuerad träningsfunktion med hjälp av horovod.spark
:
def train():
import horovod.tensorflow as hvd
hvd.init()
import horovod.spark
horovod.spark.run(train, num_proc=2)
Exempel på notebook-filer: Horovod Spark-skattningar med Keras och PyTorch
Följande notebook-filer visar hur du använder Horovod Spark Estimator API med Keras och PyTorch.