Otimização de hiperparâmetros

Bibliotecas Python como Optuna, Ray Tune e Hyperopt simplificam e automatizam o ajuste de hiperparâmetros para encontrar com eficiência um conjunto ideal de hiperparâmetros para modelos de aprendizado de máquina. Estas bibliotecas escalam em múltiplos recursos de computação para encontrar rapidamente hiperparâmetros com um mínimo de orquestração manual e requisitos de configuração.

Optuna

O Optuna é uma estrutura leve que facilita a definição de um espaço de pesquisa dinâmico para ajuste de hiperparâmetros e seleção de modelos. O Optuna inclui alguns dos mais recentes algoritmos de otimização e aprendizagem automática.

O Optuna pode ser facilmente paralelizado com o Joblib para dimensionar cargas de trabalho e integrado ao MLflow para rastrear hiperparâmetros e métricas em avaliações.

Para começar a usar o Optuna, consulte Ajuste de hiperparâmetros com o Optuna.

Ray Tune

O Databricks Runtime ML inclui o Ray, uma estrutura de código aberto usada para processamento de computação paralela. Ray Tune é uma biblioteca de ajuste de hiperparâmetros que vem com o Ray e usa o Ray como backend para computação distribuída.

Para obter detalhes sobre como executar o Ray no Databricks, consulte O que é o Ray no Azure Databricks?. Para obter exemplos de Ray Tune, consulte a documentação do Ray Tune.

Hyperopt

Nota

A versão de código aberto do Hyperopt não está mais sendo mantida.

O Hyperopt não está incluído no Databricks Runtime for Machine Learning após o 16.4 LTS ML. O Azure Databricks recomenda usar o Optuna para otimização de nó único ou o RayTune para uma experiência semelhante à funcionalidade de ajuste de hiperparâmetros distribuído do Hyperopt, que foi preterida. Saiba mais sobre como usar RayTune no Azure Databricks.

Hyperopt é uma biblioteca Python usada para ajuste de hiperparâmetros distribuídos e seleção de modelos. O Hyperopt funciona com ambos os algoritmos de ML distribuídos, como o Apache Spark MLlib e o Horovod, bem como com modelos de ML de máquina individual, como scikit-learn e TensorFlow.

Para começar a usar o Hyperopt, consulte Usar algoritmos de treinamento distribuído com o Hyperopt.

Rastreio automatizado do MLflow para MLlib

Nota

O rastreamento automatizado do MLflow no MLlib está obsoleto e desativado por predefinição em clusters que executam o Databricks Runtime 10.4 LTS ML e posteriores.

Em vez disso, utilize MLflow PySpark ML autologging através da chamada a mlflow.pyspark.ml.autolog(), que está ativado por predefinição com Databricks Autologging.

Com o rastreamento automatizado do MLflow através do MLlib, quando executa um código de otimização que utiliza o CrossValidator ou o TrainValidationSplit, os hiperparâmetros e as métricas de avaliação são registados automaticamente no MLflow.