다음을 통해 공유


Hyperopt에서 분산 학습 알고리즘 사용

참고 항목

Hyperopt의 오픈 소스 버전은 더 이상 유지 관리되지 않습니다.

Hyperopt는 다음 주 DBR ML 버전에서 제거됩니다. Azure Databricks는 유사한 환경에 Optuna를 사용하고 최신 하이퍼 매개 변수 튜닝 알고리즘에 액세스할 것을 권장합니다.

scikit-learn의 알고리즘 같은 단일 기계 학습 알고리즘 외에도 분산 학습 알고리즘에서 Hyperopt를 사용할 수 있습니다. 이 시나리오에서 Hyperopt는 드라이버 노드의 다양한 하이퍼 매개 변수 설정을 사용하여 평가판을 생성합니다. 각 평가판은 드라이버 노드에서 실행되어 전체 클러스터 리소스에 대한 액세스 권한을 부여합니다. 이 설정은 Apache Spark MLlib 및 HorovodRunner 등의 모든 분산 기계 학습 알고리즘 또는 라이브러리에서 작동합니다.

분산 학습 알고리즘에서 Hyperopt를 사용하는 경우 trials 인수를 fmin()에 전달하지 않습니다. 특히 SparkTrials 클래스를 사용하지 마세요. SparkTrials는 자체 배포되지 않는 알고리즘에 대한 평가판을 배포하도록 설계되었습니다. 분산 학습 알고리즘에서는 클러스터 드라이버에서 실행되는 기본 Trials 클래스를 사용합니다. Hyperopt는 ML 알고리즘 자체가 분산 학습을 시작할 수 있도록 드라이버 노드에서 각 평가판을 평가합니다.

참고 항목

Azure Databricks는 Trials 클래스를 사용하는 MLflow에 대해 자동 로깅을 지원하지 않습니다. 분산 학습 알고리즘을 사용하는 경우 수동으로 MLflow를 호출하여 Hyperopt 평가판을 기록해야 합니다.

Notebook 예제: MLlib 알고리즘에서 Hyperopt 사용

예제 Notebook에는 Hyperopt를 사용하여 MLlib의 분산 학습 알고리즘을 조정하는 방법이 나와 있습니다.

Hyperopt 및 MLlib 분산 학습 Notebook

Notebook 가져오기

Notebook 예제: HorovodRunner에서 Hyperopt 사용

HorovodRunner는 Databricks에서 분산 딥 러닝 워크로드를 실행하는 데 사용되는 일반 API입니다. HorovodRunner는 Horovod를 Spark의 장벽 모드와 통합하여 Spark의 장기 실행 딥 러닝 작업에 더 높은 안정성을 제공합니다.

예제 Notebook에는 Hyperopt를 사용하여 HorovodRunner 기반의 딥 러닝을 위한 분산 학습을 조정하는 방법이 나와 있습니다.

Hyperopt 및 HorovodRunner 분산 학습 Notebook

Notebook 가져오기