Use algoritmos de treino distribuídos com Hyperopt

Além de algoritmos de treino de máquina única, como os utilizados no scikit-learn, você pode usar Hyperopt com algoritmos de treino distribuídos. Para estas funções, o Hyperopt gera ensaios com diferentes configurações de hiperparímetro no nó do condutor, e cada ensaio é avaliado usando algoritmos de treino distribuídos para tirar partido do cluster completo. Isto aplica-se a quaisquer algoritmos ou bibliotecas de machine learning distribuídos, incluindo Apache Spark MLlib e HorovodRunner.

HorovodRunner é uma API geral usada para executar cargas de trabalho de aprendizagem profunda distribuídas em Databricks. A HorovodRunner integra a Horovod com o modo barreira da Spark para proporcionar maior estabilidade para trabalhos de formação em deep learning em Spark.

Em Hyperopt, os testes são avaliados sequencialmente no nó do condutor da Faísca. Em contraste, a HorovodRunner é lançada no nó do condutor da Spark, e distribui trabalhos de formação para os nós dos trabalhadores da Spark. A HorovodRunner recolhe os valores de retorno ao nó do condutor e passa-os para Hyperopt.

Nota

A Azure Databricks não suporta o registo automático de MLflow com a Trials classe. Com o HorovodRunner, não usas a SparkTrials aula, e tens de ligar manualmente para o MLflow para registar testes para Hyperopt.

Para um exemplo de sintonização hiperparítnica para treino distribuído utilizando Hyperopt com HorovodRunner, consulte:

Hiperopt e HorovodRunner distribuídos caderno de treino

Obter o bloco de notas