Dela via


Migrera arbetsflöden och modeller till Unity Catalog

Databricks rekommenderar att du använder Modeller i Unity Catalog för bättre styrning, enkel delning mellan arbetsytor och miljöer och mer flexibla MLOps-arbetsflöden. Den här sidan beskriver hur du migrerar modeller i arbetsytemodellregistret till Unity Catalog.

Introduktion till modeller i Unity Catalog

Modeller i Unity Catalog utökar fördelarna med Unity Catalog till ML-modeller, inklusive centraliserad åtkomstkontroll, granskning, ursprung och modelldelning och identifiering mellan arbetsytor. Modeller i Unity Catalog ger också större flexibilitet när det gäller att hantera modelllivscykeln.

När du migrerar modeller till Unity Catalog utförs vissa modelllivscykelsteg på olika sätt:

Steg 1. Skapa en modell i Unity Catalog

Se Träna och registrera Unity Catalog-kompatibla modeller.

Steg 2. Tilldela Unity Catalog-behörigheter till modellen

Unity Catalog har en enhetlig behörighetsmodell. Information om hur du tilldelar behörigheter till modeller i Unity Catalog finns i Kontrollera åtkomst till modeller.

I följande tabell visas relationen mellan behörigheter i arbetsytans modellregister och behörigheter i Unity Catalog. Förutom de behörigheter som visas i tabellen kräver alla åtgärder även USE CATALOG och USE SCHEMA behörighet.

Arbetsytemodellregister Unity-katalog Noteringar
Kan läsa UTFÖRA
Kan redigera SKAPA MODELLVERSION + TILLÄMPA TAGG Användare med dessa behörigheter kan inte redigera beskrivningen av modeller eller modellversioner.
Kan hantera mellanlagringsversioner TILLÄMPA TAGG + implementeringsjobb I Unity Catalog används distributionsjobb för att styra förflyttningen av modellversioner via livscykelsteg. Mer information finns i MLflow 3-distributionsjobb.
Kan hantera produktionsversioner TILLÄMPA TAGG + distributionsjobb I Unity Catalog används distributionsjobb för att styra förflyttningen av modellversioner genom livscykelsteg. Mer information finns i MLflow 3-distributionsjobb.
Kan hantera FÖRVALTA

Steg 3. Kopiera modellversioner

Om du vill kopiera modellversioner använder du copy_model_version() med MLflow-klienten >= 3.4.0.

import mlflow
from mlflow import MLflowClient

# Registry must be set to workspace registry
mlflow.set_registry_uri("databricks")
client = MlflowClient(registry_uri="databricks")

src_model_uri = f"models:/my_wmr_model/1"
uc_migrated_copy = client.copy_model_version(
   src_model_uri, "mycatalog.myschema.my_uc_model"
)

Om målmodellen inte finns i Unity Catalog skapas den av det här API-anropet.

Modeller i Unity Catalog kräver en signatur. Om arbetsytemodellversionen inte har någon signatur rekommenderar Databricks att du skapar en genom att följa anvisningarna i MLflow-dokumentationen. Ett annat alternativ är att använda miljövariabeln MLFLOW_SKIP_SIGNATURE_CHECK_FOR_UC_REGISTRY_MIGRATION. Den här miljövariabeln är endast tillgänglig när du använder copy_model_version() och kräver MLflow-version 3.4.0 eller senare. När den här miljövariabeln är inställd på "true"krävs ingen signatur.

Ett skript som du kan använda för att migrera alla modellversioner av en modell i ditt arbetsytemodellregister till en unity-målkatalogmodell finns i Migrera modellversioner från Arbetsytemodellregister till Unity Catalog.

Steg 4. Migrera modellmetadata

I det här avsnittet beskrivs hur du mappar metadata på arbetsytans registernivå till Unity Catalog-modell- och modellversionsmetadata, till exempel steg, taggar och beskrivningar.

Stadier

Arbetsytemodellregistret använde begreppet "faser", till exempel Staging och Production, för att spåra modellens livscykel. Du kan söka efter eller anropa modeller efter steg. I Unity Catalog har faser ersatts av alias för att anropa en modell och av taggar för etiketteringsmodeller.

För enkel migrering av arbetsytemodellregistersteg kan du direkt använda "Produktion" och "Mellanlagring" eller andra aliasnamn som du föredrar. I arbetsytans modellregister kan flera modellversioner vara i samma fas och den senaste versionen anropades när du refererade till en modellversion. I Unity Catalog tilldelas ett alias till en unik modellversion.

För att enkelt migrera scenetiketter använder du taggar för att märka modellversioner som "Produktion", "Förproduktion" eller "Arkiverad". Du kan också använda andra etiketter. Mer information om taggar finns i Taggar.

I arbetsytans modellregister spårades livscykeln för en modellversion efter steg och mänskligt godkännande krävdes för en övergångsbegäran. I Unity Catalog hanteras livscykeln för en modellversion av ett distributionsjobb. Varje uppgift i distributionsjobbet motsvarar en "fas". Med distributionsjobb kan du anpassa modellens livscykel och hantera mer komplicerade arbetsflöden än arbetsytans modellregister. Distributionsjobben tillåter fortfarande mänskliga godkännanden. Mer information finns i MLflow 3-distributionsjobb.

Etiketter

I Unity Catalog skapar du taggar för modellen eller modellversionen.

Knappen

Om du vill söka efter en modell efter tagg i Katalogutforskaren skriver du nyckeln eller värdet i sökrutan:

Sök efter modeller efter tagg i enhetskatalogens modellgränssnitt.

I Katalogutforskaren kan du bara använda taggar för att söka efter modeller, inte modellversioner. MLflow-klienten stöder inte sökning efter modeller efter Unity Catalog-taggar. Unity Catalog tillåter högst 50 taggar per objekt.

Beskrivning och kommentarer

Du kan lägga till beskrivningar i modellen och modellversionen. Unity Catalog innehåller också alternativet för en AI-genererad beskrivning av modellen.

Lägg till en modell- eller modellversionsbeskrivning i Unity Catalog.

Modeller i Unity Catalog har ingen motsvarande plats för den information som visas i avsnittet Aktiviteter på modellversionssidan i arbetsytans modellregister. Om det finns information i det avsnittet som du vill överföra med modellversionen kopierar du den till avsnittet Beskrivning på modellversionssidan i Unity Catalog.

Steg 5. Uppdatera alla arbetsbelastningar och slutpunkter

När du har migrerat modeller och modellversioner till Unity Catalog uppdaterar du alla arbeten, anteckningsböcker och andra arbetsuppgifter, inklusive modellbetjäningsslutpunkter, för att använda versionerna i Unity Catalog.

Steg 6. (Valfritt) Skapa ett distributionsjobb

Ett distributionsjobb utlöses automatiskt när en ny modellversion skapas och automatiserar arbetsflödet för utvärdering, godkännande och distribution. Mer information finns i MLflow 3-distributionsjobb.

Du kan ange att meddelanden ska utlösas för händelser som att skapa eller godkänna en modellversion. Se Lägg till meddelanden på ett jobb.

Om du har konfigurerat e-postaviseringar för händelser i arbetsytans modellregister migrerar du dem på följande sätt:

  • Ny modellversion skapades: Konfigurera ett distributionsjobb som utlöses när en ny modellversion skapas och ett e-postmeddelande när jobbet utlöses.
  • Begäran om fasövergång: Begäranden om fasövergång motsvarar godkännandeuppgifter. Ange ett e-postmeddelande om att godkännandeaktiviteten lyckades eller misslyckades.
  • Fasövergångar: Fasövergångar motsvarar jobbuppgifter. Ange ett e-postmeddelande om att uppgiften lyckades eller misslyckades.
  • Nya kommentarer: Kommentarer stöds inte i Unity Catalog.

Mer information

Sidorna som länkas nedan beskriver hur du migrerar arbetsflöden (modelltränings- och batchinferensjobb) från Arbetsytemodellregistret till Unity Catalog.