مقياس تحسين المعلمات الفائقة

مكتمل

تتمثل إحدى مزايا استخدام 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 حول التحسين الموزع.