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:

  1. Skriv kod för att konvertera rådata till funktioner och skapa en Spark DataFrame som innehåller önskade funktioner.
  2. Skapa en Delta-tabell i Unity Catalog. Alla Delta-tabeller med en primärnyckel är automatiskt en funktionstabell.
  3. 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.
  4. 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.

Funktionslagerarbetsflöde för användningsfall för batchmaskininlärning.

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.

Funktionslagerflöde för maskininlärningsmodeller som hanteras.

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

Hämta notebook-fil

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

Hämta notebook-fil

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:

Exempel på komplexa datatyper

Mer information

Mer information om metodtips finns i Den omfattande guiden till funktionsbutiker.