Usar algoritmos de treinamento distribuído com o Hyperopt
A versão de código aberto do Hyperopt não está mais sendo mantida.
O Hyperopt será removido na próxima versão principal do DBR ML. A Databricks recomenda o uso do Optuna para otimização de nó único ou do RayTune para obter uma experiência semelhante à funcionalidade de ajuste de hiperparâmetro distribuído Hyperopt, que foi descontinuada. Saiba mais sobre o uso do RayTune no Databricks.
Além dos algoritmos de treinamento de máquina única, como os do scikit-learn, o senhor pode usar o Hyperopt com algoritmos de treinamento distribuído. Nesse cenário, o Hyperopt gera testes com diferentes configurações de hiperparâmetro no nó do driver. Cada tentativa é executada a partir do nó driver, o que lhe dá acesso a todo o recurso de clustering. Essa configuração funciona com qualquer algoritmo ou biblioteca de aprendizado de máquina distribuído, incluindo o Apache Spark MLlib e o HorovodRunner.
Quando o senhor usar o Hyperopt com algoritmos de treinamento distribuído, não passe um argumento trials
para fmin()
e, especificamente, não use a classe SparkTrials
. SparkTrials
foi projetado para distribuir testes para algoritmos que não são distribuídos. Com algoritmos de treinamento distribuído, use a classe default Trials
, que é executada no driver de clustering. O Hyperopt avalia cada tentativa no nó do driver para que o próprio algoritmo de ML possa iniciar o treinamento distribuído.
O Databricks não oferece suporte ao registro automático em MLflow com a classe Trials
. Ao usar algoritmos de treinamento distribuídos, o senhor deve chamar manualmente MLflow para log trials para Hyperopt.
Notebook Exemplo: Usar com algoritmos Hyperopt MLlib
O exemplo do Notebook mostra como usar o Hyperopt para ajustar os algoritmos de treinamento distribuído do MLlib.
Notebook de treinamento distribuído Hyperopt e MLlib
Notebook Exemplo: Use com o senhor. Hyperopt HorovodRunner
HorovodRunner é um API geral usado para executar cargas de trabalho de aprendizagem profunda distribuídas em Databricks. HorovodRunner integra-se Horovod com Sparko modo de barreira do site para oferecer maior estabilidade para trabalhos de aprendizagem profunda de treinamento de longa duração no Spark site.
O exemplo do Notebook mostra como usar o Hyperopt para ajustar o treinamento distribuído para aprendizagem profunda com base no HorovodRunner.