Gedistribueerde trainingsalgoritmen gebruiken met Hyperopt
Notitie
De opensource-versie van Hyperopt wordt niet meer onderhouden.
Hyperopt wordt verwijderd in de volgende primaire DBR ML-versie. Azure Databricks raadt aan optuna te gebruiken voor een vergelijkbare ervaring en toegang tot meer actuele hyperparameterafstemmingsalgoritmen.
Naast algoritmen voor training met één machine, zoals die van scikit-learn, kunt u Hyperopt gebruiken met gedistribueerde trainingsalgoritmen. In dit scenario genereert Hyperopt proefversies met verschillende hyperparameterinstellingen op het stuurprogrammaknooppunt. Elke proefversie wordt uitgevoerd vanuit het stuurprogrammaknooppunt, waardoor deze toegang krijgt tot de volledige clusterbronnen. Deze installatie werkt met gedistribueerde machine learning-algoritmen of -bibliotheken, waaronder Apache Spark MLlib en HorovodRunner.
Wanneer u Hyperopt gebruikt met gedistribueerde trainingsalgoritmen, geeft u geen trials
argument door aan fmin()
en gebruikt u met name de SparkTrials
klasse niet. SparkTrials
is ontworpen om experimenten te distribueren voor algoritmen die niet zelf worden gedistribueerd. Gebruik met gedistribueerde trainingsalgoritmen de standaardklasse Trials
, die wordt uitgevoerd op het clusterstuurprogramma. Hyperopt evalueert elke proefversie op het stuurprogrammaknooppunt, zodat het ML-algoritme zelf gedistribueerde training kan initiëren.
Notitie
Azure Databricks biedt geen ondersteuning voor automatische logboekregistratie bij MLflow met de Trials
klasse. Wanneer u gedistribueerde trainingsalgoritmen gebruikt, moet u MLflow handmatig aanroepen om proefversies voor Hyperopt te registreren.
Notebookvoorbeeld: Hyperopt gebruiken met MLlib-algoritmen
In het voorbeeldnotebook ziet u hoe u Hyperopt gebruikt om de gedistribueerde trainingsalgoritmen van MLlib af te stemmen.
Gedistribueerd trainingsnotebook hyperopt en MLlib
Notebook-voorbeeld: Hyperopt gebruiken met HorovodRunner
HorovodRunner is een algemene API die wordt gebruikt voor het uitvoeren van gedistribueerde Deep Learning-workloads op Databricks. HorovodRunner integreert Horovod met de barrièremodus van Spark om een hogere stabiliteit te bieden voor langlopende deep learning-trainingstaken in Spark.
In het voorbeeldnotebook ziet u hoe u Hyperopt gebruikt om gedistribueerde training voor deep learning af te stemmen op basis van HorovodRunner.