Sdílet prostřednictvím


Použití algoritmů distribuovaného trénování s Hyperoptem

Poznámka:

Opensourcová verze Hyperoptu se už neudržuje.

Hyperopt už není v Databricks Runtime ML 17.0 a novější předinstalovaný. Azure Databricks místo toho doporučuje používat Optuna pro podobné prostředí a přístup k nejaktuálnějším algoritmům ladění hyperparametrů.

Kromě algoritmů pro trénování s jedním počítačem, jako jsou algoritmy scikit-learn, můžete použít Hyperopt s distribuovanými trénovacími algoritmy. V tomto scénáři Hyperopt generuje pokusy s různými nastaveními hyperparametrů v uzlu ovladače. Každá zkušební verze se spustí z uzlu ovladače a poskytne mu přístup k úplným prostředkům clusteru. Toto nastavení funguje s libovolnými algoritmy nebo knihovnami distribuovaného strojového učení, včetně knihovny Apache Spark MLlib a HorovodRunneru.

Pokud používáte Hyperopt s distribuovanými trénovacími algoritmy, nepředávejte trials argument fmin(), a konkrétně nepoužívejte SparkTrials třídu. SparkTrials je navržený tak, aby distribuoval pokusy o algoritmy, které se nedistribuují. S distribuovanými trénovacími algoritmy použijte výchozí Trials třídu, která běží na ovladači clusteru. Hyperopt vyhodnocuje každou zkušební verzi uzlu ovladače, aby samotný algoritmus ML mohl zahájit distribuované trénování.

Poznámka:

Azure Databricks nepodporuje automatické protokolování do MLflow s Trials třídou. Při použití distribuovaných trénovacích algoritmů musíte ručně volat MLflow pro protokolování zkušebních verzí hyperoptu.

Příklad poznámkového bloku: Použití Hyperoptu s algoritmy MLlib

Ukázkový poznámkový blok ukazuje, jak pomocí Hyperoptu ladit distribuované trénovací algoritmy knihovny MLlib.

Distribuovaný trénovací poznámkový blok Hyperopt a MLlib

Získat poznámkový blok

Příklad poznámkového bloku: Použití Hyperoptu s HorovodRunnerem

HorovodRunner je obecné rozhraní API používané ke spouštění distribuovaných úloh hlubokého učení v Databricks. HorovodRunner integruje Horovod s režimem bariéry Sparku, aby poskytoval vyšší stabilitu pro dlouhotrvající úlohy trénování hlubokého učení ve Sparku.

Ukázkový poznámkový blok ukazuje, jak pomocí Hyperoptu ladit distribuované trénování hlubokého učení na základě HorovodRunneru.

Distribuovaný trénovací poznámkový blok Hyperopt a HorovodRunner

Získat poznámkový blok