Dela via


Slutsatsdragningstabeller för övervakning och felsökning av modeller

Viktigt!

Den här funktionen finns i offentlig förhandsversion.

Viktigt!

Den här artikeln beskriver den äldre erfarenhet av slutsatsdragningstabeller som endast är relevanta för vissa etablerade dataflöden och anpassade modellslutpunkter. Den här upplevelsen rekommenderas inte. Databricks rekommenderar AI Gateway-aktiverade slutsatsdragningstabeller för dess tillgänglighet för anpassad modell, grundmodell och agent som betjänar slutpunkter.

Anteckning

Om du hanterar ett gen-AI-program i Databricks kan du använda Databricks gen AI-övervakning för att automatiskt konfigurera slutsatsdragningstabeller och spåra både drifts- och kvalitetsmått för ditt program.

I den här artikeln beskrivs slutsatsdragningstabeller för övervakning av hanterade modeller. Följande diagram visar ett typiskt arbetsflöde med slutsatsdragningstabeller. Slutsatsdragningstabellen samlar automatiskt in inkommande begäranden och utgående svar för en modell som betjänar slutpunkten och loggar dem som en Delta-tabell i Unity Catalog. Du kan använda data i den här tabellen för att övervaka, felsöka och förbättra ML-modeller.

Arbetsflöde för analystabeller

Vad är slutsatsdragningstabeller?

Övervakning av prestanda för modeller i produktionsarbetsflöden är en viktig aspekt av livscykeln för AI- och ML-modellen. Slutsatsdragningstabeller förenklar övervakning och diagnostik för modeller genom att kontinuerligt logga indata och svar för begäranden (förutsägelser) från Mosaic AI Model Serving-slutpunkter och spara dem i en Delta-tabell i Unity Catalog. Du kan sedan använda alla funktioner i Databricks-plattformen, till exempel Databricks SQL-frågor, notebook-filer och Lakehouse Monitoring för att övervaka, felsöka och optimera dina modeller.

Du kan aktivera slutsatsdragningstabeller på en befintlig eller nyskapad modell som betjänar slutpunkten, och begäranden till slutpunkten loggas sedan automatiskt till en tabell i UC.

Några vanliga program för slutsatsdragningstabeller är följande:

  • Övervaka data och modellkvalitet. Du kan kontinuerligt övervaka modellens prestanda och dataavvikelse med hjälp av Lakehouse Monitoring. Lakehouse Monitoring genererar automatiskt översiktspaneler för data- och modellkvalitet som du kan dela med intressenter. Dessutom kan du aktivera aviseringar för att veta när du behöver träna om din modell baserat på förändringar i inkommande data eller minskningar av modellprestanda.
  • Felsöka produktionsproblem. Slutsatsdragningstabeller loggar data som HTTP-statuskoder, modellkörningstider och JSON-kod för begäran och svar. Du kan använda dessa prestandadata i felsökningssyfte. Du kan också använda historiska data i slutsatsdragningstabeller för att jämföra modellprestanda på historiska begäranden.
  • Skapa en träningskorpus. Genom att ansluta inferenstabeller med grundsanningsetiketter kan du skapa en träningskorpus som du kan använda för att träna om, finjustera och förbättra din modell. Med Lakeflow-jobb kan du konfigurera en kontinuerlig feedbackloop och automatisera omträningen.

krav

  • Unity Catalog måste vara aktiverat på arbetsytan.
  • Både skaparen av slutpunkten och modifieraren måste ha behörigheten Kan hantera på slutpunkten. Se även Åtkomstkontrollistor.
  • Både skaparen av slutpunkten och modifieraren måste ha följande behörigheter i Unity Catalog:
    • USE CATALOG behörigheter för den angivna katalogen.
    • USE SCHEMA behörigheter för det angivna schemat.
    • CREATE TABLE behörigheter i schemat.

Aktivera och inaktivera slutsatsdragningstabeller

Det här avsnittet visar hur du aktiverar eller inaktiverar slutsatsdragningstabeller med hjälp av Databricks-användargränssnittet. Du kan också använda API:et. Se Aktivera slutsatsdragningstabeller för modellserverslutpunkter med hjälp av API:et för instruktioner.

Ägaren till slutsatsdragningstabellerna är den användare som skapade slutpunkten. Alla åtkomstkontrollistor (ACL: er) i tabellen följer standardbehörigheterna för Unity-katalogen och kan ändras av tabellägaren.

Varning

Slutsatsdragningstabellen kan skadas om du gör något av följande:

  • Ändra tabellschemat.
  • Ändra tabellnamnet.
  • Ta bort tabellen.
  • Förlora behörigheter till Unity Catalog-katalogen eller schemat.

I det här fallet visar auto_capture_config av slutpunktsstatusen ett FAILED tillstånd för nyttolasttabellen. Om detta händer måste du skapa en ny slutpunkt för att fortsätta använda slutsatsdragningstabeller.

Använd följande steg för att aktivera slutsatsdragningstabeller när slutpunkten skapas:

  1. Klicka på Servering i Databricks Mosaic AI-användargränssnittet.

  2. Klicka på Skapa serverdelsslutpunkt.

  3. Välj Aktivera slutsatsdragningstabeller.

  4. I de nedrullningsbara menyerna väljer du önskad katalog och det schema där du vill att tabellen ska finnas.

    katalog och schema för slutsatsdragningstabell

  5. Standardtabellnamnet är <catalog>.<schema>.<endpoint-name>_payload. Om du vill kan du ange ett anpassat tabellprefix.

  6. Klicka på Skapa serverdelsslutpunkt.

Du kan också aktivera slutsatsdragningstabeller på en befintlig slutpunkt. Så här redigerar du en befintlig slutpunktskonfiguration:

  1. Gå till slutpunktssidan.
  2. Klicka på Redigera konfiguration.
  3. Följ de föregående anvisningarna och börja med steg 3.
  4. När du är klar klickar du på Uppdatera serverändpunkt.

Följ dessa instruktioner för att inaktivera slutsatsdragningstabeller:

  1. Gå till slutpunktssidan.
  2. Klicka på Redigera konfiguration.
  3. Klicka på Aktivera slutsatsdragningstabell för att ta bort bockmarkeringen.
  4. När du är nöjd med slutpunktsspecifikationerna klickar du på Uppdatera.

Arbetsflöde: Övervaka modellprestanda med hjälp av slutsatsdragningstabeller

Följ dessa steg för att övervaka modellprestanda med hjälp av slutsatsdragningstabeller:

  1. Aktivera slutsatsdragningstabeller på slutpunkten, antingen när slutpunkten skapas eller genom att uppdatera den efteråt.
  2. Schemalägg ett arbetsflöde för att bearbeta JSON-nyttolaster i slutsatsdragningstabellen genom att packa upp dem enligt schemat för slutpunkten.
  3. (Valfritt) Anslut de uppackade begärandena och svaren med korrekta etiketter så att modellens kvalitetsmått kan beräknas.
  4. Skapa en övervakare över den resulterande Delta-tabellen och uppdatera måtten.

Startanteckningsböckerna implementerar det här arbetsflödet.

Startanteckningsbok för övervakning av en slutsatstabell

Följande notebook-fil implementerar stegen ovan för att packa upp begäranden från en inferenstabell för Lakehouse Monitoring. Notebook-filen kan köras på begäran eller enligt ett återkommande schema med Lakeflow Jobs.

Slutsatsdragningstabell Lakehouse Monitoring– startanteckningsbok

Hämta anteckningsblock

Introduktionsanteckningsbok för övervakning av textkvalitet från slutpunkter som betjänar LLM-modeller

Följande notebook packar upp begäranden från en slutsatstabell, beräknar en uppsättning mått för textutvärdering (till exempel läsbarhet och toxicitet) och möjliggör övervakning över dessa mått. Notebook-filen kan köras på begäran eller enligt ett återkommande schema med Lakeflow Jobs.

LLM-slutsatsdragningstabell Lakehouse Monitoring starter notebook

Hämta anteckningsblock

Fråga efter och analysera resultat i slutsatsdragningstabellen

När dina distribuerade modeller är klara loggas alla begäranden som görs till dina modeller automatiskt i inferenstabellen, tillsammans med svaren. Du kan visa tabellen i användargränssnittet, köra frågor mot tabellen från DBSQL eller en notebook-fil eller köra frågor mot tabellen med hjälp av REST-API:et.

Så här visar du tabellen i användargränssnittet: På slutpunktssidan klickar du på namnet på slutsatsdragningstabellen för att öppna tabellen i Katalogutforskaren.

länk till inferenstabellens namn på slutpunktssidan

Så här frågar du tabellen från DBSQL eller en Databricks-notebook-fil: Du kan köra kod som liknar följande för att köra frågor mot slutsatsdragningstabellen.

SELECT * FROM <catalog>.<schema>.<payload_table>

Om du har aktiverat slutsatsdragningstabeller med hjälp av användargränssnittet är payload_table det tabellnamn som du tilldelade när du skapade slutpunkten. Om du har aktiverat slutsatsdragningstabeller med hjälp av API:et rapporteras payload_table i avsnittet state i auto_capture_config svar. Ett exempel finns i Aktivera slutsatsdragningstabeller på modell som betjänar slutpunkter med hjälp av API:et.

Prestandaanteckning

När du har anropat slutpunkten kan du se anropet loggat till din slutsatsdragningstabell inom en timme efter att en bedömningsbegäran har skickats. Dessutom garanterar Azure Databricks att loggleveransen sker minst en gång, så det är möjligt, även om det är osannolikt, att dubblettloggar skickas.

tabellschema för Unity Catalog-slutsatsdragning

Varje begäran och svar som loggas till en slutsatstabell skrivs till en Delta-tabell med följande schema:

Anteckning

Om du anropar slutpunkten med en batch med indata loggas hela batchen som en rad.

Kolumnnamn beskrivning Typ
databricks_request_id En Azure Databricks-genererad begärandeidentifierare som är kopplad till alla modelltjänstbegäranden. sträng
client_request_id En valfri klientgenererad begärandeidentifierare som kan anges i den modell som betjänar begärandetexten. För mer information, se Angeclient_request_id. sträng
date UTC-datumet då modellserverns begäran togs emot. DATUM
timestamp_ms Tidsstämpeln i epokens millisekunder när modelltjänstanropet togs emot. LÅNG
status_code HTTP-statuskoden som returnerades från modellen. INT
sampling_fraction Samplingsfraktionen som användes i händelse av att begäran var nedsamplad. Det här värdet är mellan 0 och 1, där 1 representerar att 100% inkommande begäranden inkluderades. Dubbel
execution_time_ms Utförandetiden i millisekunder för vilken modellen genomförde slutsatsdragning. Detta inkluderar inte nätverksfördröjningar och representerar bara den tid det tog för modellen att generera förutsägelser. LÅNG
request JSON-innehållet i den råa begäran som skickades till slutpunkten där modellen betjänas. sträng
response JSON-innehållet för råsvaret som returnerades av modelltjänst-slutpunkten. sträng
request_metadata En karta över metadata som är relaterade till den modell som betjänar slutpunkten som är associerad med begäran. Den här kartan innehåller slutpunktsnamnet, modellnamnet och modellversionen som används för slutpunkten. KARTA<STRÄNG, STRÄNG>

Specificera client_request_id

Fältet client_request_id är ett valfritt värde som användaren kan ange i den modell som betjänar begärandetexten. Detta gör att användaren kan ange sin egen identifierare för en begäran som visas i den slutliga slutsatsdragningstabellen under client_request_id och kan användas för att länka din begäran till andra tabeller som använder client_request_id, till exempel för att sammanlänka med sanningens etikett. Om du vill ange en client_request_idtar du med den som en nyckel på den översta nivån i nyttolasten för begäran. Om inget client_request_id anges visas värdet som null på raden som motsvarar begäran.

{
  "client_request_id": "<user-provided-id>",
  "dataframe_records": [
    {
      "sepal length (cm)": 5.1,
      "sepal width (cm)": 3.5,
      "petal length (cm)": 1.4,
      "petal width (cm)": 0.2
    },
    {
      "sepal length (cm)": 4.9,
      "sepal width (cm)": 3,
      "petal length (cm)": 1.4,
      "petal width (cm)": 0.2
    },
    {
      "sepal length (cm)": 4.7,
      "sepal width (cm)": 3.2,
      "petal length (cm)": 1.3,
      "petal width (cm)": 0.2
    }
  ]
}

client_request_id kan senare användas för sammanfogning av grundsanningsetiketter om det finns andra tabeller som har etiketter associerade med client_request_id.

Begränsningar

  • Kundhanterade nycklar stöds inte.
  • För slutpunkter som är värdar för grundmodeller stöds slutsatsdragningstabeller endast för etablerade dataflödesarbetsbelastningar .
  • Azure Firewall kan leda till att det inte går att skapa deltatabellen i Unity Catalog, så stöds inte som standard. Kontakta ditt Databricks-kontoteam för att aktivera det.
  • När slutsatsdragningstabeller är aktiverade är gränsen för den totala maximala samtidigheten för alla betjänade modeller i en enda slutpunkt 128. Kontakta ditt Azure Databricks-kontoteam för att begära en ökning till den här gränsen.
  • Om en slutsatstabell innehåller fler än 500 000 filer loggas inga ytterligare data. Om du vill undvika att överskrida den här gränsen kör du OPTIMIZE eller konfigurerar kvarhållning i tabellen genom att ta bort äldre data. Om du vill kontrollera antalet filer i tabellen kör du DESCRIBE DETAIL <catalog>.<schema>.<payload_table>.
  • Loggleverans av slutsatsdragningstabeller är för närvarande bäst, men du kan förvänta dig att loggar är tillgängliga inom 1 timme efter en begäran. Kontakta ditt Databricks-kontoteam för mer information.

Allmänna begränsningar för modellservering finns i Begränsningar och regioner för modellservering.