ML ワークフローを Unity Catalog のターゲットモデルにアップグレードする
この記事では、既存の Databricks ワークフロー を移行およびアップグレードして、Unity Catalog のモデルを使用する方法について説明します。
必要条件
必要な権限
Unity Catalog でモデルのトレーニング、デプロイ、または推論ワークフローを実行するには、ワークフローを実行するプリンシパルが、モデルを保持するカタログとスキーマに対する USE CATALOG
権限と USE SCHEMA
権限を持っている必要があります。
次の権限も必要です。
- モデルを作成するには、プリンシパルに
CREATE MODEL
権限が必要です。 - モデルを読み込んだりデプロイしたりするには、プリンシパルが登録済みモデルに対する
EXECUTE
権限を持っている必要があります。
登録済みモデルの所有者のみが、次の操作を実行できます。
- 新しいモデル バージョンを作成します。
- 登録済みのモデルにエイリアスを設定します。
コンピュートの要件
ワークフローに指定されたコンピュート リソースは、 Unity Catalogにアクセスできる必要があります。 「アクセスモード」を参照してください。
トレーニング、デプロイ、推論の並列ワークフローを作成する
モデルのトレーニングと推論のワークフローを Unity Catalog にアップグレードするために、Databricks では、Unity Catalog のモデルを活用する並列のトレーニング、デプロイ、推論パイプラインを作成する段階的なアプローチを推奨しています。 Unity Catalog を使用して結果に満足したら、ダウンストリームのコンシューマーを切り替えてバッチ推論出力を読み取るか、エンドポイントを提供する Unity Catalog のモデルにルーティングされるトラフィックを増やすことができます。
モデルトレーニングワークフロー
モデルのトレーニング ワークフローを複製します。ワークフローを実行しているプリンシパルと、ワークフローに指定したコンピュートが 要件を満たしていることを確認します。
次に、クローン作成されたワークフローのモデルトレーニングコードを変更します。 ワークフローによって実行されるノートブックを複製したり、複製されたワークフローで新しい git ブランチを作成してターゲットにしたりする必要がある場合があります。 次の手順に従って、必要なバージョンの MLflow をインストールし、トレーニング コードで Unity Catalog をターゲットとするようにクライアントを構成します。次に、モデル トレーニング コードを Unity Catalogに登録する models に更新します。 「Unity Catalog 互換モデルのトレーニングと登録を行う」を参照してください。
モデル・デプロイメント・ワークフロー
モデルデプロイワークフローを複製します。ワークフローを実行しているプリンシパルと、ワークフローに指定したコンピュートが 要件を満たしていることを確認します。
デプロイ ワークフローにモデル検証ロジックがある場合は、 UC からモデル バージョンを読み込むように更新します。 エイリアス を使用して、本番運用モデルのロールアウトを管理します。
モデル推論ワークフロー
バッチ推論ワークフロー
バッチ推論ワークフローを複製します。ワークフローを実行しているプリンシパルと、ワークフローに指定したコンピュートが 要件を満たしていることを確認します。
モデルサービング ワークフロー
Mosaic AI Model Servingを使用している場合は、既存のエンドポイントをクローニングする必要はありません。代わりに、 トラフィック分割 機能を使用して、トラフィックのごく一部を Unity Catalog のモデルにルーティングし始めます。 Unity Catalog を使用して結果を確認するときは、すべてのトラフィックが再ルーティングされるまでトラフィック量を増やします。
環境間でモデルを昇格させる
環境間でのモデルの昇格は、Unity Catalog のモデルとは異なる方法で機能します。 詳細については、「 環境間でのモデルの昇格」を参照してください。
ジョブ Webhook を使用して、モデル デプロイの手動承認を行う
Databricks では、可能であれば、モデル デプロイ プロセス中に適切なチェックとテストを使用して、モデル デプロイを自動化することをお勧めします。 ただし、本番運用モデルをデプロイするために手動承認を実行する必要がある場合は、 モデル トレーニング ジョブが正常に完了した後に、外部の CI/CD システムに呼び出して、モデルのデプロイの手動承認を要求します。 手動承認が提供されると、CI/CD システムは、たとえば "Champion" エイリアスを設定することで、トラフィックを処理するモデル バージョンをデプロイできます。