horovod.spark
: aprendizagem profunda distribuída com o Horovod
Horovod e HorovodRunner estão obsoletos. As versões posteriores à 15.4 LTS ML não terão esse pacote pré-instalado. Para a aprendizagem profunda distribuída, a Databricks recomenda usar o TorchDistributor para treinamento distribuído com o PyTorch ou a API tf.distribute.Strategy
para treinamento distribuído com o TensorFlow.
Saiba como usar o pacote horovod.spark
para realizar o treinamento distribuído do modelo de aprendizado de máquina.
horovod.spark
no Databricks
Databricks suporta o pacote horovod.spark
, que fornece um estimador API que o senhor pode usar no pipeline ML com Keras e PyTorch. Para obter detalhes, consulte Horovod no Spark, que inclui uma seção sobre Horovod no Databricks.
- O Databricks instala o pacote
horovod
com dependências. Se você atualizar ou reduzir essas dependências, pode haver problemas de compatibilidade. - Ao usar o site
horovod.spark
com retornos de chamada personalizados no Keras, o senhor deve salvar os modelos no formato SavedModel do TensorFlow.- Com o TensorFlow 2.x, use o sufixo
.tf
no nome do arquivo. - Com o TensorFlow 1.x, defina a opção
save_weights_only=True
.
- Com o TensorFlow 2.x, use o sufixo
Requisitos
Databricks Runtime ML
horovod.spark
não é compatível com as versões 11.0 e acima do pyarrow (consulte o GitHub problema relevante em ). O Databricks Runtime 15.0 ML inclui a versão 14.0.1 do pyarrow. Para usar horovod.spark
com Databricks Runtime 15.0 ML ou acima, o senhor deve instalar manualmente o pyarrow, especificando uma versão abaixo 11.0.
Exemplo: Função de treinamento distribuído
Aqui está um exemplo básico para executar uma função de treinamento distribuído usando horovod.spark
:
def train():
import horovod.tensorflow as hvd
hvd.init()
import horovod.spark
horovod.spark.run(train, num_proc=2)
Exemplo de notebook: Horovod Spark estimadores usando Keras e PyTorch
O seguinte Notebook demonstra como usar o Horovod Spark Estimator API com Keras e PyTorch.