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.
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:
Klicka på Servering i Användargränssnittet för Databricks Machine Learning.
Klicka på Skapa serverdelsslutpunkt.
Välj Aktivera slutsatsdragningstabeller.
I de nedrullningsbara menyerna väljer du önskad katalog och det schema där du vill att tabellen ska finnas.
Standardtabellnamnet är
<catalog>.<schema>.<endpoint-name>_payload
. Om du vill kan du ange ett anpassat tabellprefix.Klicka på Skapa serverdelsslutpunkt.
Du kan också aktivera slutsatsdragningstabeller på en befintlig slutpunkt. Så här redigerar du en befintlig slutpunktskonfiguration:
- Gå till slutpunktssidan.
- Klicka på Redigera konfiguration.
- Följ de föregående anvisningarna och börja med steg 3.
- 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.
- Gå till slutpunktssidan.
- Klicka på Redigera konfiguration.
- Klicka på Aktivera slutsatsdragningstabell för att ta bort bockmarkeringen.
- 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:
- Aktivera slutsatsdragningstabeller på slutpunkten, antingen när slutpunkten skapas eller genom att uppdatera den efteråt.
- Schemalägg ett arbetsflöde för att bearbeta JSON-nyttolaster i slutsatsdragningstabellen genom att packa upp dem enligt schemat för slutpunkten.
- (Valfritt) Anslut uppackade begäranden och svar med mark-sanningsetiketter så att modellkvalitetsmått kan beräknas.
- 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
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
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.
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_id
tar 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.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för