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
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.