Share via


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

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

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 slutsatsdragningstabeller

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 övervakningen och diagnostiken för modeller genom att kontinuerligt logga indata och svar för begäranden (förutsägelser) från Databricks 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 DBSQL-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 instrumentpaneler 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äningskorus. Genom att ansluta inferenstabeller med grundsanningsetiketter kan du skapa en träningskorus som du kan använda för att träna om eller finjustera och förbättra din modell. Med Databricks-arbetsflöden kan du konfigurera en kontinuerlig feedbackloop och automatisera omträningen.

Krav

  • Unity Catalog måste vara aktiverat på arbetsytan.
  • För att aktivera slutsatsdragningstabeller på en slutpunkt behöver både skaparen av slutpunkten och modifieraren följande behörigheter:
    • KAN HANTERA behörighet på slutpunkten.
    • 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 auto_capture_config visar 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 Användargränssnittet för Databricks Machine Learning.

  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 serverdelsslutpunkten.

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

Viktigt!

När du inaktiverar slutsatsdragningstabeller på en slutpunkt kan du inte återaktivera dem. Om du vill fortsätta använda slutsatsdragningstabeller måste du skapa en ny slutpunkt och aktivera slutsatsdragningstabeller på den.

  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 uppackade begäranden och svar med mark-sanningsetiketter så att modellkvalitetsmå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 databricks-arbetsflöden.

Slutsatsdragningstabell Lakehouse Monitoring– startanteckningsbok

Hämta notebook-fil

Startanteckningsbok för övervakning av textkvalitet från slutpunkter som betjänar LLM:er

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 databricks-arbetsflöden.

LLM-slutsatsdragningstabell Lakehouse Monitoring starter notebook

Hämta notebook-fil

Fråga efter och analysera resultat i slutsatsdragningstabellen

När dina betjänade modeller är klara loggas alla begäranden som görs till dina modeller automatiskt till slutsatsdragningstabellen, 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.

Om du vill visa 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 payload_table är det tabellnamn som du tilldelade när du skapade slutpunkten. Om du har aktiverat slutsatsdragningstabeller med hjälp av API payload_table :et rapporteras i state avsnittet i auto_capture_config svaret. 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 10 minuter efter att du har skickat en bedömningsbegäran. 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:

Kommentar

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. Mer information finns i Ange client_request_id . STRÄNG
date UTC-datumet då modellserverns begäran togs emot. DATUM
timestamp_ms Tidsstämpeln i epok millisekunder på när modellen som betjänar begäran 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 % av inkommande begäranden inkluderades. DOUBLE
execution_time_ms Körningstiden i millisekunder som modellen utförde slutsatsdragning för. 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-brödtexten för den råa begäran som skickades till den modell som betjänar slutpunkten. STRÄNG
response JSON-brödtexten för råsvaret som returnerades av modellen som betjänar 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. KARTSTRÄNG<, STRÄNG>

Ange 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 client_request_id under och kan användas för att ansluta din begäran till andra tabeller som använder client_request_id, som mark sanningsetikettanslutning. 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 mark sanningsetikettkopplingar 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 .
    • Slutsatsdragningstabeller på etablerade dataflödesslutpunkter stöder inte loggning av direktuppspelningsbegäranden.
  • Slutsatsdragningstabeller stöds inte på slutpunkter som är värdar för externa modeller.
  • Azure Firewall stöds inte och kan leda till att det inte går att skapa deltatabellen i Unity Catalog.
  • 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 OPTIMERA 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>.

Allmänna begränsningar för modell som betjänar slutpunkter finns i Begränsningar och regioner för modellservering.