共用方式為


horovod.spark:使用 Horovod 的分散式深度學習

重要

Horovod 和 HorovodRunner 現在已被取代。 15.4 LTS ML 之後的版本將不會預安裝此套件。 針對分散式深度學習,Databricks 建議搭配使用 TorchDistributor 與 PyTorch 進行分散式訓練,或搭配使用 tf.distribute.Strategy API 與 TensorFlow 進行分散式訓練。

了解如何使用 horovod.spark 套件來執行機器學習模型的分散式訓練。

Azure Databricks 上的 horovod.spark

Azure Databricks 支援 horovod.spark 套件,提供可在 ML 管線中搭配 Keras 和 PyTorch 使用的估算器 API。 如需詳細資訊,請參閱 Spark 上的 Horovod,其中包含 Databricks 上的 Horovod 一節。

注意

  • Azure Databricks 會安裝具有相依性的 horovod 套件。 如果您升級或降級這些相依性,可能會有相容性問題。
  • 在 Keras 中搭配使用 horovod.spark 與自訂回呼時,必須以 TensorFlow SavedModel 格式儲存模型。
    • 使用 TensorFlow 2.x 時,請在檔案名稱中使用 .tf 尾碼。
    • 使用 TensorFlow 1.x 時,請設定選項 save_weights_only=True

需求

Databricks Runtime ML 7.4 或更高版本。

注意

horovod.spark 不支援 pyarrow 11.0 版和更高版本 (請參閱相關的 GitHub 問題)。 Databricks Runtime 15.0 ML 包含 pyarrow 14.0.1 版。 若要搭配使用 horovod.spark 與 Databricks Runtime 15.0 ML 或更高版本,必須手動安裝 pyarrow,並指定低於 11.0 的版本。

範例:分散式訓練函數

以下是使用 horovod.spark 執行分散式訓練函數的基本範例:

def train():
  import horovod.tensorflow as hvd
  hvd.init()

import horovod.spark
horovod.spark.run(train, num_proc=2)

範例筆記本:使用 Keras 和 PyTorch 的 Horovod Spark 估算器

下列筆記本示範如何搭配使用 Horovod Spark 估算器 API 與 Keras 和 PyTorch。

Horovod Spark 估算器 Keras 筆記本

取得筆記本

Horovod Spark 估算器 PyTorch 筆記本

取得筆記本