Utilizar algoritmos de preparação distribuídos com o Hyperopt
Além de algoritmos de preparação de máquina única, como os do scikit-learn, pode utilizar o Hyperopt com algoritmos de preparação distribuídos. Neste cenário, o Hyperopt gera avaliações com diferentes definições de hiperparâmetros no nó do controlador. Cada avaliação é executada a partir do nó do controlador, dando-lhe acesso aos recursos de cluster completos. Esta configuração funciona com quaisquer algoritmos ou bibliotecas de machine learning distribuídos, incluindo o Apache Spark MLlib e o HorovodRunner.
Quando utiliza o Hyperopt com algoritmos de preparação distribuídos, não transmita um trials
argumento para fmin()
e, especificamente, não utilize a SparkTrials
classe. SparkTrials
foi concebido para distribuir avaliações para algoritmos que não são distribuídos por si próprios. Com algoritmos de preparação distribuídos, utilize a classe predefinida Trials
, que é executada no controlador de cluster. O Hyperopt avalia cada avaliação no nó do controlador para que o algoritmo ML em si possa iniciar a preparação distribuída.
Nota
O Azure Databricks não suporta o registo automático no MLflow com a Trials
classe. Ao utilizar algoritmos de preparação distribuídos, tem de chamar manualmente o MLflow para registar as avaliações do Hyperopt.
Exemplo de bloco de notas: Utilizar o Hyperopt com algoritmos MLlib
O bloco de notas de exemplo mostra como utilizar o Hyperopt para otimizar os algoritmos de preparação distribuídos do MLlib.
Bloco de notas de formação distribuída do Hyperopt e MLlib
Exemplo de bloco de notas: Utilizar o Hyperopt com HorovodRunner
O HorovodRunner é uma API geral utilizada para executar cargas de trabalho de aprendizagem profunda distribuídas no Databricks. O HorovodRunner integra o Horovod no modo de barreira do Spark para proporcionar uma maior estabilidade para tarefas de preparação de aprendizagem profunda de longa duração no Spark.
O bloco de notas de exemplo mostra como utilizar o Hyperopt para otimizar a preparação distribuída para aprendizagem profunda com base no HorovodRunner.