Ottimizzazione degli iperparametri

Databricks Runtime per Machine Learning incorpora Hyperopt, uno strumento open source che automatizza il processo di selezione del modello e di ottimizzazione degli iperparametri.

Ottimizzazione degli iperparametri con Ray

Databricks Runtime ML include Ray, un framework open source specializzato nell'elaborazione parallela di calcolo per il ridimensionamento dei flussi di lavoro di Machine Learning e delle applicazioni di intelligenza artificiale. Vedere Usare Ray in Azure Databricks.

Ottimizzazione degli iperparametri con Hyperopt

Databricks Runtime ML include Hyperopt, una libreria Python che facilita l'ottimizzazione di iperparametri distribuiti e la selezione del modello. Con Hyperopt, è possibile analizzare un set di modelli Python con algoritmi e iperparametri variabili negli spazi definiti. Hyperopt è compatibile sia con algoritmi di ML distribuiti, come MLlib di Apache Spark e Horovod, sia con modelli di ML per singolo computer, come scikit-learn e TensorFlow.

I passaggi di base per l'uso di Hyperopt sono:

  1. Definire una funzione obiettivo da ridurre. In genere consiste nella perdita di training o convalida.
  2. Definire lo spazio di ricerca degli iperparametri. Hyperopt fornisce uno spazio di ricerca condizionale, che consente di confrontare diversi algoritmi di ML nella stessa esecuzione.
  3. Specificare l'algoritmo di ricerca. Hyperopt usa algoritmi di ottimizzazione stocastici che eseguono una ricerca più efficiente nello spazio degli iperparametri rispetto alla ricerca con griglia deterministica.
  4. Eseguire la funzione fmin() di Hyperopt. fmin() usa gli elementi definiti nei passaggi precedenti per identificare il set di iperparametri che riducono la funzione obiettivo.

Per iniziare rapidamente a usare Hyperopt con gli algoritmi di scikit-learn, vedere:

Per altre informazioni sul funzionamento di Hyperopt, oltre che per ulteriori esempi, vedere:

Monitoraggio automatizzato di MLflow

Nota

Il rilevamento automatizzato di MLlib MLflow è deprecato e disabilitato per impostazione predefinita nei cluster che eseguono Databricks Runtime 10.4 LTS ML e versioni successive. Usare invece MLflow PySpark ML autologging chiamando mlflow.pyspark.ml.autolog(), che è abilitato per impostazione predefinita con l'assegnazione automatica di Databricks.

Per usare il vecchio MLlib automated MLflow tracking in Databricks Runtime 10.4 LTS ML e versioni successive, abilitarlo impostando le configurazionispark.databricks.mlflow.trackMLlib.enabled true di Spark e spark.databricks.mlflow.autologging.enabled false.