Share via


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, installerad i Unity Catalog eller registrerad i arbetsytemodellregistret med hjälp av Azure Databricks-modellservern.

Följande är guider som beskriver hur du betjänar och distribuerar en grundmodell för generativ AI och LLM:

Steg 1: Logga modellen till modellregistret

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 den transformer smak och anger parametrar som 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 MLflow Unity-katalogen eller modellregistret.

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 .

  1. Klicka på Servering i sidopanelen för att visa användargränssnittet för servering .

  2. Klicka på Skapa serverdelsslutpunkt.

    Modellvisningsfönstret i Databricks-användargränssnittet

  3. Ange ett namn för slutpunkten i fältet Namn .

  4. I avsnittet Serverade entiteter

    1. Klicka i fältet Entitet för att öppna formuläret Välj hanterad entitet .
    2. Välj den typ av modell som du vill hantera. Formuläret uppdateras dynamiskt baserat på ditt val.
    3. Välj vilken modell- och modellversion du vill hantera.
    4. Välj procentandelen trafik som ska dirigeras till din betjänade modell.
    5. Välj vilken storleksberäkning som ska användas. Du kan använda CPU- eller GPU-beräkningar för dina arbetsbelastningar. Stöd för modell som betjänar GPU finns i offentlig förhandsversion. Mer information om tillgängliga GPU-beräkningar finns i GPU-arbetsbelastningstyper .
    6. Under Beräkna utskalning väljer du storleken på beräkningsskalningen som motsvarar antalet begäranden som den här hanterade modellen kan bearbeta samtidigt. Det här talet ska vara ungefär lika med körningstiden för QPS x-modellen.
      1. Tillgängliga storlekar är Små för 0–4 begäranden, Mellan 8–16 begäranden och Stor för 16–64 begäranden.
    7. Ange om slutpunkten ska skalas till noll när den inte används.
  5. Klicka på Skapa. Sidan Serveringsslutpunkter visas med tillståndet Serveringsslutpunkt som visas som Inte redo.

    Skapa en modell som betjänar slutpunkten

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 .

  1. På sidan Serveringsslutpunkt väljer du Frågeslutpunkt.

  2. Infoga modellens indata i JSON-format och klicka på Skicka begäran. 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

Hämta notebook-fil

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.

Distribuera en MLflow-modellanteckningsbok pyfunc

Hämta notebook-fil