Używanie rozproszonych algorytmów trenowania za pomocą biblioteki Hyperopt
Uwaga
Wersja biblioteki Hyperopt typu open source nie jest już utrzymywana.
Funkcja Hyperopt zostanie usunięta w następnej głównej wersji DBR ML. Usługa Azure Databricks zaleca użycie
Oprócz algorytmów trenowania pojedynczego komputera, takich jak te z biblioteki scikit-learn, można użyć funkcji Hyperopt z algorytmami trenowania rozproszonego. 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 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 argumentu trials
do fmin()
klasy , a w szczególności nie używaj SparkTrials
klasy .
SparkTrials
jest przeznaczony do dystrybucji prób dla algorytmów, które nie są rozproszone. W przypadku algorytmów trenowania rozproszonego użyj domyślnej Trials
klasy, która jest uruchamiana w sterowniku klastra. Funkcja Hyperopt ocenia każdą wersję próbną w węźle sterownika, aby 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 algorytmów trenowania rozproszonego należy ręcznie wywołać bibliotekę 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
Zdobądź notatnik
Przykład notesu: używanie funkcji Hyperopt z programem HorovodRunner
HorovodRunner to ogólny interfejs API służący do uruchamiania rozproszonych obciążeń uczenia głębokiego w usłudze Databricks. Rozwiązanie 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 narzędzia HorovodRunner.
Notes trenowania rozproszonego hyperopt i HorovodRunner
Zdobądź notatnik