Aller au contenu principal

Ajustement des hyperparamètres

Les bibliothèques Python comme Optuna, Ray Tune et Hyperopt simplifient et automatisent l'ajustement des hyperparamètres afin de trouver efficacement un ensemble optimal d'hyperparamètres pour les modèles de machine learning. Ces bibliothèques montent en charge sur plusieurs computes pour trouver rapidement les hyperparamètres avec des exigences minimales en matière d'orchestration manuelle et de configuration.

Optuna

Optuna est un framework léger qui facilite la définition d'un espace de recherche dynamique pour le réglage des hyperparamètres et la sélection de modèles. Optuna inclut certains des derniers algorithmes d'optimisation et de Machine Learning.

Optuna peut être facilement parallélisé avec Joblib pour monter en charge les charges de travail, et intégré à MLflow pour suivre les hyperparamètres et les métriques à travers les essais.

Pour commencer avec Optuna, consultez Ajustement des hyperparamètres avec Optuna.

Ray Tune

Databricks Runtime ML inclut Ray, un framework open source utilisé pour le traitement compute parallèle. Ray Tune est une bibliothèque de réglage des hyperparamètres fournie avec Ray et qui utilise Ray comme backend pour le calcul distribué.

Pour plus de détails sur la façon d'exécuter Ray sur Databricks, consultez Qu'est-ce que Ray sur Databricks ?. Pour des exemples de Ray Tune, consultez la documentation de Ray Tune.

Hyperopt

remarque

La version open source de Hyperopt n'est plus maintenue.

Hyperopt n'est pas inclus dans Databricks Runtime for Machine Learning après 16.4 LTS ML. Databricks recommande d'utiliser soit Optuna pour l'optimisation à nœud unique, soit RayTune pour une expérience similaire à la fonctionnalité obsolète d'ajustement distribué des hyperparamètres d'Hyperopt. En savoir plus sur l'utilisation de RayTune sur Databricks.

Hyperopt est une bibliothèque Python utilisée pour l'ajustement distribué des hyperparamètres et la sélection de modèles. Hyperopt fonctionne aussi bien avec les algorithmes de ML distribués tels que Apache Spark MLlib et Horovod, qu'avec les modèles de ML à machine unique tels que scikit-learn et TensorFlow.

Pour commencer à utiliser Hyperopt, consultez Utiliser des algorithmes d'entraînement distribués avec Hyperopt.

Suivi automatisé MLflow de MLlib

remarque

Le suivi MLflow automatisé MLlib est obsolète et désactivé par default sur les clusters qui exécutent Databricks Runtime 10.4 LTS ML et versions supérieures.

Utilisez plutôt l'autologging MLflow PySpark ML en appelant mlflow.pyspark.ml.autolog(), qui est activé par default avec Databricks Autologging.

Avec le suivi MLflow automatisé de MLlib, lorsque vous exécutez un code d'optimisation qui utilise CrossValidator ou TrainValidationSplit, les hyperparamètres et les métriques d'évaluation sont automatiquement journalisés dans MLflow.