メインコンテンツまでスキップ

ハイパーパラメーターチューニング

PythonOptuna、Ray Tune、 などのHyperopt ライブラリは、ハイパーパラメーターチューニングを簡略化および自動化して、機械学習モデルのハイパーパラメーターの最適なセットを効率的に見つけます。これらのライブラリは、複数のコンピュートにまたがって拡張できるため、最小限の手動オーケストレーションと構成要件でハイパーパラメーターをすばやく見つけることができます。

Optuna

Optuna は、ハイパーパラメーターチューニングとモデル選択のための動的探索空間を簡単に定義できる軽量フレームワークです。 Optunaには、最新の最適化アルゴリズムと機械学習アルゴリズムがいくつか含まれています。

Optunaは、Joblibと簡単に並列化してワークロードをスケーリングし、Mlflowと統合してトライアル間でハイパーパラメータとメトリクスを追跡できます。

Optunaの使用を開始するには、 Optunaを使用したハイパーパラメーターチューニングを参照してください。

Ray Tune

Databricks Runtime ML には、並列コンピュート処理に使用されるオープンソースフレームワークであるRayが含まれています。 Ray Tune は、Ray に付属し、分散コンピューティングのバックエンドとして Ray を使用するハイパーパラメーターチューニング ライブラリです。

Databricks で Ray を実行する方法の詳細については、Databricks 上の Ray とはを参照してください。 Ray Tune の例については、 Ray Tune のドキュメントを参照してください。

Hyperopt

注記

Hyperopt のオープンソース バージョンは保守されなくなりました。

Hyperopt は、次のメジャー DBR ML バージョンで削除されます。 Databricks、単一ノードの最適化にはOptunaを使用するか、非推奨のHyperopt分散ハイパーパラメーターチューニング機能と同様のエクスペリエンスのためにRayTuneを使用することをお勧めします。Databricks での RayTune の使用の詳細については、こちらをご覧ください。

Hyperopt は、分散ハイパーパラメーターチューニングとモデル選択に使用されるPythonライブラリです。Hyperopt は、Apache Spark MLlib や Horovod などの分散 ML アルゴリズムと、scikit-learn や TensorFlow などの単一マシン ML モデルの両方で動作します。

Hyperopt の使用を開始するには、「 Hyperopt で分散トレーニング アルゴリズムを使用する」を参照してください。

MLlib の自動 MLflow 追跡

注記

MLlib自動MLflow追跡は非推奨であり、 Databricks Runtime 10.4 LTS ML以上を実行するクラスターでは デフォルト によって無効化されています。

代わりに、mlflow.pyspark.ml.autolog() を呼び出して自動ログMLflow PySpark ML使用します。これは、 Databricks Autologgingで デフォルト によって有効になります。

MLlib自動MLflow追跡を使用すると、CrossValidator または TrainValidationSplit を使用するチューニング コードを実行するときに、ハイパーパラメータと評価メトリクスは、 MLflowに自動的にログインします。