Use algoritmos de treinamento distribuído com Hyperopt

Observação

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 obter uma experiência semelhante e acesso a algoritmos de ajuste de hiperparâmetros mais atualizados.

Além dos algoritmos de treinamento de máquina única, como os do Scikit-Learn, você pode usar o Hyperopt com algoritmos de treinamento distribuído. Nesse cenário, o Hyperopt gera tentativas com diferentes configurações de hiperparâmetros no nó do driver. Cada tentativa é executada a partir do nó do driver, dando acesso a todos os recursos clusters . Essa configuração funciona com qualquer algoritmo ou biblioteca machine learning distribuído, incluindo Apache Spark MLlib e HorovodRunner.

Ao 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 Trials default , cuja execução no driver clusters . O Hyperopt avalia cada tentativa no nó do driver para que o próprio algoritmo de ML possa iniciar o treinamento distribuído.

Observação

Databricks não oferece suporte a log automático para MLflow com a classe Trials . Ao usar algoritmos de treinamento distribuído, você deve chamar manualmente o MLflow para logs os testes para o Hyperopt.

Exemplo Notebook : Use Hyperopt com algoritmos MLlib

O Notebook de exemplo mostra como usar o Hyperopt para ajustar os algoritmos de treinamento distribuído do MLlib.

Notebook de treinamento distribuído Hyperopt e MLlib

Abra o bloco de anotações em outra guia

Exemplo Notebook : Use Hyperopt com HorovodRunner

HorovodRunner é uma API geral usada para executar cargas de trabalho de aprendizado profundo distribuídas em Databricks. O HorovodRunner integra o Horovod com o modo de barreira do Spark para fornecer maior estabilidade para Job de treinamento profundo de aprendizagem de longa duração no Spark.

O Notebook de exemplo mostra como usar o Hyperopt para ajustar o treinamento distribuído para aprendizagem profunda com base no HorovodRunner.

Notebooktreinamento distribuído Hyperopt e HorovodRunner

Abra o bloco de anotações em outra guia