Compartilhar via


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.

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.

Notebook Keras de Avaliador do Horovod Spark

Obter notebook

Notebook PyTorch de Avaliador do Horovod Spark

Obter notebook