하이퍼 매개 변수 최적화 크기 조정

완료됨

Azure Databricks에서 Apache Spark를 사용할 경우의 장점 중 하나는 여러 클러스터 노드에 처리 작업을 분산하는 기능입니다. MLlib와 같은 Spark 인식 기계 학습 라이브러리를 사용하는 경우 기계 학습 학습을 확장하여 학습 프로세스의 전체 시간을 줄일 수 있습니다.

Optuna는 Apache Spark를 비롯한 다양한 백 엔드와의 통합을 통해 분산 하이퍼 매개 변수 최적화를 지원합니다. 클래스를 사용하여 optuna.integration.SparkOptimizer Databricks 클러스터의 여러 노드에서 최적화 프로세스를 병렬 처리할 수 있습니다.

다음 예제 코드에서는 분산 최적화를 위해 Spark와 함께 Optuna를 사용하는 방법을 보여 있습니다.

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)

Azure Databricks에서 Spark와 함께 Optuna를 사용할 경우의 주요 이점은 다음과 같습니다.

  • 작업자 노드에서 평가판 자동 배포
  • 기본 제공 내결함성 및 복구
  • 실험 추적을 위한 MLflow와 원활한 통합
  • 분산 및 비분배 ML 라이브러리 모두에 대한 지원

팁 (조언)

Optuna를 사용한 분산 최적화에 대한 자세한 내용은 분산 최적화에 대한 Optuna 설명서를 참조하세요.