はじめに
機械学習モデルのライフサイクル管理を行うオープンソースであるMLflowをDatabricksのUI上で使用する方法について書いています。
DatabricksでMLflowを使う① - ノートブック上での実験トラッキング -
DatabricksでMLflowを使う② - 実験パラメータとメトリクスの可視化 -
こちらの記事の続きとなります。
Databricksのマネージド型MLflowではトレーニングしたモデルのステージングについてもUI上で行うことができます。今回はこちらについて書きます。
モデルの登録
前回の記事の各実験の比較画面です。こちらから一番左のモデルを本運用に移行しようとしているとします。run idから個別ページへ移動します。
個別ページへ移動して下のほうへスクロールします。アーティファクトの「model」を選択すると「Register Model」と表示されるのでクリックします。
モデルとモデル名を記載して、登録します。初めてモデルを作成する場合は「+ Create New Model」しか選択できませんが、登録済みのモデルがある場合にはそのモデルが選択できるようになります。その場合、既存モデルのバージョン違いのものとして登録されます。
登録が完了すると、モデルの個別ページに移動できるようになります。
画面右のモデル名とバージョンが記載されている部分か、左のサイドバーの「Models」から移動できます。
今回はサイドバーから移動します。
登録したモデルとバージョンが表示されます。ライフサイクルを管理するバージョンをクリックします。
ライフサイクル管理
個別ページの「Source Run」から該当のrun idの個別ページへ移動できます。
さっそくステージングを行いたいと思います。
Stageの部分をクリックするとプルダウンで変更後のステージ状態が選択できるようになっています。ステージには「Staging」「Production」「Archived」の3種類があります。
それぞれに対してRequestを求めてから変更するか、直接変更するかが選べます。
今回は「Request transition to → Staging」を選択します。
コメントを加えてokします。
「Pending Requests」の部分にリクエストが表示されます。このモデルにアクセスできるメンバーはApproveまたはRejectできるようになります。(リクエストした本人はCancelもできるようになっています。)ためしにApproveしてみます。
Pending Requestsから消えて、Stageが「Staging」へ移行しています。
おわりに
今回はモデルのライフサイクル管理について書きました。
次回は本運用へ移行するモデルができたときのモデルの呼び出しについて書きたいと思います。