Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.sparkpaquete 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
horovodcon 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.sparkcon callbacks personalizados 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 siguientes cuadernos se demuestra cómo usar la API del Estimador de Spark Horovod con Keras y PyTorch.