horovod.spark: aprendizaje profundo distribuido con Horovod

Azure Databricks es compatible con el paquete horovod.spark, que proporciona una API de estimador que se puede usar en canalizaciones ML con Keras y PyTorch. Para obtener más información, consulte Horovod en Spark, que incluye una sección sobre Horovod en Databricks.

Nota

  • Azure Databricks instala el paquete horovod con dependencias. Si se actualizan estas dependencias o se cambian a una versión anterior, es posible que se produzcan problemas de compatibilidad.
  • Al usar horovod.spark, con devoluciones de llamada personalizadas en Keras, se deben guardar los modelos en el formato SavedModel de TensorFlow.
    • Con TensorFlow 2.x, el nombre de archivo debe contener el sufijo .tf.
    • Con TensorFlow 1.x, se debe establecer la opción save_weights_only=True.

Requisitos

Databricks Runtime ML 7.4 o versiones posteriores.

Ejemplos

Este es un ejemplo básico para ejecutar una función de entrenamiento distribuida mediante horovod.spark:

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

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

Cuadernos de ejemplo

En estos cuadernos se explica cómo usar la API de estimador Horovod Spark con Keras y PyTorch.

Cuaderno de Keras del estimador de Horovod Spark

Obtener el cuaderno

Cuaderno de PyTorch del estimador de Spark de Horovod

Obtener el cuaderno