Optimisation des hyperparamètres
Les bibliothèques Python telles que Optuna, Ray Tune et Hyperopt simplifient et automatisent le réglage des hyperparamètres pour trouver efficacement un ensemble optimal d’hyperparamètres pour les modèles de Machine Learning. Ces bibliothèques sont mises à l’échelle sur plusieurs calculs pour trouver rapidement des hyperparamètres avec des exigences d’orchestration et de configuration manuelles minimales.
Optuna
Optuna est une infrastructure légère qui facilite la définition d’un espace de recherche dynamique pour l’optimisation des hyperparamètres et la sélection du modèle. Optuna inclut certains des derniers algorithmes d’optimisation et de Machine Learning.
Optuna peut être facilement parallélisé avec Joblib pour mettre à l’échelle des charges de travail, et intégré à Mlflow pour suivre les hyperparamètres et les métriques entre les essais.
Pour commencer à utiliser Optuna, consultez paramétrage d’Hyperparamètres avec Optuna.
Ray Tune
Databricks Runtime ML inclut Ray, une infrastructure open source utilisée pour le traitement parallèle du calcul. Ray Tune est une bibliothèque d’optimisation d’hyperparamètres fournie avec Ray et utilise Ray comme back-end pour les traitements distribués.
Pour plus d’informations sur l’exécution de Ray sur Databricks, consultez Qu’est-ce que Ray sur Azure Databricks ?. Pour obtenir des exemples de Ray Tune, consultez documentation Ray Tune.
Hyperopt
Remarque
La version open source de Hyperopt n’est plus conservée.
Hyperopt sera supprimé dans la prochaine version principale de DBR ML. Azure Databricks recommande d’utiliser Optuna pour une expérience similaire et d’accéder à des algorithmes d’optimisation des hyperparamètres à jour.
Hyperopt est une bibliothèque Python utilisée pour le réglage des hyperparamètres distribués et la sélection de modèle. Hyperopt fonctionne avec les algorithmes de ML distribué, comme Apache Spark MLlib et Horovod, ainsi qu’avec les modèles ML mono-machine, comme scikit-learn et TensorFlow.
Pour commencer à utiliser Hyperopt, consultez Utiliser des algorithmes d’apprentissage distribué avec Hyperopt.
Suivi MLlib automatisé MLflow
Remarque
Le suivi MLflow automatisé de MLlib est déconseillé et désactivé par défaut sur les clusters qui exécutent Databricks Runtime 10.4 LTS ML et versions ultérieures.
Utilisez plutôt MLflow PySpark ML autologging en appelant mlflow.pyspark.ml.autolog()
, qui est activé par défaut avec Databricks Autologging.
Avec le suivi MLlib automatisé MLflow, lorsque vous exécutez du code de paramétrage qui utilise CrossValidator ou TrainValidationSplit. Les hyperparamètres et les métriques d’évaluation sont automatiquement connectés à MLflow.