HERE MLflow Plugin
MLflow は、機械学習( ML )開発を管理するための一般的なオープンソースのプラットフォームです。 プラグインで ML のライフサイクルを管理するための MLflow プラットフォームが提供されています。 このプラグインでは、プラットフォームで ML 実験を管理し、プラットフォームの他のユーザーと共有したり、 HERE Marketplace で利用できるようにしたりできます。 任意の ML Cloud プラットフォームで任意の ML フレームワークをトレーニングに使用できます。また、プラットフォームでの ML アーティファクトの管理を選択できます。 MLflow プラグインは、 ML モデルのトレーニング中に使用することも、すでにトレーニングを受けたモデルをプラットフォームにアップロードすることもできます。
- パラメータと結果を記録および比較するための実験を追跡します
- 他のデータサイエンティストと共有できるように、再利用可能で再現性のある形式で ML コードをパッケージ化します
- 中央のモデルストアを提供して、モデルのバージョン管理、ステージの遷移、カタログ HERE リソースネーム を介した注釈など、 MLflow モデルの全ライフサイクルを共同で管理します。
前提条件
インストール
モジュールをインストールするには、次のコマンドを使用します。
pip install --extra-index-url https://repo.platform.here.com/artifactory/api/pypi/analytics-pypi/simple/ here-MLflow-plugin==2.22.0
このコマンドを使用すると、現在の環境に MLflow プラグインモジュールの最新バージョンがインストールされます。
メモ
- GDAL または geopandas による Windows への依存に関連するエラーがある場合は、パッケージのインストール時に次の手順を実行します。
- Microsoft Visual C++ ビルドツールに関連するエラーが発生した場合は、次の手順を実行します。
開発者フロー
here_MLflow_plugin_setup -c <catalog_id>
- このカタログ HERE リソースネーム を参照するトラッキング URI を設定します。 カタログ ID ではなく、カタログ HERE リソースネーム を指定してください
Linux/MacOS の場合 :
export MLflow_TRACKING_URI=here+MLflow://catalog/v1/<catalog_hrn>
Windows の場合 :
set MLflow_TRACKING_URI=here+MLflow://catalog/v1/<catalog_hrn>
または、コードで設定できます
MLflow.set_tracking_uri(here+MLflow://catalog/v1/<catalog_hrn>)
ノートブック名 | ファイル名 | 説明 | パッケージが必要です |
SDII エンコーダ | SDII_Encoder-Tensorflow.ipynb | Tensorflow を使用して SDII データを抽出し、時間帯データのエンコーダーを作成します。 MLflow プラグインを使用してプラットフォームにモデルを保存します。 | HERE Geopandas アダプタ、 MLflow プラグイン、 Tensorflow 1.x 、 Keras 2.3.x |
RayTune を使用して、分散 XGBoost および HyperParameter Tuning を使用して、ある場所での温度を予測します | Weather_Forecasting - Distributed_XGBoost.ipynb | 気象データを抽出し、 XGBoost モデルをトレーニングして位置の値を予測します。 RayTune を使用して、ハイパーパラメータの調整、最適なトレーニングを受けたモデルの保存、プラグインのすべてのハイパーパラメータの保存を行います。このとき、 MLflow プラットフォームを使用します。 | HERE Geopandas アダプタ、 MLflow プラグイン、 Ray 、 RayTune 、 XgBoost_ray 、 スキジット学習 |
分布 PyTorch を使用して、ある場所での温度を予測します | Weather_Forecasting - Distributed_PyTorch.ipynb | 気象データを抽出し、 PyTorch モデルをトレーニングして位置の値を予測します。 MLflow プラグインを使用して、トレーニングを受けたモデルをプラットフォームに保存します。 | HERE Geopandas アダプタ、 MLflow プラグイン、 Ray 、 PyTorch 、 scikit-learn |
- ローカルまたはクラウドの任意の場所でトレーニングを開始し、トレーニングを受けたモデルまたは既存のモデルをプラットフォームにアップロードします。 詳細については、ノートブックの例を参照してください。
- MLflow をローカルで起動し、ログに記録されたすべての情報を表示して比較します。
run_id
指定した実験名を選択して、を抽出します。
MLflow ui --backend-store-uri here+MLflow://catalog/v1/<catalog_hrn> --default-artifact-root here+MLflow://catalog/v1/<catalog_hrn>
付録
here_MLflow_plugin_setup -d <catalog_hrn>
レイヤー名 | LayerType | コンテンツタイプ | 属性 1 | タイプ | 属性 2 | タイプ | ATTRIBUTE3. | タイプ | ATTRIBUTE4. | タイプ |
トラッキング - 実験 | インデックス | アプリケーション /JSON | インジェスト時間 | タイムウィンドウ (10 分 ) | experiment_id | 文字列 | experiment_name | 文字列 | - | - |
追跡 - 実行 | インデックス | アプリケーション /JSON | 開始時間 | タイムウィンドウ (10 分 ) | experiment_id | 文字列 | run_id | 文字列 | - | - |
アーティファクト - メタデータ | インデックス | アプリケーション /JSON | インジェスト時間 | タイムウィンドウ (10 分 ) | run_id | 文字列 | - | - | - | - |
アーティファクト - データ | バージョン | application/octet-stream | パーティションタイプ | 汎用 | - | - | - | - | - | - |
モデルメタデータ | インデックス | アプリケーション /JSON | インジェスト時間 | タイムウィンドウ (10 分 ) | モデル名 | 文字列 | - | - | - | - |
model-version-metadata | インデックス | アプリケーション /JSON | インジェスト時間 | タイムウィンドウ (10 分 ) | モデル名 | 文字列 | バージョン | 整数 | run_id | 文字列 |