Delen via


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 downloaden

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.

Gedistribueerd trainingsnotitieblok hyperopt en HorovodRunner

Notebook downloaden