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

Obter bloco de notas

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.

Bloco de notas de formação distribuído hyperopt e HorovodRunner

Obter bloco de notas