Självstudie: Distribuera och fråga en anpassad modell
Den här artikeln innehåller de grundläggande stegen för att distribuera och köra frågor mot en anpassad modell, som är en traditionell ML-modell, med hjälp av Mosaic AI Model Serving. Modellen måste vara registrerad i Unity Catalog eller i arbetsytemodellregistret.
Mer information om hur du betjänar och distribuerar generativa AI-modeller i stället finns i följande artiklar:
Steg 1: Logga modellen
Det finns olika sätt att logga din modell för modellservering:
Loggningsteknik | beskrivning |
---|---|
Automatisk loggning | Detta aktiveras automatiskt när du använder Databricks Runtime för maskininlärning. Det är det enklaste sättet men ger dig mindre kontroll. |
Loggning med MLflows inbyggda smaker | Du kan logga modellen manuellt med MLflows inbyggda modellsmaker. |
Anpassad loggning med pyfunc |
Använd detta om du har en anpassad modell eller om du behöver extra steg före eller efter slutsatsdragning. |
I följande exempel visas hur du loggar din MLflow-modell med hjälp av transformer
och anger parameters du behöver för din modell.
with mlflow.start_run():
model_info = mlflow.transformers.log_model(
transformers_model=text_generation_pipeline,
artifact_path="my_sentence_generator",
inference_config=inference_config,
registered_model_name='gpt2',
input_example=input_example,
signature=signature
)
När modellen har loggats kontrollerar du att din modell är registrerad i antingen Unity Catalog eller MLflow Model Registry.
Steg 2: Skapa slutpunkt med hjälp av användargränssnittet för servering
När din registrerade modell har loggats och du är redo att hantera den kan du skapa en modell som betjänar slutpunkten med hjälp av användargränssnittet för servering .
Klicka på Servering i sidopanelen för att visa användargränssnittet för servering .
Klicka på Skapa serverdelsslutpunkt.
Ange ett namn för slutpunkten i fältet Namn .
I avsnittet Serverade entiteter
- Klicka i fältet Entitet för att öppna formuläret Select betjänad entitet.
- Select vilken typ av modell du vill hantera. Formuläret uppdateras dynamiskt baserat på ditt val.
- Select vilken modell och modellversion du vill tillhandahålla.
- Select procentandelen trafik som ska dirigeras till din betjänade modell.
- Select vilken storleksberäkning som ska användas.
- Under rubriken Beräkningsutskalning, select storleken på den beräkningsskalning som motsvarar antalet begäranden som denna hanterade modell kan bearbeta samtidigt. Det här talet ska vara ungefär lika med körningstiden för QPS x-modellen.
- Tillgängliga storlekar är Små för 0–4 begäranden, Mellan 8–16 begäranden och Stor för 16–64 begäranden.
- Ange om slutpunkten ska skalas till noll när den inte används.
Klicka på Skapa. Sidan Serveringsslutpunkter visas med tillståndet Serveringsslutpunkt som visas som Inte redo.
Om du föredrar att skapa en slutpunkt programmatiskt med Databricks-server-API:et kan du läsa Skapa anpassade modell som betjänar slutpunkter.
Steg 3: Fråga slutpunkten
Det enklaste och snabbaste sättet att testa och skicka bedömningsbegäranden till din betjänade modell är att använda användargränssnittet för servering .
På sidan tjänstslutpunkt, selectfrågeslutpunkt.
Insert modellens ingående data i JSON-format och klicka på Skicka förfrågan. Om modellen har loggats med ett indataexempel klickar du på Visa exempel för att läsa in indataexemplet.
{ "inputs" : ["Hello, I'm a language model,"], "params" : {"max_new_tokens": 10, "temperature": 1} }
Om du vill skicka bedömningsbegäranden skapar du en JSON med en av de nycklar som stöds och ett JSON-objekt som motsvarar indataformatet. Se Frågeserverslutpunkter för anpassade modeller för format som stöds och vägledning om hur du skickar bedömningsbegäranden med hjälp av API:et.
Om du planerar att komma åt serverdelsslutpunkten utanför användargränssnittet för Azure Databricks-servering behöver du en DATABRICKS_API_TOKEN
.
Viktigt!
Som bästa säkerhet för produktionsscenarier rekommenderar Databricks att du använder OAuth-token från dator till dator för autentisering under produktion.
För testning och utveckling rekommenderar Databricks att du använder en personlig åtkomsttoken som tillhör tjänstens huvudnamn i stället för arbetsyteanvändare. Information om hur du skapar token för tjänstens huvudnamn finns i Hantera token för tjänstens huvudnamn.
Exempelnotebook-filer
Se följande notebook-fil för att hantera en MLflow-modell transformers
med modellservering.
Distribuera en notebook-fil för huggande ansiktsmodell transformers
Se följande notebook-fil för att hantera en MLflow-modell pyfunc
med modellservering. Mer information om hur du anpassar dina modelldistributioner finns i Distribuera Python-kod med modellservering.