horovod.spark
: aprendizado profundo distribuído com o Horovod
Importante
Horovod e HorovodRunner foram preteridos. Esse pacote não será pré-instalado nas versões posteriores à versão 15.4 LTS ML. Para aprendizado profundo distribuído, o Databricks recomenda usar TorchDistributor para treinamento distribuído com PyTorch ou a API tf.distribute.Strategy
para treinamento distribuído com TensorFlow.
Saiba como usar o pacote horovod.spark
para executar o treinamento distribuído de modelos de machine learning.
horovod.spark
no Azure Databricks
O Azure Databricks dá suporte ao pacote horovod.spark
, que fornece uma API do avaliador que pode ser usada nos pipelines de ML com o Keras e PyTorch. Para obter detalhes, consulte Horovod no Spark, que inclui uma seção sobre o Horovod no Databricks.
Observação
- O Azure Databricks instala o pacote
horovod
com dependências. Se você fizer upgrade ou downgrade dessas dependências, poderá haver problemas de compatibilidade. - Ao usar
horovod.spark
com retornos de chamada personalizados no Keras, você deve salvar modelos no formato SavedModel do TensorFlow.- No TensorFlow 2.x, use o sufixo
.tf
no nome do arquivo. - No TensorFlow 1.x, defina a opção
save_weights_only=True
.
- No TensorFlow 2.x, use o sufixo
Requisitos
Databricks Runtime ML 7.4 ou superior.
Observação
O horovod.spark
não dá suporte às versões 11.0 e superiores do pyarrow (confira o problema do GitHub relevante). O Databricks Runtime 15.0 ML inclui o pyarrow versão 14.0.1. Para usar o horovod.spark
com o Databricks Runtime 15.0 ML ou superior, você deve instalar manualmente o pyarrow, especificando uma versão abaixo da 11.0.
Exemplo: Função de treinamento distribuído
Este é um exemplo básico para executar uma função de treinamento distribuída usando horovod.spark
:
def train():
import horovod.tensorflow as hvd
hvd.init()
import horovod.spark
horovod.spark.run(train, num_proc=2)
Notebooks de exemplo: avaliadores do Spark do Horovod usando Keras e PyTorch
Os notebooks a seguir demonstram como usar a API do Avaliador do Spark do Horovod com Keras e PyTorch.