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