DatabricksでMLflowを使う③ – モデルのライフサイクル管理 –

はじめに

機械学習モデルのライフサイクル管理を行うオープンソースであるMLflowをDatabricksのUI上で使用する方法について書いています。

DatabricksでMLflowを使う① – ノートブック上での実験トラッキング –
DatabricksでMLflowを使う② – 実験パラメータとメトリクスの可視化 –

こちらの記事の続きとなります。
Databricksのマネージド型MLflowではトレーニングしたモデルのステージングについてもUI上で行うことができます。今回はこちらについて書きます。

モデルの登録

前回の記事の各実験の比較画面です。こちらから一番左のモデルを本運用に移行しようとしているとします。run idから個別ページへ移動します。
image.png

個別ページへ移動して下のほうへスクロールします。アーティファクトの「model」を選択すると「Register Model」と表示されるのでクリックします。
image.png

モデルとモデル名を記載して、登録します。初めてモデルを作成する場合は「+ Create New Model」しか選択できませんが、登録済みのモデルがある場合にはそのモデルが選択できるようになります。その場合、既存モデルのバージョン違いのものとして登録されます。
image.png

登録が完了すると、モデルの個別ページに移動できるようになります。
画面右のモデル名とバージョンが記載されている部分か、左のサイドバーの「Models」から移動できます。
今回はサイドバーから移動します。
image.png

登録したモデルとバージョンが表示されます。ライフサイクルを管理するバージョンをクリックします。
image.png

ライフサイクル管理

個別ページの「Source Run」から該当のrun idの個別ページへ移動できます。
さっそくステージングを行いたいと思います。
image.png

Stageの部分をクリックするとプルダウンで変更後のステージ状態が選択できるようになっています。ステージには「Staging」「Production」「Archived」の3種類があります。
それぞれに対してRequestを求めてから変更するか、直接変更するかが選べます。
image.png

今回は「Request transition to → Staging」を選択します。
コメントを加えてokします。
image.png

「Pending Requests」の部分にリクエストが表示されます。このモデルにアクセスできるメンバーはApproveまたはRejectできるようになります。(リクエストした本人はCancelもできるようになっています。)ためしにApproveしてみます。
image.png

コメントを加えてconfirmします。
image.png

Pending Requestsから消えて、Stageが「Staging」へ移行しています。
image.png

下にスクロールすると履歴が表示されます。
image.png

おわりに

今回はモデルのライフサイクル管理について書きました。
次回は本運用へ移行するモデルができたときのモデルの呼び出しについて書きたいと思います。