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 に更新します。 「トレーニングする and 登録する Unity Catalog 互換モデル」を参照してください。

モデルデプロイワークフロー

モデルデプロイワークフローを複製します。ワークフローを実行しているプリンシパルと、ワークフローに指定したコンピュートが 要件を満たしていることを確認します。

デプロイ ワークフローにモデル検証ロジックがある場合は、 UC からモデル バージョンを読み込むように更新します。 エイリアス を使用して、本番運用モデルのロールアウトを管理します。

モデル推論ワークフロー

バッチ推論ワークフロー

バッチ推論ワークフローを複製します。ワークフローを実行しているプリンシパルと、ワークフローに指定したコンピュートが 要件を満たしていることを確認します。

モデル提供ワークフロー

Mosaic AI Model Servingを使用している場合は、既存のエンドポイントをクローニングする必要はありません。代わりに、 トラフィック分割 機能を使用して、トラフィックのごく一部を Unity Catalog のモデルにルーティングし始めます。 Unity Catalog を使用して結果を確認するときは、すべてのトラフィックが再ルーティングされるまでトラフィック量を増やします。

環境間でのモデルの昇格

環境間でのモデルの昇格は、Unity Catalog のモデルとは異なる方法で機能します。 詳細については、「 環境間でのモデルの昇格」を参照してください。

モデルのデプロイの手動承認にジョブ Webhook を使用する

Databricks では、可能であれば、モデル デプロイ プロセス中に適切なチェックとテストを使用して、モデル デプロイを自動化することをお勧めします。 ただし、本番運用モデルをデプロイするために手動承認を実行する必要がある場合は、モデル トレーニング ジョブが正常に完了した後に、 ジョブ通知 を使用して外部 CI/CD システムに呼び出し、モデルをデプロイするための手動承認を要求できます。 手動承認が提供されると、CI/CD システムは、たとえば "Champion" エイリアスを設定することで、トラフィックを処理するモデル バージョンをデプロイできます。