Použití algoritmů distribuovaného trénování s Hyperoptem
Poznámka:
Opensourcová verze Hyperoptu se už neudržuje.
Hyperopt se odebere v další hlavní verzi DBR ML. Azure Databricks doporučuje používat buď Optuna pro optimalizaci na jednom uzlu, nebo RayTune pro podobný zážitek jako u zastaralé funkce ladění hyperparametrů Hyperopt. Přečtěte si další informace o používání RayTune v Azure Databricks.
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ískejte 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ískejte poznámkový blok