Używanie rozproszonych algorytmów trenowania za pomocą funkcji Hyperopt

Oprócz algorytmów trenowania pojedynczego komputera, takich jak te z biblioteki scikit-learn, można użyć funkcji Hyperopt z rozproszonymi algorytmami trenowania. W tym scenariuszu funkcja Hyperopt generuje wersje próbne z różnymi ustawieniami hiperparametrów w węźle sterownika. Każda wersja próbna jest wykonywana z węzła sterownika, zapewniając mu dostęp do pełnych zasobów klastra. Ta konfiguracja współdziała z dowolnymi rozproszonymi algorytmami lub bibliotekami uczenia maszynowego, w tym bibliotekami MLlib i HorovodRunner platformy Apache Spark.

Jeśli używasz funkcji Hyperopt z rozproszonymi algorytmami trenowania, nie przekazuj trials argumentu SparkTrials do fmin()klasy , a w szczególności nie używaj klasy . SparkTrials jest przeznaczony do dystrybucji prób dla algorytmów, które nie są rozproszone. W przypadku algorytmów trenowania rozproszonego użyj klasy domyślnej Trials , która jest uruchamiana w sterowniku klastra. Funkcja Hyperopt ocenia każdą wersję próbną w węźle sterownika, aby sam algorytm uczenia maszynowego mógł zainicjować trenowanie rozproszone.

Uwaga

Usługa Azure Databricks nie obsługuje automatycznego rejestrowania w usłudze MLflow z klasą Trials . W przypadku korzystania z rozproszonych algorytmów trenowania należy ręcznie wywołać usługę MLflow, aby rejestrować wersje próbne dla funkcji Hyperopt.

Przykład notesu: używanie funkcji Hyperopt z algorytmami MLlib

W przykładowym notesie pokazano, jak używać funkcji Hyperopt do dostosowywania rozproszonych algorytmów trenowania biblioteki MLlib.

Notes trenowania rozproszonego funkcji Hyperopt i biblioteki MLlib

Pobieranie notesu

Przykład notesu: używanie funkcji Hyperopt z rozwiązaniem HorovodRunner

HorovodRunner to ogólny interfejs API używany do uruchamiania rozproszonych obciążeń uczenia głębokiego w usłudze Databricks. Narzędzie HorovodRunner integruje platformę Horovod z trybem barierowym platformy Spark, aby zapewnić większą stabilność dla długotrwałych zadań uczenia głębokiego na platformie Spark.

W przykładowym notesie pokazano, jak używać funkcji Hyperopt do dostosowywania trenowania rozproszonego na potrzeby uczenia głębokiego na podstawie modułu HorovodRunner.

Notes trenowania rozproszonego funkcji Hyperopt i HorovodRunner

Pobieranie notesu