horovod.spark
: distribuované hluboké učení pomocí Horovodu
Důležité
Horovod a HorovodRunner jsou teď zastaralé. Verze po 15.4 LTS ML nebudou mít tento balíček předinstalovaný. Pro distribuované hluboké učení doporučuje Databricks používat TorchDistributor pro distribuované trénování pomocí PyTorchu nebo tf.distribute.Strategy
rozhraní API pro distribuované trénování pomocí TensorFlow.
Naučte se používat horovod.spark
balíček k provádění distribuovaného trénování modelů strojového učení.
horovod.spark
v Azure Databricks
Azure Databricks podporuje horovod.spark
balíček, který poskytuje rozhraní API pro odhadce, které můžete použít v kanálech ML s Kerasem a PyTorchem. Podrobnosti najdete v tématu Horovod ve Sparku, který obsahuje část Horovod v Databricks.
Poznámka:
- Azure Databricks nainstaluje
horovod
balíček se závislostmi. Pokud upgradujete nebo downgradujete tyto závislosti, můžou se zde vyskytovat problémy s kompatibilitou. - Při použití
horovod.spark
s vlastními zpětnými voláními v Kerasu je nutné uložit modely ve formátu TensorFlow SavedModel.- S TensorFlow 2.x použijte příponu
.tf
v názvu souboru. - U TensorFlow 1.x nastavte možnost
save_weights_only=True
.
- S TensorFlow 2.x použijte příponu
Požadavky
Databricks Runtime ML 7.4 nebo novější
Poznámka:
horovod.spark
nepodporuje pyarrow verze 11.0 a vyšší (viz relevantní problém GitHubu). Databricks Runtime 15.0 ML obsahuje pyarrow verze 14.0.1. Pokud chcete databricks Runtime 15.0 ML nebo novější použít horovod.spark
, musíte ručně nainstalovat pyarrow a určit verzi nižší než 11.0.
Příklad: Distribuovaná trénovací funkce
Tady je základní příklad spuštění distribuované trénovací funkce pomocí horovod.spark
:
def train():
import horovod.tensorflow as hvd
hvd.init()
import horovod.spark
horovod.spark.run(train, num_proc=2)
Ukázkové poznámkové bloky: Estimátory Horovod Sparku s využitím Kerasu a PyTorchu
Následující poznámkové bloky ukazují, jak používat rozhraní API estimátoru Horovod Spark s Kerasem a PyTorchem.