Funktionsutveckling och servering
På den här sidan beskrivs funktioner för funktionsutveckling och servering för arbetsytor som är aktiverade för Unity Catalog. Om din arbetsyta inte är aktiverad för Unity Catalog kan du läsa Funktionsarkiv för arbetsytor (äldre).
Varför ska du använda Databricks som funktionslager?
Med Databricks Data Intelligence Platform sker hela modellträningsarbetsflödet på en enda plattform:
- Datapipelines som matar in rådata, skapar funktionstabeller, tränar modeller och utför batchinferens. När du tränar och loggar en modell med funktionsutveckling i Unity Catalog paketeras modellen med funktionsmetadata. När du använder modellen för batchbedömning eller online-slutsatsdragning hämtar den automatiskt funktionsvärden. Anroparen behöver inte känna till dem eller inkludera logik för att söka efter eller ansluta funktioner för att poängsätta nya data.
- Modell- och funktionsserverslutpunkter som är tillgängliga med ett enda klick och som ger millisekunder med svarstid.
- Data- och modellövervakning.
Dessutom tillhandahåller plattformen följande:
- Funktionsidentifiering. Du kan bläddra och söka efter funktioner i Databricks-användargränssnittet.
- Styrning. Funktionstabeller, funktioner och modeller styrs alla av Unity Catalog. När du tränar en modell ärver den behörigheter från de data som den har tränats på.
- Härstamning. När du skapar en funktionstabell i Azure Databricks sparas och är de datakällor som används för att skapa funktionstabellen tillgängliga. För varje funktion i en funktionstabell kan du också komma åt de modeller, notebook-filer, jobb och slutpunkter som använder funktionen.
- Åtkomst mellan arbetsytor. Funktionstabeller, funktioner och modeller är automatiskt tillgängliga på alla arbetsytor som har åtkomst till katalogen.
Krav
- Arbetsytan måste vara aktiverad för Unity Catalog.
- Funktionsutveckling i Unity Catalog kräver Databricks Runtime 13.3 LTS eller senare.
Om arbetsytan inte uppfyller dessa krav kan du läsa Funktionsarkiv för arbetsytor (äldre) för hur du använder funktionsarkivet för arbetsytor.
Hur fungerar funktionsutveckling på Databricks?
Det typiska arbetsflödet för maskininlärning med funktionsutveckling i Databricks följer den här vägen:
- Skriv kod för att konvertera rådata till funktioner och skapa en Spark DataFrame som innehåller önskade funktioner.
- Skapa en Delta-tabell i Unity Catalog. Alla Delta-tabeller med en primärnyckel är automatiskt en funktionstabell.
- Träna och logga en modell med hjälp av funktionstabellen. När du gör detta lagrar modellen specifikationerna för funktioner som används för träning. När modellen används för slutsatsdragning ansluter den automatiskt funktioner från lämpliga funktionstabeller.
- Registrera modellen i modellregistret.
Nu kan du använda modellen för att göra förutsägelser om nya data. För batchanvändningsfall hämtar modellen automatiskt de funktioner den behöver från Funktionsarkivet.
För användningsfall för realtidsservering publicerar du funktionerna i en onlinetabell. Onlinebutiker från tredje part stöds också. Se Onlinebutiker från tredje part.
Vid slutsatsdragningen läser modellen förberäknade funktioner från onlinebutiken och kopplar dem till de data som anges i klientbegäran till modellen som betjänar slutpunkten.
Börja använda funktionsframställning – exempel på notebook-filer
Kom igång genom att prova de här exempelanteckningsböckerna. Den grundläggande notebook-filen beskriver hur du skapar en funktionstabell, använder den för att träna en modell och utför sedan batchbedömning med hjälp av automatisk funktionssökning. Den introducerar även användargränssnittet för funktionsutveckling och visar hur du kan använda det för att söka efter funktioner och förstå hur funktioner skapas och används.
Exempelanteckningsbok om grundläggande funktionsutveckling i Unity Catalog
Taxi-exempelanteckningsboken illustrerar processen med att skapa funktioner, uppdatera dem och använda dem för modellträning och batchinferens.
Funktionsutveckling i Taxi-exempelanteckningsbok för Unity Catalog
Datatyper som stöds
Funktionsutveckling i Unity Catalog och arbetsytans funktionslager stöder följande PySpark-datatyper:
IntegerType
FloatType
BooleanType
StringType
DoubleType
LongType
TimestampType
DateType
ShortType
ArrayType
BinaryType
[1]DecimalType
[1]MapType
[1]StructType
[2]
[1] BinaryType
, DecimalType
, och MapType
stöds i alla versioner av Funktionsteknik i Unity Catalog och i Workspace Feature Store v0.3.5 eller senare.
[2] StructType
stöds i Feature Engineering v0.6.0 eller senare.
De datatyper som anges ovan stöder funktionstyper som är vanliga i maskininlärningsprogram. Till exempel:
- Du kan lagra kompakta vektorer, tensorer och inbäddningar som
ArrayType
. - Du kan lagra glesa vektorer, tensorer och inbäddningar som
MapType
. - Du kan lagra text som
StringType
.
När de publiceras i onlinebutiker ArrayType
lagras funktionerna MapType
i JSON-format.
Användargränssnittet för funktionsarkivet visar metadata för funktionsdatatyper:
Mer information
Mer information om metodtips finns i Den omfattande guiden till funktionsbutiker.