はじめに
本文はPrimeHub CEで簡単にMLflowをインストールし、NotebookでMLflowに実行された実験をトラッキングするチュートリアルです。
MLflow は
MLflow is an open source platform to manage the ML lifecycle, including experimentation, reproducibility, deployment, and a central model registry.
コンポーネント
-
MLflow Tracking 実験のトラッキング
-
MLflow Projects 共有と再利用可能なプロジェクトパッケージング
-
MLflow Models 多様なデプロイツールをサポートするモデルパッケージングフォーマット
-
Model Registry モデル登録、モデルバージョン管理、モデルステージ推移、モデルライフサイクル管理
本文記載時点はPrimeHub CE v3.6とMLflower v1.9.1を参考にしています。
実行環境
-
PrimeHub CE v3.6 (参考:AWS EC2のインスタンスにPrimeHub CEをインストール)
事前準備
- app_tutorial_mlflow_demo_notebook.ipynbサンプルファイルをダウンロードする
1. インスタンスタイプを追加
注意点:計算リソース充分の場合は、このステップは必要はないです。計算リソース不足の場合はインスタンスを起動失敗する可能性があります。
ステップ:Admin Portal
▶️Instance Types
▶️+ Add
0.5CPU/1GB MEMORY
設定し、phuser
グループにオーナーを指定し、下参照にインスタンスタイプを追加する
2.MLflowアプリを作成
ステップ:Apps
▶️+ Applications
▶️MLflow
▶️+ Install to PrimeHub
前ステップで追加したcpu-0.5
インスタンスタイプを配置し、下参照にMLflowアプリを作成する
注意点:Service Unavailableが出た場合は、数秒後ブラウザをリロードしてください。
3.Notebookを起動
ステップ:
-
Home
▶️Open Jupyter Notebook
▶️Start
又は -
Notebooks
️▶️Start
CPU 1
インスタンスタイプを配置し、TensorFlow 2.4.1 (Python 3.7)
イメージを指定し、下参照にNotebookを起動する
4.サンプルファイルをドラッグ&ドロップ
ローカルからNotebookへapp_tutorial_mlflow_demo_notebook.ipynb
をドラッグ&ドロップしてアップロードする。
5.MLflow Tracking URLを設定
四つ目セルにダミーのMLflow Tracking URIテキストが表示されるが、http://app-mlflow-32adp
を実際に作成したMLflowアプリのService Endpoints
に書き変える
mlflow.set_tracking_uri("<Service Endpoints>:5000/")
6.サンプルコードを実行
Run All Cells
を実行し、全て終わったらinternal-experiment
実験をMLflowに登録してトラッキングする。