다음을 통해 공유


horovod.spark: Horovod를 사용한 배포된 딥 러닝

Important

Horovod 및 HorovodRunner는 이제 더 이상 사용되지 않습니다. 15.4 LTS ML 이후 릴리스에는 이 패키지가 미리 설치되어 있지 않습니다. 분산 딥 러닝의 경우 Databricks는 PyTorch와 함께 분산 학습에 TorchDistributor를 사용하거나 TensorFlow를 사용한 분산 학습을 위해 tf.distribute.Strategy API를 사용하는 것이 좋습니다.

horovod.spark 패키지를 사용하여 기계 학습 모델의 분산 학습을 수행하는 방법을 알아봅니다.

Azure Databricks의 horovod.spark

Azure Databricks는 Keras 및 PyTorch와 함께 ML 파이프라인에서 사용할 수 있는 추정기 API를 제공하는 horovod.spark 패키지를 지원합니다. 자세한 내용은 Databricks의 Horovod 섹션이 포함된 Horovod on Spark를 참조하세요.

참고 항목

  • 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에는 버전 14.0.1이 포함되어 있습니다. Databricks Runtime 15.0 ML 이상과 함께 horovod.spark을 사용 하려면 11.0 미만의 버전을 지정하여 pyarrow를 수동으로 설치해야 합니다.

예: 분산 학습 함수

horovod.spark를 사용하여 분산 학습 함수를 실행하는 기본 예제는 다음과 같습니다.

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

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

Notebook 예제: Keras 및 PyTorch를 사용하는 Horovod Spark 추정기

다음 Notebooks는 Keras 및 PyTorch와 함께 Horovod Spark Estimator API를 사용하는 방법을 보여 줍니다.

Horovod Spark Estimator Keras Notebook

Notebook 가져오기

Horovod Spark Estimator PyTorch Notebook

Notebook 가져오기