Skalowanie wersji próbnych funkcji Hyperopt
Jedną z zalet korzystania z platformy Apache Spark w usłudze Azure Databricks jest możliwość dystrybuowania zadań przetwarzania między wieloma węzłami klastra. W przypadku korzystania z biblioteki uczenia maszynowego obsługującej platformę Spark, takiej jak MLlib, trenowanie uczenia maszynowego można skalować w poziomie, aby skrócić całkowity czas potrzebny na proces trenowania. W przypadku korzystania z funkcji Hyperopt z rozproszoną biblioteką szkoleniową, na przykład MLlib, praca jest automatycznie skalowana w obrębie dostępnych węzłów roboczych w klastrze.
Funkcja Hyperopt obsługuje skalowanie poza wersje próbne dostrajania hiperparametrów dla bibliotek, które nie są dystrybuowane przy użyciu klasy SparkTrials zamiast regularnej klasy próbnej . Takie podejście umożliwia wykorzystanie równoległości skalowalnego w poziomie platformy Spark w celu dystrybucji przebiegów dostrajania hiperparametrów w wielu węzłach, nawet w przypadku korzystania z biblioteki przeznaczonej do przetwarzania na jednym komputerze, takim jak Scikit-Learn.
Poniższy przykładowy kod pokazuje, jak używać klasy SparkTrials .
from hyperopt import SparkTrials
spark_trials = SparkTrials()
with mlflow.start_run():
argmin = fmin(
fn=objective,
space=search_space,
algo=algo,
max_evals=100,
trials=spark_trials)
print("Best param values: ", argmin)
Napiwek
Aby uzyskać więcej informacji na temat używania klasy SparkTrials, zobacz Klasę SparkTrials w dokumentacji usługi Azure Databricks.