مقياس تحسين المعلمات الفائقة
تتمثل إحدى مزايا استخدام Apache Spark في Azure Databricks في القدرة على توزيع مهام المعالجة عبر عقد نظام المجموعة المتعددة. عند استخدام مكتبة التعلم الآلي المدركة ل Spark مثل MLlib، يمكن توسيع نطاق التدريب على التعلم الآلي لتقليل الوقت الإجمالي الذي تستغرقه عملية التدريب.
يدعم Optuna تحسين المعلمات الفائقة الموزعة من خلال التكامل مع الواجهات الخلفية المختلفة ، بما في ذلك Apache Spark. يمكنك موازاة عملية التحسين عبر عقد متعددة في مجموعة Databricks باستخدام الفئة optuna.integration.SparkOptimizer .
يوضح المثال التالي للتعليمات البرمجية كيفية استخدام Optuna مع Spark للتحسين الموزع:
from optuna.integration import SparkOptimizer
import mlflow
def objective(trial):
# Define your hyperparameters
x = trial.suggest_float("x", -10, 10)
# ... your model training and evaluation ...
return (x - 2) ** 2 # Example objective
# Create a SparkOptimizer
spark_optimizer = SparkOptimizer(study_name="distributed_study",
storage="sqlite:///example.db",
n_trials=100)
# Run optimization with MLflow tracking
with mlflow.start_run():
study = spark_optimizer.run_study(objective, direction="minimize")
print("Best param values: ", study.best_params)
print("Best value: ", study.best_value)
تتضمن بعض الفوائد الرئيسية لاستخدام Optuna مع Spark في Azure Databricks ما يلي:
- التوزيع التلقائي للإصدارات التجريبية عبر عقد العمال
- التسامح مع الأخطاء المدمجة واستردادها
- تكامل سلس مع MLflow لتتبع التجربة
- دعم مكتبات التعلم الآلي الموزعة وغير الموزعة
بقشيش
لمزيد من المعلومات حول التحسين الموزع باستخدام Optuna، راجع وثائق Optuna حول التحسين الموزع.