horovod.spark
: aprendizaje profundo distribuido con Horovod
Importante
Horovod y HorovodRunner ya están en desuso. Las versiones posteriores a 15.4 LTS ML no tendrán este paquete preinstalado. Para el aprendizaje profundo distribuido, Databricks recomienda usar TorchDistributor para el entrenamiento distribuido con PyTorch o la API para el tf.distribute.Strategy
entrenamiento distribuido con TensorFlow.
Aprenda a usar el horovod.spark
paquete para realizar el entrenamiento distribuido de modelos de Machine Learning.
horovod.spark
en Azure Databricks
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
.
- Con TensorFlow 2.x, el nombre de archivo debe contener el sufijo
Requisitos
Databricks Runtime ML 7.4 o versiones posteriores.
Nota:
horovod.spark
no admite las versiones 11.0 y posteriores de pyarrow (consulte el problema de GitHub pertinente). Databricks Runtime 15.0 ML incluye pyarrow versión 14.0.1. Para usar horovod.spark
con Databricks Runtime 15.0 ML o superior, debe instalar manualmente pyarrow, especificando una versión inferior a 11.0.
Ejemplo: Función de entrenamiento distribuido
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: Estimadores de Spark Horovod mediante Keras y PyTorch
En los cuadernos siguientes se muestra cómo usar la API estimador de Spark Horovod con Keras y PyTorch.