Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 l’optimisation à nœud unique ou RayTune pour une expérience similaire à celle de la fonctionnalité d'optimisation distribuée d'Hyperopt actuellement déconseillée. En savoir plus sur l’utilisation de RayTune sur Azure Databricks.
En plus des algorithmes d’entraînement monomachine, tels que ceux de scikit-learn, vous pouvez utiliser Hyperopt avec des algorithmes d’entraînement distribué. Dans ce scénario, Hyperopt génère des essais avec des configurations d’hyperparamètres différentes sur le nœud du pilote. Chaque essai est exécuté à partir du nœud du pilote, ce qui lui donne accès aux ressources de cluster complètes. Cette configuration fonctionne avec tous les algorithmes ou bibliothèques de Machine Learning distribués, y compris Apache Spark MLlib et HorovodRunner.
Quand vous utilisez Hyperopt avec des algorithmes d’entraînement distribué, ne transmettez pas d’argument trials à fmin(), et en particulier, n’utilisez pas la classe SparkTrials.
SparkTrials est conçu pour distribuer les essais pour les algorithmes qui ne sont pas eux-mêmes distribués. Avec les algorithmes d’entraînement distribué, utilisez la classe par défaut Trials, qui s’exécute sur le pilote de cluster. Hyperopt évalue chaque essai sur le nœud du pilote afin que l’algorithme ML lui-même puisse lancer un entraînement distribué.
Remarque
Azure Databricks ne prend pas en charge la journalisation automatique dans MLflow avec la classe Trials. Quand vous utilisez des algorithmes d’entraînement distribué, vous devez appeler manuellement MLflow afin de journaliser les essais pour Hyperopt.
Exemple de Notebook : Utiliser Hyperopt avec les algorithmes MLlib
L'exemple de bloc-notes montre comment utiliser Hyperopt pour optimiser les algorithmes d'entraînement distribués de MLlib.
Notebook d’entraînement distribué Hyperopt et MLlib
Exemple de Notebook : Utiliser Hyperopt avec HorovodRunner
HorovodRunner est une API générale utilisée pour exécuter des charges de travail de Deep Learning distribuées sur Databricks. HorovodRunner intègre Horovod avec le mode barrière de Spark pour fournir une stabilité plus élevée pour les travaux d’apprentissage profond de longue durée sur Spark.
L’exemple de notebook montre comment utiliser Hyperopt afin d’optimiser l’entraînement distribué pour le Deep Learning basé sur HorovodRunner.