次の方法で共有


ワークフローとモデルを Unity カタログに移行する

Databricks では、ガバナンスの向上、ワークスペースと環境の間の簡単な共有、柔軟性の高い MLOps ワークフローのために、Unity Catalog のモデルを使用することをお勧めします。 このページでは、ワークスペース モデル レジストリのモデルを Unity カタログに移行する手順について説明します。

Unity カタログのモデルの概要

Unity カタログのモデルは、一元的なアクセス制御、監査、系列、ワークスペース間でのモデル共有と検出など、Unity カタログの利点を ML モデルに拡張します。 Unity カタログのモデルは、モデルのライフサイクルを管理する際の柔軟性も向上します。

モデルを Unity カタログに移行する場合、一部のモデル ライフサイクル手順は異なる方法で実行されます。

ステップ 1. Unity カタログでモデルを作成する

Unity カタログ互換モデルのトレーニングと登録を参照してください。

ステップ 2。 Unity カタログのアクセス許可をモデルに割り当てる

Unity カタログには、 統合されたアクセス許可モデルがあります。 Unity カタログでモデルにアクセス許可を割り当てる方法については、「 モデルへのアクセスを制御する」を参照してください。

次の表は、ワークスペース モデル レジストリのアクセス許可と Unity カタログの権限の関係を示しています。 表に示されている特権に加えて、すべてのアクションには USE CATALOG および USE SCHEMA 特権も必要です。

ワークスペース モデル レジストリ Unity カタログ 注記
読み取り可能 実行する
編集可能 モデルバージョンの作成 + タグの適用 これらの権限を持つユーザーは、モデルまたはモデル バージョンの 説明 を編集できません。
ステージング バージョンを管理できます APPLY TAG とデプロイ ジョブ Unity カタログでは、デプロイ ジョブを使用して、ライフサイクル ステージを通じてモデル バージョンの移動を制御します。 詳細については、 MLflow 3 デプロイ ジョブに関するページを参照してください。
運用バージョンを管理できます APPLY TAG とデプロイ ジョブ Unity カタログでは、デプロイ ジョブを使用して、ライフサイクル ステージを通じてモデル バージョンの移動を制御します。 詳細については、 MLflow 3 デプロイ ジョブに関するページを参照してください。
管理可能 管理する

手順 3. モデルのバージョンをコピーする

モデルバージョンをコピーするには、MLflow クライアント copy_model_version()= >で3.4.0を使用します。

import mlflow
from mlflow import MLflowClient

# Registry must be set to workspace registry
mlflow.set_registry_uri("databricks")
client = MlflowClient(registry_uri="databricks")

src_model_uri = f"models:/my_wmr_model/1"
uc_migrated_copy = client.copy_model_version(
   src_model_uri, "mycatalog.myschema.my_uc_model"
)

ターゲット モデルが Unity カタログに存在しない場合は、この API 呼び出しによって作成されます。

Unity カタログのモデルには署名が必要です。 ワークスペース モデルのバージョンに署名がない場合は、 MLflow ドキュメントの手順に従って作成することをお勧めします。 もう 1 つの方法は、環境変数 MLFLOW_SKIP_SIGNATURE_CHECK_FOR_UC_REGISTRY_MIGRATIONを使用することです。 この環境変数は、 copy_model_version() を使用する場合にのみ使用でき、MLflow バージョン 3.4.0 以上が必要です。 この環境変数が "true" に設定されている場合、署名は必要ありません。

ワークスペース モデル レジストリ内のモデルのすべてのモデル バージョンを移行先の Unity カタログ モデルに移行するために使用できるスクリプトについては、「 モデル バージョンをワークスペース モデル レジストリから Unity カタログに移行する」を参照してください。

手順 4. モデル メタデータの移行

このセクションでは、ワークスペース レジストリ レベルのメタデータを Unity カタログ モデルとモデル バージョンのメタデータ (ステージ、タグ、説明など) にマップする方法について説明します。

段階

ワークスペース モデル レジストリは、モデルのライフサイクルを追跡するために、 StagingProductionなどの "ステージ" の概念を使用しました。 ステージごとにモデルを検索または呼び出しできます。 Unity カタログでは、ステージはモデルを呼び出すための エイリアス と、モデルのラベル付けの タグ に置き換えられました。

ワークスペース モデル レジストリ ステージを簡単に移行するには、"運用" と "ステージング" またはその他のエイリアス名を直接使用できます。 ワークスペース モデル レジストリでは、複数のモデル バージョンが同じステージに存在する可能性があり、モデル バージョンを参照したときに最新バージョンが呼び出されました。 Unity カタログでは、エイリアスが一意のモデル バージョンに割り当てられます。

ステージ ラベルを簡単に移行するには、タグを使用してモデル バージョンに "Production"、"Staging"、または "Archived" というラベルを付けます。 他のラベルも使用できます。 タグの詳細については、「 タグ」を参照してください。

ワークスペース モデル レジストリでは、モデル バージョンのライフサイクルがステージ別に追跡され、移行要求に対する人間の承認が必要でした。 Unity カタログでは、モデル バージョンのライフサイクルは デプロイ ジョブによって管理されます。 デプロイ ジョブ内の各タスクは、"ステージ" に対応します。 デプロイ ジョブを使用すると、モデルのライフサイクルをカスタマイズし、ワークスペース モデル レジストリよりも複雑なワークフローに対応できます。 デプロイ ジョブは、引き続き人間の承認に対応します。 詳細については、 MLflow 3 デプロイ ジョブに関するページを参照してください。

タグ

Unity カタログでは、モデルまたはモデルのバージョンに タグ を作成します。

Unity カタログ モデル バージョン UI の [タグの追加] ボタン。

カタログ エクスプローラーでタグでモデルを検索するには、検索ボックスにキーまたは値を入力します。

Unity カタログ モデル UI でタグでモデルを検索します。

カタログ エクスプローラーでは、タグを使用してモデルバージョンではなくモデルを検索できます。 MLflow クライアントは、Unity カタログ タグによるモデルの検索をサポートしていません。 Unity カタログでは、オブジェクトあたり最大 50 個のタグを使用できます。

説明とコメント

モデルとモデルのバージョンに説明を追加できます。 Unity カタログには、モデルに対して AI によって生成された説明のオプションも用意されています。

Unity カタログにモデルまたはモデルのバージョンの説明を追加します。

Unity カタログのモデルには、ワークスペース モデル レジストリのモデル バージョン ページの [アクティビティ ] セクションに表示される情報に対応する場所がありません。 モデル バージョンで転送する情報がそのセクションにある場合は、Unity カタログのモデル バージョン ページの [説明 ] セクションにコピーします。

ステップ 5. すべてのワークロードとエンドポイントを更新する

モデルとモデルのバージョンを Unity カタログに移行したら、Unity カタログのバージョンを使用するように、すべてのジョブ、ノートブック、およびモデル サービス エンドポイントを含む他のワークロードを更新します。

手順 6. (省略可能) 展開ジョブを作成する

デプロイ ジョブは、新しいモデル バージョンが作成されるたびに自動的にトリガーされ、評価、承認、およびデプロイ ワークフローが自動化されます。 詳細については、 MLflow 3 デプロイ ジョブに関するページを参照してください。

モデル バージョンの作成や承認などのイベントでトリガーする通知を設定できます。 「ジョブについての通知を追加する」をご覧ください。

ワークスペース モデル レジストリでイベントの電子メール通知を設定した場合は、次のように移行します。

  • 新しいモデル バージョンが作成されました:新しいモデル バージョンの作成時にトリガーされるデプロイ ジョブと、ジョブがトリガーされたときに電子メール通知を設定します。
  • ステージ遷移要求: ステージ遷移要求は、承認タスクに対応します。 承認タスクの成功または失敗に関する電子メール通知を設定します。
  • ステージ切り替え: ステージ遷移はジョブ タスクに対応します。 タスクの成功または失敗に関する電子メール通知を設定します。
  • 新しいコメント: コメントは Unity カタログではサポートされていません。

イベント用に Webhook を設定した場合は、モデル イベント ジョブ トリガーとして Unity カタログに実装できます。 モデル トリガーを使用すると、Unity カタログでの新しいモデル、モデル バージョン、またはモデル エイリアスの作成に基づいて 、Lakeflow ジョブを自動化 できます。 モデル トリガーは プライベート プレビュー段階です。 詳細については、Databricks の担当者にお問い合わせください。

詳細情報

以下のリンク先のページでは、ワークフロー (モデル トレーニングジョブとバッチ推論ジョブ) をワークスペース モデル レジストリから Unity カタログに移行する方法について説明します。