Levenscyclus van modellen beheren in Unity Catalog

Belangrijk

  • Dit artikel documenteert modellen in Unity Catalog, die Databricks aanbeveelt voor het beheren en implementeren van modellen. Als uw werkruimte niet is ingeschakeld voor Unity Catalog, is de functionaliteit op deze pagina niet beschikbaar. Zie In plaats daarvan de levenscyclus van het model beheren met behulp van het werkruimtemodelregister (verouderd). Zie Werkstromen en modellen migreren naar Unity Catalog voor hulp bij het upgraden van het werkruimtemodelregister naar Unity Catalog.
  • Modellen in Unity Catalog zijn niet beschikbaar in Azure Government-regio's.

In dit artikel wordt beschreven hoe u modellen in Unity Catalog gebruikt als onderdeel van uw machine learning-werkstroom om de volledige levenscyclus van ML-modellen te beheren. Databricks biedt een gehoste versie van MLflow Model Registry in Unity Catalog. Modellen in Unity Catalog breiden de voordelen van Unity Catalog uit naar ML-modellen, waaronder gecentraliseerd toegangsbeheer, controle, herkomst en modeldetectie in werkruimten. Modellen in Unity Catalog zijn compatibel met de opensource-MLflow Python-client.

Belangrijke functies van modellen in Unity Catalog zijn onder andere:

  • Namen en governance voor modellen, zodat u modellen op omgevings-, project- of teamniveau kunt groeperen en beheren ('Gegevenswetenschappers alleen-lezentoegang verlenen tot productiemodellen').
  • Chronologische modelherkomst (welk MLflow-experiment en uitvoering het model op een bepaald moment heeft geproduceerd).
  • Model serveren.
  • Modelversiebeheer.
  • Modelimplementatie via aliassen. Markeer bijvoorbeeld de versie 'Champion' van een model in uw prod catalogus.

Als de standaardcatalogus van uw werkruimte is geconfigureerd voor een catalogus in Unity Catalog, worden modellen die zijn geregistreerd met MLflow-API's, zoals mlflow.<model-type>.log_model(..., registered_model_name) of mlflow.register_model(model_uri, name) zijn ze standaard geregistreerd bij Unity Catalog.

Dit artikel bevat instructies voor zowel de modellen in de gebruikersinterface van Unity Catalog als de API.

Zie ML-levenscyclusbeheer met behulp van MLflow voor een overzicht van de concepten van modelregisters.

Vereisten

  1. Unity Catalog moet zijn ingeschakeld in uw werkruimte. Zie Aan de slag met Unity Catalog om een Unity Catalog-metastore te maken, deze in te schakelen in een werkruimte en een catalogus te maken. Als Unity Catalog niet is ingeschakeld, kunt u nog steeds het klassieke register van het werkruimtemodel gebruiken.

  2. Uw werkruimte moet zijn gekoppeld aan een Unity Catalog-metastore die overname van bevoegdheden ondersteunt. Dit geldt voor alle metastores die na 25 augustus 2022 zijn gemaakt. Als u een oudere metastore uitvoert, volgt u de documenten om een upgrade uit te voeren.

  3. U moet toegang hebben tot het uitvoeren van opdrachten op een cluster met toegang tot Unity Catalog.

  4. Als u nieuwe geregistreerde modellen wilt maken, hebt u de CREATE_MODEL bevoegdheid voor een schema nodig, naast de USE SCHEMA bevoegdheden voor USE CATALOG het schema en de bijbehorende omsluitcatalogus. CREATE_MODEL is een nieuwe bevoegdheid op schemaniveau die u kunt verlenen met behulp van de gebruikersinterface van Catalog Explorer of de SQL GRANT-opdracht, zoals hieronder wordt weergegeven.

    GRANT CREATE_MODEL ON SCHEMA <schema-name> TO <principal>
    

Trainingsworkloads upgraden naar Unity Catalog

Deze sectie bevat instructies voor het upgraden van bestaande trainingsworkloads naar Unity Catalog.

MLflow Python-client installeren

U kunt ook modellen gebruiken in Unity Catalog op Databricks Runtime 11.3 LTS en hoger door de nieuwste versie van de MLflow Python-client in uw notebook te installeren met behulp van de onderstaande code.

%pip install --upgrade "mlflow-skinny[databricks]"
dbutils.library.restartPython()

MLflow-client configureren voor toegang tot modellen in Unity Catalog

De MLflow Python-client maakt standaard modellen in het databricks-werkruimtemodelregister. Als u wilt upgraden naar modellen in Unity Catalog, configureert u de MLflow-client:

import mlflow
mlflow.set_registry_uri("databricks-uc")

Notitie

Als de standaardcatalogus van uw werkruimte zich in Unity Catalog bevindt (in plaats hive_metastorevan ) en u een cluster uitvoert met Databricks Runtime 13.3 LTS of hoger (Databricks Runtime 15.0 of hoger in azure China-regio's), worden modellen automatisch gemaakt en geladen vanuit de standaardcatalogus, zonder dat er configuratie is vereist. Er is geen wijziging in gedrag voor andere Databricks Runtime-versies. Een klein aantal werkruimten waarin zowel de standaardcatalogus is geconfigureerd voor een catalogus in Unity Catalog vóór januari 2024 als het werkruimtemodelregister vóór januari 2024 is gebruikt, is uitgesloten van dit gedrag.

Met Unity Catalog compatibele modellen trainen en registreren

Vereiste machtigingen: als u een nieuw geregistreerd model wilt maken, hebt u de CREATE_MODEL en USE SCHEMA bevoegdheden voor het omsluitschema en USE CATALOG bevoegdheden voor de insluitcatalogus nodig. Als u nieuwe modelversies wilt maken onder een geregistreerd model, moet u de eigenaar van het geregistreerde model zijn en beschikken over en USE CATALOG bevoegdheden hebben USE SCHEMA voor het schema en de catalogus met het model.

ML-modelversies in UC moeten een modelhandtekening hebben. Als u MLflow-modellen nog niet met handtekeningen in uw werkbelastingen voor modeltrainingen aanmeldt, kunt u het volgende doen:

  • Gebruik automatische logboeken van Databricks, waarmee automatisch modellen worden bijgehouden met handtekeningen voor veel populaire ML-frameworks. Zie ondersteunde frameworks in de MLflow-documenten.
  • Met MLflow 2.5.0 en hoger kunt u een invoervoorbeeld opgeven in uw mlflow.<flavor>.log_model aanroep en wordt de modelhandtekening automatisch afgeleid. Raadpleeg de MLflow-documentatie voor meer informatie.

Geef vervolgens de naam van het model op drie niveaus door aan MLflow-API's, in de vorm <catalog>.<schema>.<model>.

De voorbeelden in deze sectie maken en openen modellen in het ml_team schema onder de prod catalogus.

In de voorbeelden van modeltraining in deze sectie maakt u een nieuwe modelversie en registreert u deze in de prod catalogus. Het gebruik van de prod catalogus betekent niet noodzakelijkerwijs dat de modelversie productieverkeer bedient. De catalogus, het schema en het geregistreerde model van de modelversie weerspiegelen de omgeving (prod) en de bijbehorende governanceregels (bijvoorbeeld bevoegdheden kunnen zo worden ingesteld dat alleen beheerders uit de prod catalogus kunnen verwijderen), maar niet de implementatiestatus. Gebruik modelaliassen om de implementatiestatus te beheren.

Een model registreren bij Unity Catalog met automatische aanmelding

from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier

# Train a sklearn model on the iris dataset
X, y = datasets.load_iris(return_X_y=True, as_frame=True)
clf = RandomForestClassifier(max_depth=7)
clf.fit(X, y)

# Note that the UC model name follows the pattern
# <catalog_name>.<schema_name>.<model_name>, corresponding to
# the catalog, schema, and registered model name
# in Unity Catalog under which to create the version
# The registered model will be created if it doesn't already exist
autolog_run = mlflow.last_active_run()
model_uri = "runs:/{}/model".format(autolog_run.info.run_id)
mlflow.register_model(model_uri, "prod.ml_team.iris_model")

Een model registreren bij Unity Catalog met automatisch uitgestelde handtekening

Ondersteuning voor automatisch uitgestelde handtekeningen is beschikbaar in MLflow versie 2.5.0 en hoger en wordt ondersteund in Databricks Runtime 11.3 LTS ML en hoger. Als u automatisch uitgestelde handtekeningen wilt gebruiken, gebruikt u de volgende code om de nieuwste MLflow Python-client in uw notebook te installeren:

%pip install --upgrade "mlflow-skinny[databricks]"
dbutils.library.restartPython()

De volgende code toont een voorbeeld van een automatisch uitgestelde handtekening.

from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier

with mlflow.start_run():
    # Train a sklearn model on the iris dataset
    X, y = datasets.load_iris(return_X_y=True, as_frame=True)
    clf = RandomForestClassifier(max_depth=7)
    clf.fit(X, y)
    # Take the first row of the training dataset as the model input example.
    input_example = X.iloc[[0]]
    # Log the model and register it as a new version in UC.
    mlflow.sklearn.log_model(
        sk_model=clf,
        artifact_path="model",
        # The signature is automatically inferred from the input example and its predicted output.
        input_example=input_example,
        registered_model_name="prod.ml_team.iris_model",
    )

De gegevensherkomst van een model bijhouden in Unity Catalog

Notitie

Ondersteuning voor tabelherkomst in Unity Catalog is beschikbaar in MLflow 2.11.0 en hoger.

Wanneer u een model traint in een tabel in Unity Catalog, kunt u de herkomst van het model bijhouden naar de upstream-gegevensset(s) waarop het is getraind en geëvalueerd. Gebruik hiervoor mlflow.log_input. Hiermee worden de invoertabelgegevens opgeslagen met de MLflow-uitvoering die het model heeft gegenereerd. Gegevensherkomst wordt ook automatisch vastgelegd voor modellen die zijn vastgelegd met behulp van API's voor het functiearchief. Zie Herkomst van functiearchief weergeven.

Wanneer u het model registreert bij Unity Catalog, worden herkomstgegevens automatisch opgeslagen en zichtbaar op het tabblad Herkomst van de gebruikersinterface van de modelversie in Catalog Explorer.

De volgende code laat een voorbeeld zien.

import mlflow
import pandas as pd
import pyspark.pandas as ps
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestRegressor

# Write a table to Unity Catalog
iris = load_iris()
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)
iris_df.rename(
  columns = {
    'sepal length (cm)':'sepal_length',
    'sepal width (cm)':'sepal_width',
    'petal length (cm)':'petal_length',
    'petal width (cm)':'petal_width'},
  inplace = True
)
iris_df['species'] = iris.target
ps.from_pandas(iris_df).to_table("prod.ml_team.iris", mode="overwrite")

# Load a Unity Catalog table, train a model, and log the input table
dataset = mlflow.data.load_delta(table_name="prod.ml_team.iris", version="0")
pd_df = dataset.df.toPandas()
X = pd_df.drop("species", axis=1)
y = pd_df["species"]
with mlflow.start_run():
    clf = RandomForestRegressor(n_estimators=100)
    clf.fit(X, y)
    mlflow.log_input(dataset, "training")

Modellen weergeven in de gebruikersinterface

Vereiste machtigingen: als u een geregistreerd model en de bijbehorende modelversies in de gebruikersinterface wilt weergeven, hebt u bevoegdheden nodig EXECUTE voor het geregistreerde model, plus USE SCHEMA en USE CATALOG bevoegdheden voor het schema en de catalogus met het model

U kunt geregistreerde modellen en modelversies in Unity Catalog bekijken en beheren met behulp van De Catalogusverkenner.

Toegang tot modellen beheren

Zie Unity Catalog-bevoegdheden en beveiligbare objecten voor informatie over het beheren van de toegang tot modellen die zijn geregistreerd in Unity Catalog. Zie Uw gegevens ordenen voor aanbevolen procedures voor het ordenen van modellen in verschillende catalogi en schema's.

U kunt modelmachtigingen programmatisch configureren met behulp van de Grant REST API. Bij het configureren van modelmachtigingen, ingesteld securable_type"FUNCTION" op in REST API-aanvragen. Gebruik bijvoorbeeld PATCH /api/2.1/unity-catalog/permissions/function/{full_name} om geregistreerde modelmachtigingen bij te werken.

Modellen implementeren en organiseren met aliassen en tags

Modelaliassen en tags helpen u bij het organiseren en beheren van modellen in Unity Catalog.

Met modelaliassen kunt u een onveranderbare, benoemde verwijzing toewijzen aan een bepaalde versie van een geregistreerd model. U kunt aliassen gebruiken om de implementatiestatus van een modelversie aan te geven. U kunt bijvoorbeeld een 'Kampioen'-alias toewijzen aan de modelversie die momenteel in productie is en deze alias targeten in workloads die gebruikmaken van het productiemodel. Vervolgens kunt u het productiemodel bijwerken door de alias 'Champion' opnieuw toe te wijden aan een andere modelversie.

Tags zijn sleutel-waardeparen die u koppelt aan geregistreerde modellen en modelversies, zodat u ze kunt labelen en categoriseren op functie of status. U kunt bijvoorbeeld een tag met sleutel "task" en waarde "question-answering" (weergegeven in de gebruikersinterface als task:question-answering) toepassen op geregistreerde modellen die zijn bedoeld voor het beantwoorden van taken. Op modelversieniveau kunt u versies taggen die validatie validation_status:pending vóór de implementatie ondergaan en versies die zijn gewist voor implementatie met validation_status:approved.

Zie de volgende secties voor het gebruik van aliassen en tags.

Aliassen instellen en verwijderen op modellen

Vereiste machtigingen: eigenaar van het geregistreerde model, plus USE SCHEMA en USE CATALOG bevoegdheden voor het schema en de catalogus met het model.

U kunt aliassen voor modellen in Unity Catalog instellen, bijwerken en verwijderen met behulp van Catalog Explorer. U kunt aliassen beheren voor een geregistreerd model op de pagina met modeldetails en aliassen configureren voor een specifieke modelversie op de pagina met details van de modelversie.

Zie de onderstaande voorbeelden om aliassen in te stellen, bij te werken en te verwijderen met behulp van de MLflow-client-API:

from mlflow import MlflowClient
client = MlflowClient()

# create "Champion" alias for version 1 of model "prod.ml_team.iris_model"
client.set_registered_model_alias("prod.ml_team.iris_model", "Champion", 1)

# reassign the "Champion" alias to version 2
client.set_registered_model_alias("prod.ml_team.iris_model", "Champion", 2)

# get a model version by alias
client.get_model_version_by_alias("prod.ml_team.iris_model", "Champion")

# delete the alias
client.delete_registered_model_alias("prod.ml_team.iris_model", "Champion")

Tags instellen en verwijderen op modellen

Vereiste machtigingen: eigenaar van of bevoegd zijn APPLY_TAG voor het geregistreerde model, plus USE SCHEMA en USE CATALOG bevoegdheden voor het schema en de catalogus met het model.

Zie Tags beheren in Catalog Explorer voor het instellen en verwijderen van tags met behulp van de gebruikersinterface.

Zie de onderstaande voorbeelden om tags in te stellen en te verwijderen met behulp van de MLflow Client-API:

from mlflow import MlflowClient
client = MlflowClient()

# Set registered model tag
client.set_registered_model_tag("prod.ml_team.iris_model", "task", "classification")

# Delete registered model tag
client.delete_registered_model_tag("prod.ml_team.iris_model", "task")

# Set model version tag
client.set_model_version_tag("prod.ml_team.iris_model", "1", "validation_status", "approved")

# Delete model version tag
client.delete_model_version_tag("prod.ml_team.iris_model", "1", "validation_status")

Zowel geregistreerde model- als modelversietags moeten voldoen aan de platformbrede beperkingen.

Zie de documentatie van de MLflow-API voor meer informatie over alias- en tagclient-API's.

Modellen laden voor deductie

Modelversies gebruiken op aliasdeductieworkloads

Vereiste machtigingen: EXECUTE bevoegdheden voor het geregistreerde model, plus USE SCHEMA en USE CATALOG bevoegdheden voor het schema en de catalogus met het model.

U kunt batchdeductieworkloads schrijven die verwijzen naar een modelversie per alias. Het onderstaande codefragment wordt bijvoorbeeld geladen en past de modelversie 'Champion' toe voor batchdeductie. Als de versie 'Champion' wordt bijgewerkt om te verwijzen naar een nieuwe modelversie, wordt deze automatisch door de workload voor batchdeductie opgehaald bij de volgende uitvoering. Hiermee kunt u modelimplementaties loskoppelen van uw batchdeductieworkloads.

import mlflow.pyfunc
model_version_uri = "models:/prod.ml_team.iris_model@Champion"
champion_version = mlflow.pyfunc.load_model(model_version_uri)
champion_version.predict(test_x)

U kunt ook implementatiewerkstromen schrijven om een modelversie op te halen op basis van een alias en een model bij te werken dat een eindpunt voor die versie biedt, met behulp van het model dat REST API biedt:

import mlflow
import requests
client = mlflow.tracking.MlflowClient()
champion_version = client.get_model_version_by_alias("prod.ml_team.iris_model", "Champion")
# Invoke the model serving REST API to update endpoint to serve the current "Champion" version
model_name = champion_version.name
model_version = champion_version.version
requests.request(...)

Modelversies gebruiken op versienummer in deductieworkloads

U kunt modelversies ook laden op versienummer:

import mlflow.pyfunc
# Load version 1 of the model "prod.ml_team.iris_model"
model_version_uri = "models:/prod.ml_team.iris_model/1"
first_version = mlflow.pyfunc.load_model(model_version_uri)
first_version.predict(test_x)

Modellen delen in werkruimten

Modellen delen met gebruikers in dezelfde regio

Zolang u over de juiste bevoegdheden beschikt, hebt u toegang tot modellen in Unity Catalog vanuit elke werkruimte die is gekoppeld aan de metastore die het model bevat. U kunt bijvoorbeeld toegang krijgen tot modellen uit de prod catalogus in een ontwikkelwerkruimte om het vergelijken van nieuw ontwikkelde modellen met de productiebasislijn te vergemakkelijken.

Als u wilt samenwerken met andere gebruikers (schrijfbevoegdheden delen) voor een geregistreerd model dat u hebt gemaakt, moet u het eigendom van het model verlenen aan een groep met uzelf en de gebruikers waarmee u wilt samenwerken. Samenwerkers moeten ook de USE CATALOG en USE SCHEMA bevoegdheden voor de catalogus en het schema met het model hebben. Zie Unity Catalog-bevoegdheden en beveiligbare objecten voor meer informatie.

Modellen delen met gebruikers in een andere regio of account

Als u modellen wilt delen met gebruikers in andere regio's of accounts, gebruikt u de stroom voor delen van Delta Sharing Databricks-to-Databricks. Zie Modellen toevoegen aan een share (voor providers) en toegang krijgen in het Databricks-naar-Databricks-model (voor ontvangers). Als geadresseerde hebt u, nadat u een catalogus hebt gemaakt op basis van een share, hebt u op dezelfde manier toegang tot modellen in die gedeelde catalogus als elk ander model in Unity Catalog.

Aantekeningen toevoegen aan een model of modelversie

Vereiste machtigingen: eigenaar van het geregistreerde model, plus USE SCHEMA en USE CATALOG bevoegdheden voor het schema en de catalogus met het model.

U kunt informatie verstrekken over een model of modelversie door er aantekeningen aan toe te voegen. U kunt bijvoorbeeld een overzicht van het probleem of informatie over de gebruikte methodologie en algoritme toevoegen.

Aantekeningen toevoegen aan een model of modelversie met behulp van de gebruikersinterface

Zie Documentgegevens in Catalog Explorer met behulp van Markdown-opmerkingen.

Aantekeningen toevoegen aan een model of modelversie met behulp van de API

Als u een beschrijving van een geregistreerd model wilt bijwerken, gebruikt u de MLflow Client-API-methode update_registered_model() :

client = MlflowClient()
client.update_registered_model(
  name="<model-name>",
  description="<description>"
)

Als u de beschrijving van een modelversie wilt bijwerken, gebruikt u de methode update_model_version() van de MLflow-client-API:

client = MlflowClient()
client.update_model_version(
  name="<model-name>",
  version=<model-version>,
  description="<description>"
)

De naam van een model wijzigen (alleen API)

Vereiste machtigingen: eigenaar van het geregistreerde model, CREATE_MODEL bevoegdheden voor het schema met het geregistreerde model en USE SCHEMAUSE CATALOG bevoegdheden voor het schema en de catalogus met het model.

Als u de naam van een geregistreerd model wilt wijzigen, gebruikt u de methode rename_registered_model() van de MLflow-client-API:

client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")

Een model of modelversie verwijderen

Vereiste machtigingen: eigenaar van het geregistreerde model, plus USE SCHEMA en USE CATALOG bevoegdheden voor het schema en de catalogus met het model.

U kunt een geregistreerd model of een modelversie binnen een geregistreerd model verwijderen met behulp van de gebruikersinterface van Catalog Explorer of de API.

Een modelversie of model verwijderen met behulp van de API

Waarschuwing

U kunt deze actie niet ongedaan maken. Wanneer u een model verwijdert, worden alle modelartefacten die zijn opgeslagen door Unity Catalog en alle metagegevens die aan het geregistreerde model zijn gekoppeld, verwijderd.

Een modelversie verwijderen

Als u een modelversie wilt verwijderen, gebruikt u de methode delete_model_version() van de MLflow-client-API:

# Delete versions 1,2, and 3 of the model
client = MlflowClient()
versions=[1, 2, 3]
for version in versions:
  client.delete_model_version(name="<model-name>", version=version)

Een model verwijderen

Als u een model wilt verwijderen, gebruikt u de methode delete_registered_model() van de MLflow-client-API:

client = MlflowClient()
client.delete_registered_model(name="<model-name>")

Modellen weergeven en zoeken

U kunt geregistreerde modellen in Unity Catalog weergeven met de Python-API van MLflow search_registered_models():

client=MlflowClient()
client.search_registered_models()

U kunt ook zoeken naar een specifieke modelnaam en de versiegegevens weergeven met behulp van de search_model_versions() methode:

from pprint import pprint

client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]

Opmerking

In dit voorbeeld ziet u hoe u modellen in Unity Catalog gebruikt om een machine learning-toepassing te bouwen.

Voorbeeld van modellen in Unity Catalog

Werkstromen en modellen migreren naar Unity Catalog

Databricks raadt het gebruik van modellen in Unity Catalog aan voor verbeterde governance, eenvoudig delen tussen werkruimten en omgevingen en flexibelere MLOps-werkstromen. In de tabel worden de mogelijkheden van het werkruimtemodelregister en de Unity-catalogus vergeleken.

Mogelijkheid Werkruimtemodelregister (verouderd) Modellen in Unity Catalog (aanbevolen)
Referentiemodelversies met benoemde aliassen Modelregisterfasen: verplaats modelversies naar een van de vier vaste fasen om ernaar te verwijzen in die fase. Kan de namen van fasen niet wijzigen of toevoegen. Modelregisteraliassen: maak maximaal 10 aangepaste en opnieuw toegewezen benoemde verwijzingen naar modelversies voor elk geregistreerd model.
Door toegang beheerde omgevingen maken voor modellen Modelregisterfasen: gebruik fasen binnen één geregistreerd model om de omgeving van de modelversies aan te geven, met toegangsbeheer voor slechts twee van de vier vaste fasen (Staging en Production). Geregistreerde modellen: Maak een geregistreerd model voor elke omgeving in uw MLOps-werkstroom, met behulp van naamruimten op drie niveaus en machtigingen van Unity Catalog om governance uit te drukken.
Modellen promoten in omgevingen (model implementeren) Gebruik de transition_model_version_stage() MLflow-client-API om een modelversie te verplaatsen naar een andere fase, mogelijk belangrijke werkstromen die verwijzen naar de vorige fase. Gebruik de copy_model_version() MLflow Client-API om een modelversie van het ene geregistreerde model naar het andere te kopiëren.
Modellen in werkruimten openen en delen Exporteer en importeer modellen handmatig in werkruimten of configureer verbindingen met externe modelregisters met behulp van persoonlijke toegangstokens en werkruimtegeheimbereiken. Out-of-the-box-toegang tot modellen in werkruimten in hetzelfde account. Er is geen configuratie vereist.
Machtigingen configureren Machtigingen instellen op werkruimteniveau. Stel machtigingen in op accountniveau, waarmee consistent beheer voor werkruimten wordt toegepast.
Access-modellen in de Databricks-markplace Beschikbaar. Laad modellen uit de Databricks-marketplace in uw Unity Catalog-metastore en open ze in werkruimten.

In de onderstaande artikelen wordt beschreven hoe u werkstromen (modeltraining en batchdeductietaken) en modellen van het werkruimtemodelregister naar Unity Catalog migreert.

Beperkingen voor ondersteuning voor Unity Catalog

  • Fasen worden niet ondersteund voor modellen in Unity Catalog. Databricks raadt aan om de naamruimte op drie niveaus in Unity Catalog te gebruiken om de omgeving aan te geven waarin een model zich bevindt en aliassen te gebruiken om modellen voor implementatie te promoten. Zie de upgradehandleiding voor meer informatie.
  • Webhooks worden niet ondersteund voor modellen in Unity Catalog. Zie voorgestelde alternatieven in de upgradehandleiding.
  • Sommige zoek-API-velden en -operators worden niet ondersteund voor modellen in Unity Catalog. Dit kan worden verzacht door de zoek-API's aan te roepen met behulp van ondersteunde filters en het scannen van de resultaten. Hier volgen enkele voorbeelden:
    • De order_by parameter wordt niet ondersteund in de search_model_versions - of search_registered_models client-API's.
    • Filters op basis van tags (tags.mykey = 'myvalue') worden niet ondersteund voor search_model_versions of search_registered_models.
    • Andere operatoren dan exacte gelijkheid (bijvoorbeeld LIKE, ILIKE, !=) worden niet ondersteund voor search_model_versions of search_registered_models.
    • Het zoeken naar geregistreerde modellen op naam (bijvoorbeeld MlflowClient().search_registered_models(filter_string="name='main.default.mymodel'") wordt niet ondersteund. Als u een bepaald geregistreerd model op naam wilt ophalen, gebruikt u get_registered_model.
  • E-mailmeldingen en discussiethreads met opmerkingen over geregistreerde modellen en modelversies worden niet ondersteund in Unity Catalog.
  • Het activiteitenlogboek wordt niet ondersteund voor modellen in Unity Catalog. U kunt echter activiteiten bijhouden op modellen in Unity Catalog met behulp van auditlogboeken.
  • search_registered_models kan verlopen resultaten retourneren voor modellen die worden gedeeld via Delta Sharing. Gebruik de Databricks CLI of SDK om de modellen in een schema weer te geven om ervoor te zorgen dat de meest recente resultaten worden weergegeven.