Migrera till modellbetjäning
Den här artikeln visar hur du aktiverar modellservering på din arbetsyta och växlar dina modeller till Mosaic AI Model Serving-upplevelsen som bygger på serverlös beräkning.
Krav
- Registrerad modell i MLflow Model Registry.
- Behörigheter för de registrerade modellerna enligt beskrivningen i guiden för åtkomstkontroll.
- Aktivera serverlös beräkning på arbetsytan.
Betydande ändringar
- I Modellservern skiljer sig formatet för begäran till slutpunkten och svaret från slutpunkten något från äldre MLflow Model Serving. Mer information om det nya formatprotokollet finns i Bedömning av en modellslutpunkt .
- I Modellservern innehåller
serving-endpoints
slutpunkts-URL:en i ställetmodel
för . - Modellservern innehåller fullständigt stöd för att hantera resurser med API-arbetsflöden.
- Modellservering är produktionsklar och backas upp av Azure Databricks SLA.
Migrera äldre MLflow-modell som betjänar serverade modeller till modellservering
Du kan skapa en modellserverslutpunkt och flexibel övergångsmodell som betjänar arbetsflöden utan att inaktivera äldre MLflow-modellservering.
Följande steg visar hur du gör detta med användargränssnittet. För varje modell där du har äldre MLflow-modellserver aktiverad:
- Registrera din modell i Unity Catalog.
- Navigera till Serveringsslutpunkter i sidofältet på din maskininlärningsarbetsyta.
- Följ arbetsflödet som beskrivs i Skapa anpassade modell som betjänar slutpunkter om hur du skapar en serverslutpunkt med din modell.
- Övergå till att använda den nya URL:en som tillhandahålls av serverdelsslutpunkten för att fråga modellen, tillsammans med det nya bedömningsformatet.
- När dina modeller övergår kan du navigera till Modeller i sidofältet på din maskininlärningsarbetsyta.
- Välj den modell som du vill inaktivera äldre MLflow-modellservern för.
- På fliken Tjänst klickar du på Stoppa.
- Ett meddelande verkar bekräfta. Välj Sluta servera.
Migrera distribuerade modellversioner till Modellservering
I tidigare versioner av funktionen Modellservering skapades serverdelspunkten baserat på fasen i den registrerade modellversionen: Staging
eller Production
. Om du vill migrera dina betjänade modeller från den upplevelsen kan du replikera det beteendet i den nya modellserveringsupplevelsen.
Det här avsnittet visar hur du skapar separata modellserverslutpunkter för Staging
modellversioner och Production
modellversioner. Följande steg visar hur du gör detta med API:et för serverslutpunkter för var och en av dina hanterade modeller.
I exemplet har det registrerade modellnamnet modelA
version 1 i modellsteget Production
och version 2 i modellsteget Staging
.
Skapa två slutpunkter för din registrerade modell, en för
Staging
modellversioner och en annan förProduction
modellversioner.För
Staging
modellversioner:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
För
Production
modellversioner:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Kontrollera slutpunkternas status.
För mellanlagringsslutpunkt:
GET /api/2.0/serving-endpoints/modelA-Staging
För produktionsslutpunkt:
GET /api/2.0/serving-endpoints/modelA-Production
När slutpunkterna är klara frågar du slutpunkten med hjälp av:
För mellanlagringsslutpunkt:
POST /serving-endpoints/modelA-Staging/invocations
För produktionsslutpunkt:
POST /serving-endpoints/modelA-Production/invocations
Uppdatera slutpunkten baserat på modellversionsövergångar.
I scenariot där en ny modellversion 3 skapas kan du låta modellversion 2 övergå till
Production
, medan modellversion 3 kan övergå tillStaging
och modellversion 1 ärArchived
. Dessa ändringar kan återspeglas i separata modell som betjänar slutpunkter på följande sätt:För
Staging
-slutpunkten uppdaterar du slutpunkten för att använda den nya modellversionen iStaging
.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
För slutpunkten
Production
uppdaterar du slutpunkten för att använda den nya modellversionen iProduction
.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Migrera MosaicML-slutsatsdragningsarbetsflöden till modellservering
Det här avsnittet innehåller vägledning om hur du migrerar dina MosaicML-slutsatsdragningsdistributioner till Mosaic AI Model Serving och innehåller ett notebook-exempel.
I följande tabell sammanfattas pariteten mellan MosaicML-slutsatsdragning och modell som betjänar Azure Databricks.
MosaicML-slutsatsdragning | Mosaic AI-modellservering |
---|---|
create_inference_deployment | Skapa en modell som betjänar slutpunkten |
update_inference_deployment | Uppdatera en modell som betjänar slutpunkten |
delete_inference_deployment | Ta bort en modell som betjänar slutpunkten |
get_inference_deployment | Hämta status för en modell som betjänar slutpunkten |
Följande notebook-fil innehåller ett guidat exempel på migrering av en llama-13b
modell från MosaicML till Mosaic AI Model Serving.