ハイパーパラメータの調整
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 を使用する場合の基本的なステップ は次のとおりです。
最小化する目的関数を定義します。 通常、これはトレーニングまたは検証の損失です。
ハイパーパラメータ検索スペースを定義します。 Hyperopt には条件付き検索空間が用意されており、同じ実行で異なる機械学習アルゴリズムを比較できます。
検索アルゴリズムを指定します。 Hyperopt は、決定論的グリッド検索よりも効率的なハイパーパラメータ空間の検索を実行する確率的チューニング アルゴリズムを使用します。
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 true
とspark.databricks.mlflow.autologging.enabled false
を設定して有効にします。