Modell életciklusának kezelése a Unity Katalógusban
Fontos
- Ez a cikk a Unity Catalog modelljeit ismerteti, amelyeket a Databricks javasol a modellek szabályozásához és üzembe helyezéséhez. Ha a munkaterület nincs engedélyezve a Unity Catalogban, az ezen a lapon található funkciók nem érhetők el. Ehelyett tekintse meg a modell életciklusának kezelése a munkaterület-modellregisztrációs adatbázis használatával című témakört. A munkaterületmodell-beállításjegyzékből a Unity Katalógusba való frissítéssel kapcsolatos útmutatásért lásd : Munkafolyamatok és modellek migrálása a Unity-katalógusba.
- A Unity Catalog modelljei nem érhetők el az Azure Government-régiókban.
Ez a cikk bemutatja, hogyan használhat modelleket a Unity Catalogban a gépi tanulási munkafolyamat részeként az ML-modellek teljes életciklusának kezeléséhez. A Databricks az MLflow modellregisztrációs adatbázis egy üzemeltetett verzióját biztosítja a Unity Catalogban. A Unity Catalog modelljei kiterjesztik a Unity Catalog előnyeit az ML-modellekre, beleértve a központosított hozzáférés-vezérlést, a naplózást, a leágazást és a modellfelderítést a munkaterületeken. A Unity Catalog modelljei kompatibilisek a nyílt forráskódú MLflow Python-ügyféllel.
A Unity Catalog modelljeinek főbb jellemzői a következők:
- Modellek elnevezése és szabályozása, hogy a modelleket a környezet, a projekt vagy a csapat szintjén csoportosíthassa és szabályozhassa ("Az adattudósok írásvédett hozzáférést biztosíthatnak az éles modellekhez").
- Időrendi modell lefutása (amely az MLflow-kísérlet és a futtatás során egy adott időpontban hozta létre a modellt).
- Modellkiszolgáló.
- Modell verziószámozása.
- Modelltelepítés aliasokkal. Jelöljön meg például egy modell "Champion" verzióját a
prod
katalógusban.
Ha a munkaterület alapértelmezett katalógusa a Unity Catalog katalógusához van konfigurálva, az MLflow API-k használatával regisztrált modellek, például mlflow.<model-type>.log_model(..., registered_model_name)
mlflow.register_model(model_uri, name)
a Unity Catalogban alapértelmezés szerint regisztrálva vannak.
Ez a cikk a Unity Catalog felhasználói felületén és az API-ban található modellekre vonatkozó utasításokat tartalmazza.
A Modellregisztrációs adatbázis fogalmainak áttekintéséért tekintse meg az ml-életciklus MLflow használatával történő kezelését.
Követelmények
A Unity-katalógust engedélyezni kell a munkaterületen. Tekintse meg a Unity Catalog használatának első lépéseit unitykatalógus metaadattár létrehozásához, munkaterületen való engedélyezéséhez és katalógus létrehozásához. Ha a Unity Catalog nincs engedélyezve, továbbra is használhatja a klasszikus munkaterületmodell-beállításjegyzéket.
A munkaterületet egy olyan Unity Catalog-metaadattárhoz kell csatolni, amely támogatja a jogosultságöröklést. Ez a 2022. augusztus 25. után létrehozott összes metaadattárra igaz. Ha régebbi metaadattárban fut, a frissítéshez kövesse a dokumentumokat .
Hozzáféréssel kell rendelkeznie ahhoz, hogy parancsokat futtasson egy olyan fürtön, amelyhez hozzáférése van a Unity Cataloghoz.
Új regisztrált modellek létrehozásához szüksége van egy
CREATE_MODEL
sémára vonatkozó jogosultságra a séma ésUSE CATALOG
a hozzá tartozó katalógus jogosultságai mellettUSE SCHEMA
.CREATE_MODEL
egy új sémaszintű jogosultság, amelyet a Katalóguskezelő felhasználói felületén vagy az SQL GRANT parancson keresztül adhat meg az alábbiak szerint.GRANT CREATE_MODEL ON SCHEMA <schema-name> TO <principal>
Betanítási számítási feladatok frissítése a Unity Catalogra
Ez a szakasz útmutatást tartalmaz a meglévő betanítási számítási feladatok Unity Catalogra való frissítéséhez.
MLflow Python-ügyfél telepítése
A Unity Catalogban a Databricks Runtime 11.3 LTS és újabb verzióiban is használhat modelleket az MLflow Python-ügyfél legújabb verziójának telepítésével a jegyzetfüzetben az alábbi kód használatával.
%pip install --upgrade "mlflow-skinny[databricks]"
dbutils.library.restartPython()
MLflow-ügyfél konfigurálása modellek elérésére a Unity Katalógusban
Alapértelmezés szerint az MLflow Python-ügyfél modelleket hoz létre a Databricks-munkaterületi modellregisztrációs adatbázisban. A Unity Catalog modelljeire való frissítéshez konfigurálja az MLflow-ügyfelet:
import mlflow
mlflow.set_registry_uri("databricks-uc")
Feljegyzés
Ha a munkaterület alapértelmezett katalógusa a Unity Katalógusban található (nem hive_metastore
), és a Databricks Runtime 13.3 LTS vagy újabb verzióját (Databricks Runtime 15.0 vagy újabb verziót) használó fürtöt futtat az Azure China régióban, a modellek automatikusan létrejönnek és betölthetők az alapértelmezett katalógusból, konfiguráció nélkül. Más Databricks Runtime-verziók viselkedése nem változik. A viselkedés alól mentesül az a kis számú munkaterület, ahol az alapértelmezett katalógust 2024 januárja előtt konfigurálták egy katalógusba a Unity Katalógusban, és a munkaterületmodell-beállításjegyzéket 2024 januárja előtt használták.
Unity Catalog-kompatibilis modellek betanítása és regisztrálása
Engedélyek szükségesek: Új regisztrált modell létrehozásához szüksége van a CREATE_MODEL
USE SCHEMA
beágyazási sémán lévő jogosultságokra és USE CATALOG
jogosultságokra a beágyazási katalógusban. Ha új modellverziókat szeretne létrehozni egy regisztrált modell alatt, a regisztrált modell tulajdonosának kell lennie, és USE CATALOG
rendelkeznie USE SCHEMA
kell a modellt tartalmazó sémában és katalógusban lévő jogosultságokkal és jogosultságokkal.
Az ml-modell UC-beli verzióinak rendelkezniük kell a modell aláírással. Ha még nem naplózhatja az MLflow-modelleket aláírásokkal a modell betanítási számítási feladataiban, a következőket teheti:
- Használja a Databricks automatikus naplózását, amely automatikusan naplózza a modelleket aláírásokkal számos népszerű ML-keretrendszerhez. Tekintse meg a támogatott keretrendszereket az MLflow-dokumentációban.
- Az MLflow 2.5.0-s vagy újabb verziója esetén megadhat egy bemeneti példát a
mlflow.<flavor>.log_model
hívásban, és a modell aláírása automatikusan kikövetkeztethető. További információkért tekintse meg az MLflow dokumentációját.
Ezután adja meg a modell háromszintű nevét az MLflow API-knak az űrlapon <catalog>.<schema>.<model>
.
Az ebben a szakaszban szereplő példák a katalógus alatti sémában ml_team
hoznak létre és érnek el modelleket prod
.
Az ebben a szakaszban szereplő modellbetanítási példák létrehoznak egy új modellverziót, és regisztrálják azt a prod
katalógusban. prod
A katalógus használata nem feltétlenül jelenti azt, hogy a modellverzió az éles forgalmat szolgálja ki. A modellverzió katalógust, sémát és regisztrált modellt tartalmazó modellje a környezetét (prod
) és a kapcsolódó szabályozási szabályokat tükrözi (például a jogosultságok beállíthatók úgy, hogy csak a rendszergazdák törölhessenek a prod
katalógusból), de az üzembe helyezés állapotát nem. Az üzembe helyezés állapotának kezeléséhez használja a modell aliasát.
Modell regisztrálása a Unity-katalógusba automatikus kitöltéssel
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")
Modell regisztrálása a Unity Katalógusba automatikusan késleltetett aláírással
Az automatikusan elhalasztott aláírások támogatása az MLflow 2.5.0-s és újabb verziójában érhető el, és a Databricks Runtime 11.3 LTS ML-ben és újabb verziókban is támogatott. Ha automatikusan késleltetett aláírásokat szeretne használni, a következő kóddal telepítse a legújabb MLflow Python-ügyfelet a jegyzetfüzetbe:
%pip install --upgrade "mlflow-skinny[databricks]"
dbutils.library.restartPython()
Az alábbi kód egy automatikusan késleltetett aláírásra mutat példát.
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",
)
Modell adatsorának nyomon követése a Unity Katalógusban
Feljegyzés
A Unity Katalógusban a táblamodell-leválasztás támogatása az MLflow 2.11.0-s és újabb verziókban érhető el.
Amikor betanít egy modellt egy táblára a Unity Catalogban, nyomon követheti a modellnek a betanított és kiértékelt felsőbb rétegbeli adatkészlet(ek)hez való továbbtanítását és kiértékelését. Ehhez használja a mlflow.log_inputot. Ez menti a bemeneti tábla adatait a modellt létrehozó MLflow-futtatással. A rendszer automatikusan rögzíti az adatsorokat a funkciótár API-kkal naplózott modellekhez is. Lásd: Funkciótár-leállás megtekintése.
Amikor regisztrálja a modellt a Unity Catalogban, a rendszer automatikusan menti a termékinformációkat, és a Katalóguskezelőben a modellverzió felhasználói felületének Lineage lapján látható.
Az alábbi kód erre mutat egy példát.
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")
Modellek megtekintése a felhasználói felületen
Szükséges engedélyek: A regisztrált modell és modellverzióinak felhasználói felületen való megtekintéséhez jogosultságra van szüksége EXECUTE
a regisztrált modellen, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó sémán és katalóguson lévő jogosultságokra.
A Regisztrált modelleket és modellverziókat a Katalóguskezelővel tekintheti meg és kezelheti a Unity Katalógusban.
A modellek hozzáférésének szabályozása
A Unity Catalogban regisztrált modellekhez való hozzáférés szabályozásáról további információt a Unity Catalog-jogosultságok és a biztonságos objektumok című témakörben talál. A modellek katalógusok és sémák közötti rendszerezésével kapcsolatos ajánlott eljárásokért tekintse meg az adatok rendszerezését.
A modellengedélyeket programozott módon konfigurálhatja a Grants REST API használatával. A modellengedélyek konfigurálásakor állítsa be securable_type
a "FUNCTION"
REST API-kérelmeket. Például a regisztrált modellengedélyek frissítésére használható PATCH /api/2.1/unity-catalog/permissions/function/{full_name}
.
Modellek üzembe helyezése és rendszerezése aliasokkal és címkékkel
A modell aliasai és címkéi segítenek a modellek rendszerezésében és kezelésében a Unity Catalogban.
A modell aliasai lehetővé teszik, hogy egy regisztrált modell egy adott verziójára mutató, névvel ellátott táblát rendeljen hozzá. Aliasokkal jelezheti a modellverzió üzembehelyezési állapotát. Lefoglalhat például egy "Champion" aliast az éles környezetben lévő modellverzióhoz, és ezt az aliast az éles modellt használó számítási feladatokban célozhatja meg. Ezután frissítheti az éles modellt úgy, hogy a "Champion" aliast egy másik modellverzióra rendeli.
A címkék kulcs-érték párok, amelyeket a regisztrált modellekhez és modellverziókhoz társít, így függvény vagy állapot szerint címkézheti és kategorizálhatja őket. Alkalmazhat például egy kulcsot "task"
és értéket "question-answering"
tartalmazó címkét (a felhasználói task:question-answering
felületen mint) a kérdések megválaszolására szánt regisztrált modellekre. A modell verziószintjén megjelölheti az üzembe helyezés előtti ellenőrzés validation_status:pending
alatt álló verziókat, valamint azokat, amelyek a telepítéshez validation_status:approved
törlődnek.
Az aliasok és címkék használatáról az alábbi szakaszokban olvashat.
Aliasok beállítása és törlése modelleken
Szükséges engedélyek: A regisztrált modell tulajdonosa, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó séma és katalógus jogosultságai.
A Unity Katalógusban a modellek aliasainak beállítását, frissítését és eltávolítását a Catalog Explorer használatával végezheti el. A modell részletei lapon kezelheti a regisztrált modellek aliasát, és a modellverzió részletei lapon konfigurálhat aliasokat egy adott modellverzióhoz.
Az aliasok MLflow Client API használatával történő beállításához, frissítéséhez és törléséhez tekintse meg az alábbi példákat:
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")
Címkék beállítása és törlése modelleken
Szükséges engedélyek: A regisztrált modell tulajdonosa vagy APPLY_TAG
jogosultsága, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó séma és katalógus jogosultságai.
A címkék felhasználói felületen történő beállításáról és törléséről a Catalog Explorer címkék kezelése című szakaszában olvashat.
Ha címkéket szeretne beállítani és törölni az MLflow Client API használatával, tekintse meg az alábbi példákat:
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")
A regisztrált modell- és modellverzió-címkéknek egyaránt meg kell felelniük a platformszintű korlátozásoknak.
Az aliasokkal és az ügyfél API-kkal kapcsolatos további részletekért tekintse meg az MLflow API dokumentációját.
Modellek betöltése következtetéshez
Modellverziók felhasználása alias alapján következtetési számítási feladatok alapján
Szükséges engedélyek: EXECUTE
a regisztrált modell jogosultságai, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó séma és katalógus jogosultságai.
Kötegkövetkező számítási feladatokat írhat, amelyek alias alapján hivatkoznak a modellverzióra. Az alábbi kódrészlet például betöltődik, és a "Champion" modellverziót alkalmazza a kötegelt következtetéshez. Ha a "Champion" verzió frissítve van, hogy hivatkozzon egy új modellverzióra, a kötegelt következtetési számítási feladat automatikusan felveszi azt a következő végrehajtáskor. Ez lehetővé teszi, hogy leválasztsa a modelltelepítéseket a kötegelt következtetési számítási feladatokról.
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)
Üzembehelyezési munkafolyamatokat is írhat, hogy alias alapján szerezze be a modellverziót, és frissítse a modellt kiszolgáló végpontot az adott verzió kiszolgálásához a REST API-t kiszolgáló modell használatával:
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(...)
Modellverziók felhasználása verziószám alapján következtetési számítási feladatok alapján
A modellverziókat verziószám alapján is betöltheti:
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)
Modellek megosztása munkaterületek között
Modellek megosztása ugyanabban a régióban lévő felhasználókkal
Mindaddig, amíg rendelkezik a megfelelő jogosultságokkal, a Unity Katalógusban lévő modelleket bármely olyan munkaterületről elérheti, amely a modellt tartalmazó metaadattárhoz van csatolva. Egy fejlesztői munkaterület katalógusából például elérheti a prod
modelleket, hogy megkönnyítse az újonnan kifejlesztett modellek és az éles alapkonfiguráció összehasonlítását.
Ha más felhasználókkal szeretne együttműködni (írási jogosultságok megosztása) egy ön által létrehozott regisztrált modellen, meg kell adnia a modell tulajdonjogát egy olyan csoportnak, amely saját magát és azokat a felhasználókat tartalmazza, akivel együtt szeretne dolgozni. A közreműködőknek rendelkezniük kell a USE CATALOG
modellt tartalmazó katalógusban és USE SCHEMA
sémában szereplő jogosultságokkal és jogosultságokkal is. Részletekért tekintse meg a Unity Catalog jogosultságait és biztonságos objektumait .
Modellek megosztása másik régióban vagy fiókban lévő felhasználókkal
A modellek más régiókban vagy fiókokban lévő felhasználókkal való megosztásához használja a Delta Sharing Databricks-to-Databricks megosztási folyamatot. Lásd: Modellek hozzáadása megosztáshoz (szolgáltatóknak) és hozzáférés kérése a Databricks-to-Databricks modellben (címzettek számára). Címzettként, miután létrehozott egy katalógust egy megosztásból, a megosztott katalógusban lévő modelleket ugyanúgy érheti el, mint a Unity Catalog bármely más modelljét.
Modell vagy modellverzió ellátása megjegyzésekkel
Szükséges engedélyek: A regisztrált modell tulajdonosa, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó séma és katalógus jogosultságai.
Megjegyzések hozzáadásával információt biztosíthat egy modellel vagy modellverzióval kapcsolatban. Megadhatja például a probléma áttekintését, vagy információkat közölhet a használt módszertanról és algoritmusról.
Modell vagy modellverzió ellátása megjegyzésekkel a felhasználói felületen
A Katalóguskezelő dokumentumadatainak megtekintése Markdown-megjegyzések használatával.
Modell vagy modellverzió jegyzetelése az API használatával
A regisztrált modell leírásának frissítéséhez használja az MLflow-ügyfél API-metódusát update_registered_model()
:
client = MlflowClient()
client.update_registered_model(
name="<model-name>",
description="<description>"
)
A modellverzió leírásának frissítéséhez használja az MLflow-ügyfél API update_model_version()
metódusát:
client = MlflowClient()
client.update_model_version(
name="<model-name>",
version=<model-version>,
description="<description>"
)
Modell átnevezése (csak API)
Szükséges engedélyek: A regisztrált modell tulajdonosa, CREATE_MODEL
a regisztrált modellt tartalmazó séma jogosultsága, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó séma és katalógus jogosultságai.
A regisztrált modellek átnevezéséhez használja az MLflow-ügyfél API rename_registered_model()
metódusát:
client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")
Modell vagy modellverzió törlése
Szükséges engedélyek: A regisztrált modell tulajdonosa, valamint USE SCHEMA
USE CATALOG
a modellt tartalmazó séma és katalógus jogosultságai.
A katalóguskezelő felhasználói felületén vagy az API-val törölheti a regisztrált modelleket vagy modellverziókat egy regisztrált modellen belül.
Modellverzió vagy modell törlése az API-val
Figyelmeztetés
Ezt a műveletet nem vonhatja vissza. Egy modell törlésekor a Unity Catalog által tárolt összes modellösszetevő és a regisztrált modellhez társított összes metaadat törlődik.
Modellverzió törlése
A modellverziók törléséhez használja az MLflow-ügyfél API delete_model_version()
metódusát:
# 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)
Modell törlése
A modellek törléséhez használja az MLflow-ügyfél API delete_registered_model()
metódusát:
client = MlflowClient()
client.delete_registered_model(name="<model-name>")
Lista- és keresési modellek
Az MLflow search_registered_models() Python API-jával listázhatja a regisztrált modelleket a Unity Catalogban:
client=MlflowClient()
client.search_registered_models()
Megkereshet egy adott modellnevet is, és listázhatja annak verzióadatait a search_model_versions()
következő módszerrel:
from pprint import pprint
client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]
Példa
Ez a példa bemutatja, hogyan hozhat létre gépi tanulási alkalmazást a Unity Catalog modelljeinek használatával.
Példa a Unity Catalog modelljeire
Munkafolyamatok és modellek migrálása a Unity Catalogba
A Databricks a Unity Catalog modelljeinek használatát javasolja a jobb szabályozáshoz, a munkaterületek és környezetek közötti egyszerű megosztáshoz, valamint a rugalmasabb MLOps-munkafolyamatokhoz. A táblázat összehasonlítja a munkaterületmodell-beállításjegyzék és a Unity Katalógus képességeit.
Funkció | Munkaterületmodell-beállításjegyzék (örökölt) | Modellek a Unity Katalógusban (ajánlott) |
---|---|---|
Referenciamodell-verziók nevesített aliasok szerint | Modellregisztrációs fázisok: A modellverziók áthelyezése a négy rögzített fázis egyikébe, hogy az adott szakaszban hivatkozzon rájuk. Szakaszokat nem lehet átnevezni vagy hozzáadni. | Modellregisztrációs adatbázis aliasai: Legfeljebb 10 egyéni és hozzárendelhető névvel ellátott hivatkozást hozhat létre az egyes regisztrált modellek modellverzióira. |
Hozzáférés-vezérlésű környezetek létrehozása modellekhez | Modellregisztrációs fázisok: A modellverziók környezetének jelöléséhez használjon szakaszokat egy regisztrált modellen belül, a négy rögzített fázisból (Staging és Production ) csak kettőre vonatkozó hozzáférés-vezérléssel. |
Regisztrált modellek: Hozzon létre egy regisztrált modellt az MLOps-munkafolyamat minden környezetéhez, a Unity Catalog háromszintű névtereit és engedélyeit használva kifejezve a szabályozást. |
Modellek előléptetése környezetek között (modell üzembe helyezése) | transition_model_version_stage() Az MLflow Ügyfél API-val áthelyezhet egy modellverziót egy másik fázisba, ami akár az előző fázisra hivatkozó munkafolyamatokat is feltörheti. |
copy_model_version() Az MLflow Client API használatával másolja a modellverziót az egyik regisztrált modellből a másikba. |
Modellek elérése és megosztása munkaterületeken | Modellek manuális exportálása és importálása munkaterületek között, vagy kapcsolatok konfigurálása távoli modellregisztrációs adatbázisokhoz személyes hozzáférési jogkivonatok és munkaterület titkos kulcstartományok használatával. | Az ugyanazon fiókban lévő munkaterületek modelljeihez való hozzáférés a dobozon kívül. Nincs szükség konfigurációra. |
Engedélyek konfigurálása | Engedélyek beállítása a munkaterület szintjén. | Állítsa be az engedélyeket a fiók szintjén, amely konzisztens szabályozást alkalmaz a munkaterületeken. |
Modellek elérése a Databricks markplace-ban | Elérhető. | Töltsön be modelleket a Databricks piactérről a Unity Catalog metaadattárába, és érje el őket több munkaterületen. |
Az alábbi cikkek bemutatják, hogyan migrálhat munkafolyamatokat (modellbetanítási és kötegelt következtetési feladatokat) és modelleket a Munkaterületmodell-beállításjegyzékből a Unity Catalogba.
- Ml-munkafolyamatok frissítése célmodellekre a Unity Catalogban
- Modellek frissítése a Unity Catalogra
A Unity Catalog támogatásának korlátozásai
- A Unity Catalog modelljei nem támogatják a fázisokat. A Databricks a Unity Catalog háromszintű névterének használatát javasolja a modell környezetének kifejezéséhez, valamint aliasok használatával előlépteti a modelleket az üzembe helyezéshez. Részletekért tekintse meg a frissítési útmutatót .
- A Webhookok nem támogatottak a Unity Catalog modelljeihez. A javasolt alternatívákat a frissítési útmutatóban találja.
- Egyes keresési API-mezők és operátorok nem támogatottak a Unity Catalog modelljeihez. Ez a keresési API-k támogatott szűrőkkel való meghívásával és az eredmények vizsgálatával csökkenthető. Az alábbiakban néhány példát mutatunk be:
- A
order_by
paraméter nem támogatott az search_model_versions vagy search_registered_models ügyfél API-kban. - A címkealapú szűrők (
tags.mykey = 'myvalue'
) nem támogatottak éssearch_registered_models
nem is támogatottaksearch_model_versions
. - A pontos egyenlőségen kívül más operátorok (például
LIKE
,ILIKE
,!=
) nem támogatottak vagysearch_registered_models
nem támogatottaksearch_model_versions
. - Regisztrált modellek név szerinti keresése (például
MlflowClient().search_registered_models(filter_string="name='main.default.mymodel'")
nem támogatott). Ha név alapján szeretne lekérni egy adott regisztrált modellt, használja a get_registered_model.
- A
- A Unity Catalog nem támogatja az e-mail-értesítéseket és a megjegyzésekkel kapcsolatos vitafórumokat a regisztrált modelleken és modellverziókon.
- A tevékenységnapló nem támogatott a Unity Catalog modelljeinél. A Unity Catalog modelljeinek tevékenységeit azonban naplókkal követheti nyomon.
search_registered_models
elavult eredményeket adhat vissza a Delta Sharing használatával megosztott modellek esetében. A legújabb eredmények biztosításához használja a Databricks parancssori felületét vagy az SDK-t a sémák modelljeinek listázásához.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: