ハイパーパラメータの調整

Databricks Runtime for Machine Learning には、モデルの選択とハイパーパラメーターの調整のプロセスを自動化する オープンソース ツールである Hyperopt が組み込まれています。

Ray によるハイパーパラメータの調整

Databricks Runtime 機械学習には、機械学習ワークフローと AI アプリケーションをスケーリングするための並列コンピュート処理に特化したオープンソース フレームワークであるRayが含まれています。 「Databricks で Ray を使用する」を参照してください。

Hyperopt を使用したハイパーパラメータの調整

Databricks Runtime 機械学習には、分散ハイパーパラメーターの調整とモデルの選択を容易にする Python ライブラリである Hyperopt が含まれています。 Hyperopt を使用すると、定義したスペース間でアルゴリズムとハイパーパラメーターを変化させながら、一連の Python モデルをスキャンできます。 Hyperopt は、Apache Spark 機械学習lib や Horovod などの分散機械学習アルゴリズムと、 Scikit-Learn や TensorFlow などの単一マシンの機械学習モデルの両方で動作します。

Hyperopt を使用する場合の基本的なステップ は次のとおりです。

  1. 最小化する目的関数を定義します。 通常、これはトレーニングまたは検証の損失です。

  2. ハイパーパラメータ検索スペースを定義します。 Hyperopt には条件付き検索空間が用意されており、同じ実行で異なる機械学習アルゴリズムを比較できます。

  3. 検索アルゴリズムを指定します。 Hyperopt は、決定論的グリッド検索よりも効率的なハイパーパラメータ空間の検索を実行する確率的チューニング アルゴリズムを使用します。

  4. Hyperopt 関数を fmin()実行します。 fmin() は、前の ステップ で定義した項目を受け取り、目的関数を最小化するハイパーパラメータのセットを識別します。

Scikit-Learn アルゴリズムでHyperoptの使用をすぐに開始するには、以下を参照してください。

Hyperopt のしくみの詳細、およびその他の例については、以下を参照してください。

自動 MLflow 追跡

MLlib自動MLflow追跡は非推奨であり、 Databricks Runtime 10.4 LTS ML以上を実行するクラスターでは デフォルト によって無効化されています。 代わりに、mlflow.pyspark.ml.autolog() を呼び出してMLflow PySpark ML自動ログ記録を使用します。これは、 Databricks Autologgingのデフォルトによって有効になります。

Databricks Runtime 10.4 LTS ML 以降で古い MLlib 自動 MLflow 追跡を使用するには、 Spark 構成spark.databricks.mlflow.trackMLlib.enabled truespark.databricks.mlflow.autologging.enabled falseを設定して有効にします。