Gedistribueerde trainingsalgoritmen gebruiken met Hyperopt

Naast trainingsalgoritmen voor één machine, zoals die van scikit-learn, kunt u Hyperopt gebruiken met gedistribueerde trainingsalgoritmen. In dit scenario genereert Hyperopt proefversies met verschillende hyperparameter-instellingen op het stuurprogrammaknooppunt. Elke proefversie wordt uitgevoerd vanaf het stuurprogrammaknooppunt, waardoor het toegang krijgt tot de volledige clusterresources. Deze installatie werkt met gedistribueerde machine learning-algoritmen of -bibliotheken, waaronder Apache Spark MLlib en HorovodRunner.

Wanneer u Hyperopt gebruikt met gedistribueerde trainingsalgoritmen, geef dan geen argument door trials aan fmin()en gebruik 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.

Opmerking

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.

Voorbeeld van notebook: Hyperopt gebruiken met MLlib-algoritmen

In het voorbeeldnotebook ziet u hoe u Hyperopt gebruikt om de gedistribueerde trainingsalgoritmen van MLlib af te stemmen.

Gedistribueerd trainingsnotitieblok voor Hyperopt en MLlib

Notitieblok ophalen

Voorbeeld van notebook: 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 meer stabiliteit te bieden voor langdurige 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 voor Hyperopt en HorovodRunner

Notitieblok ophalen