Hiperparaméterek finomhangolása
A gépi tanuláshoz készült Databricks Runtime részét képezi a Hyperopt, egy nyílt forráskódú eszköz, amely automatizálja a modell kiválasztásának és a hiperparaméterek finomhangolásának folyamatát.
Hiperparaméter finomhangolása Ray használatával
A Databricks Runtime ML tartalmazza a Rayt, egy nyílt forráskódú keretrendszert, amely az ML-munkafolyamatok és AI-alkalmazások skálázására szolgáló párhuzamos számítási feldolgozásra specializálódott. Lásd: A Ray használata az Azure Databricksben.
Hiperparaméterek hangolása a Hyperopttal
A Databricks Runtime ML részét képezi a Hyperopt Python-kódtár, amely megkönnyíti az elosztott hiperparaméter-finomhangolást és a modellkiválasztást. A Hyperopt segítségével átvizsgálhatja a Python-modelleket, miközben módosításokat hajt végre az algoritmusokon és a hiperparamétereken az Ön által meghatározott munkaterületeken. A Hyperopt egyaránt használható elosztott gépi tanulási algoritmusokkal, mint az Apache Spark MLlib és a Horovod, és olyan egygépes gépi tanulási modellekkel, mint a scikit-learn és a TensorFlow.
A Hyperopt használatának alapvető lépései a következők:
- A minimalizálni kívánt célfüggvény meghatározása. Ez általában a betanítási vagy az ellenőrzési veszteség.
- A hiperparaméter keresési területének meghatározása. A Hyperopt olyan feltételes keresési területet biztosít, amely lehetővé teszi a különböző gépi tanulási algoritmusok egyidejű összehasonlítását.
- A keresési algoritmus megadása. A Hyperopt olyan sztochasztikus finomhangolási algoritmusokat használ, amelyek jóval hatékonyabb keresést tesznek lehetővé a hiperparaméterek területén, mint a determinisztikus rácskeresés.
- A következő Hyperopt-függvény futtatása:
fmin()
. Azfmin()
megvizsgálja az előző lépésekben megadott elemeket, majd azonosítja azokat a hiperparamétereket, amelyek minimalizálják a célfüggvényt.
A Hyperopt scikit-learn-algoritmusokkal való használatának gyors megkezdéséhez lásd:
- Hiperparaméterek finomhangolásának párhuzamosítása a scikit-learn és az MLflow segítségével
- Modelltípusok összehasonlítása a Hyperopt és az MLflow használatával
A Hyperopt működésével kapcsolatos részletekért és további példákért lásd:
- A Hyperopt alapfogalmai
- Elosztott betanítási algoritmusok használata a Hyperopttal
- Ajánlott eljárások: Hiperparaméterek finomhangolása a Hyperopttal
Automatizált MLflow-követés
Feljegyzés
Az MLlib automatizált MLflow-nyomkövetése alapértelmezés szerint elavult és le van tiltva a Databricks Runtime 10.4 LTS ML-t és újabb verziót futtató fürtökön. Ehelyett az MLflow PySpark ML automatikus aktiválását használja a hívássalmlflow.pyspark.ml.autolog()
, amely alapértelmezés szerint engedélyezve van a Databricks autologging funkcióval.
A databricks runtime 10.4 LTS ML és újabb verziókban a régi MLlib automatizált MLflow-nyomkövetés használatához engedélyezze a Spark-konfigurációkspark.databricks.mlflow.trackMLlib.enabled true
és spark.databricks.mlflow.autologging.enabled false
a .