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

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 追跡

機械学習lib 自動機械学習フロー追跡は、 Databricks Runtime 10.1 機械学習以降を実行するクラスターでは非推奨となり、 Databricks Runtime 10.2 機械学習以降を実行しているクラスターでは Default によって無効になっています。 代わりに、 mlflow.pyspark.ml.autolog()を呼び出して機械学習フロー PySpark 機械学習自動ログ を使用し、 Databricks 自動ログを使用して デフォルト によって有効にします。

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