การเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์มาตราส่วน

เสร็จสมบูรณ์เมื่อ

ข้อดีประการหนึ่งของการใช้ Apache Spark ใน Azure Databricks คือความสามารถในการกระจายงานการประมวลผลในโหนดคลัสเตอร์หลายรายการ เมื่อคุณใช้ไลบรารีการเรียนรู้ของเครื่อง Spark-aware เช่น 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 อย่างราบรื่นสําหรับการติดตามการทดลอง
  • รองรับไลบรารี ML ทั้งแบบกระจายและไม่กระจาย

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มประสิทธิภาพแบบกระจายด้วย Optuna โปรดดูเอกสารประกอบของ Optuna เกี่ยวกับการเพิ่มประสิทธิภาพแบบกระจาย