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