Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Databricks Feature Store központosítja a gépi tanulásban használt funkciókat, így ugyanazok a funkciószámítások futnak a modell betanítása és következtetése során. A következő szakaszok ismertetik a tipikus munkafolyamatot, és meghatározzák a kulcskifejezéseket.
Hogyan működik a Databricks feature Store?
A Databricks szolgáltatásfejlesztését használó tipikus gépi tanulási munkafolyamat az alábbi elérési utat követi:
Írjon kódot a nyers adatok funkciókká alakításához, és hozzon létre egy Spark DataFrame-et, amely tartalmazza a kívánt funkciókat.
Hozzon létre egy Delta-táblát a Unity Katalógusban , amely elsődleges kulccsal rendelkezik.
Modell betanítása és naplózása a funkciótáblával. Ha ezt teszi, a modell tárolja a betanításhoz használt funkciók specifikációit. Amikor a modellt következtetésre használják, automatikusan összekapcsolja a megfelelő funkciótáblák funkcióit.
Modell regisztrálása a Modellregisztrációs adatbázisban.
Mostantól a modell használatával előrejelzéseket készíthet az új adatokról. Köteghasználati esetek esetén a modell automatikusan lekéri a szükséges funkciókat a Feature Store-ból.
A valós idejű szolgáltatáshasználati esetekhez tegye közzé a funkciókat egy online szolgáltatásáruházban.
A következtetési időpontban a végpontot kiszolgáló modell automatikusan a kérelemadatok entitásazonosítóit használja az online áruház előre kiszámított funkcióinak kereséséhez az ML-modell pontszámának kiszámításához. A végpont a Unity Catalog segítségével határozza meg a szolgáltatott modellhez kapcsolódó jellemzők törzskönyvét, és nyomon követi a valós idejű hozzáférés érdekében az online jellemzőtár felé vezető törzskönyvet.
Feature Store fogalomtár
Jellemvonás tárhely
A szolgáltatástár egy központosított adattár, amely lehetővé teszi az adatelemzők számára a funkciók keresését és megosztását. A funkciótár használata biztosítja azt is, hogy a funkcióértékek kiszámításához használt kód megegyezik a modell betanítása és a modell következtetésre való használata során. A Databricks Feature Store működése attól függ, hogy a munkaterület engedélyezett-e a Unity Catalog számára.
- A Unity Cataloghoz engedélyezett munkaterületeken a Unity Katalógus bármely Olyan Delta-tábláját használhatja, amely funkciótábláként elsődleges kulcskorlátozást tartalmaz.
- Azon munkaterületek, amelyek a Unity-katalógusra nem engedélyezettek és 2024. augusztus 19., 16:00:00 (UTC) előtt lettek létrehozva, hozzáférnek az örökölt Munkaterület funkciótár-hoz.
A gépi tanulás meglévő adatokkal készít egy modellt a jövőbeli eredmények előrejelzéséhez. A nyers adatok szinte minden esetben előfeldolgozást és átalakítást igényelnek, mielőtt felhasználhatók a modell létrehozásához. Ezt a folyamatot funkciófejlesztésnek nevezzük, és ennek a folyamatnak a kimeneteit funkcióknak nevezzük – a modell építőelemei.
A funkciók fejlesztése összetett és időigényes. További bonyodalom, hogy a gépi tanuláshoz funkciószámításokat kell végezni a modell betanításához, majd újra, amikor a modellt használják előrejelzések készítésére. Előfordulhat, hogy ezeket az implementációkat nem ugyanaz a csapat végzi, vagy ugyanazt a kódkörnyezetet használja, ami késésekhez és hibákhoz vezethet. Emellett a szervezet különböző csapatai gyakran hasonló funkciókkal rendelkeznek, de előfordulhat, hogy nem tudják, hogy más csapatok milyen munkát végeztek. A feature-tárakat úgy tervezték, hogy megoldják ezeket a problémákat.
Funkciótáblák
A funkciók funkciótáblákként vannak rendszerezve. Minden táblának rendelkeznie kell egy elsődleges kulccsal, amelyet egy Delta-tábla és további metaadatok támasztanak alá. A funkciótábla metaadatai nyomon követik azokat az adatforrásokat, amelyekből a tábla létrejött, valamint a táblába létrehozott vagy írt jegyzetfüzeteket és feladatokat.
A Databricks Runtime 13.3 LTS és újabb verziók esetén, ha a munkaterület engedélyezve van a Unity Cataloghoz, a Unity Katalógus bármely Delta-tábláját használhatja elsődleges kulccsal funkciótáblaként. A Unity Catalog szolgáltatástábláinak megtekintése. A helyi munkaterület szolgáltatástárolójában tárolt funkciótáblákat "Munkaterületi funkciótábláknak" nevezzük. Lásd: Funkciótáblák használata a Munkaterület funkciótárolójában (örökölt).
A funkciótáblák funkcióit általában egy közös számítási függvény használatával számítják ki és frissítik.
Tulajdonságtáblázatot közzétehet egy online áruházban valós idejű modell következtetés céljából.
FeatureLookup
Számos különböző modell egy adott funkciótáblából származó funkciókat használhat, és nem minden modellnek lesz szüksége minden funkcióra. Ha jellemzőkkel szeretne betanítani egy modellt, minden egyes jellemzőtáblához létre kell hoznia egy FeatureLookup. A FeatureLookup meghatározza, hogy mely szolgáltatásokat használja a táblából, és meghatározza a funkciótáblához a create_training_setátadott címkeadatokhoz való csatlakoztatáshoz használandó kulcsokat is.
A diagram bemutatja, hogy hogyan működik egy FeatureLookup. Ebben a példában egy modellt szeretne betanítani két jellemzőtáblából, customer_features és product_features. Minden egyes jellemző táblához létre kell hoznia egy FeatureLookup-t, megadva a tábla nevét, a táblából kiválasztandó jellemzőket (oszlopokat) és a jellemzők csatlakoztatásakor használni kívánt keresési kulcsot a képzési adatkészlet létrehozásához.
Ezután meghívja a create_training_set-t, amely szintén látható a diagramon. Ez az API-hívás megadja a nyers betanítási adatokat (label_df), a használni kívánt FeatureLookups-et, valamint a label-t, ami az alapigazságot tartalmazó oszlop. A betanítási adatoknak tartalmazniuk kell a funkciótáblák egyes elsődleges kulcsainak megfelelő oszlop(ok)t. A funkciótáblák adatai a kulcsok alapján csatlakoznak a bemeneti DataFrame-hez. Az eredmény a diagramon "Betanítási adatkészlet" néven jelenik meg.
FeatureFunction
Egy funkció függhet az olyan információktól, amelyek csak a következtetés időpontjában érhetők el. Megadhat egy FeatureFunction, amely a valós idejű bemeneteket funkcióértékekkel kombinálja up-to-date funkcióértékek kiszámításához. A diagramon egy példa látható. További részletekért tekintse meg az igény szerinti funkciószámítást.
Betanítási csoport
A tanító halmaz tartalmaz egy jellemzők listáját, valamint egy DataFrame-et, amely nyers tanító adatokat, címkéket és elsődleges kulcsokat tartalmaz, amelyek segítségével megkereshetők a jellemzők. A betanítási csoportot úgy hozhatja létre, hogy megadja a funkciótárból kinyerni kívánt funkciókat, és bemenetként adja meg a betanítási készletet a modell betanítása során.
A betanítási csoport létrehozásához és használatához lásd Betanítási adatkészlet létrehozása című témakört.
Amikor a Feature Engineering használatával tanít be és naplóz egy modellt a Unity Catalogban, megtekintheti a modell származását a Catalog Explorerben. A modell létrehozásához használt táblák és függvények automatikusan nyomon követhetők és megjelennek. Lásd: Funkciószabályozás és leszármazás.
FeatureSpec
Az A FeatureSpec egy Unity Catalog-entitás, amely a szolgáltatáshoz használható funkciók és függvények újrafelhasználható készletét határozza meg.
FeatureSpecs és FeatureLookup funkciótáblákból és FeatureLookup-kből egyetlen logikai egységbe egyesíthetők, amely használható modell betanításához vagy kiszolgálható Feature Serving végpontok használatával.
FeatureSpec A Unity Catalog tárolja és kezeli, teljes származáskövetést biztosítva az offline jellemzőtáblákhoz és funkciókhoz. Ez lehetővé teszi a különböző modellek és alkalmazások szabályozását, felderíthetőségét és újrafelhasználását.
A következő módokon használható FeatureSpec :
- Szolgáltatáskiszolgáló végpont létrehozása a Python API vagy a REST API használatával. Lásd : Szolgáltatáskiszolgáló végpontok , vagy üzembe helyezés közvetlenül a Modellkiszolgáló felhasználói felületén. Nagy teljesítményű alkalmazások esetén engedélyezze az útvonaloptimalizálást.
- A modell betanításához hivatkozzon a
FeatureSpecelemre acreate_training_setkontextusában.
A FeatureSpec rendszer mindig hivatkozik az offline funkciótáblákra, de ezeket közzé kell tenni egy online áruházban valós idejű kiszolgálási forgatókönyvek esetén.
Idősor funkciótáblái (időponthoz kötött keresések)
A modellek betanítása során használt adatok gyakran beépített időfüggőségekkel is rendelkeznek. A modell létrehozásakor csak a jellemzőértékeket kell figyelembe vennie a megfigyelt célérték időpontjáig. Ha a célérték időbélyege után mért adatokon alapuló jellemzőkre tanít, a modell teljesítménye csökkenhet.
Az idősor-funkciótáblák egy időbélyegoszlopot tartalmaznak, amely biztosítja, hogy a betanítási adathalmaz minden sora a sor időbélyegének legújabb ismert funkcióértékeit adja meg. Idősorozat-funkciótáblákat akkor érdemes használni, amikor a funkcióértékek idővel változnak, például idősoradatokkal, eseményalapú adatokkal vagy időaggregált adatokkal.
Amikor idősoros jellemző táblázatot hoz létre, az elsődleges kulcsokban meg kell adnia az idővel kapcsolatos oszlopokat idősor oszlopokként a timeseries_columns argumentum (a Unity Catalog szolgáltatásfejlesztése esetén) vagy a timestamp_keys argumentum (a Munkaterület jellemző tár) használatával. Ez lehetővé teszi az időponthoz kötött kereséseket, amikor create_training_set vagy score_batch használható. A rendszer as-of időbélyeg-illesztést hajt végre a megadott timestamp_lookup_key használatával.
Ha nem használja az timeseries_columns argumentumot vagy az timestamp_keys argumentumot, és csak egy idősoroszlopot jelöl ki elsődleges kulcsoszlopként, a Feature Store nem alkalmazza az idősor oszlopára az idősor logikáját az illesztések során. Ehelyett csak a pontos időegyeztetésű sorokat egyezteti meg ahelyett, hogy az időbélyeg előtti összes sort egyezteti.
Offline áruház
Az offline funkciótároló funkciófelderítéshez, modellbetanításhoz és kötegelt következtetéshez használható. Funkciótáblákat tartalmaz, amelyeket Delta-táblákként képeznek le.
Online szolgáltatástár
A Databricks Online szolgáltatástároló egy nagy teljesítményű, méretezhető megoldás funkcióadatok online alkalmazások és valós idejű gépi tanulási modellek számára való kiszolgálására.
A Databricks Lakebase által üzemeltetett szolgáltatás alacsony késésű hozzáférést biztosít a szolgáltatásadatokhoz nagy léptékben, miközben fenntartja a szabályozást, a vonalvezetést és az offline funkciótáblákkal való konzisztenciát.
Online áruházakat a kiszolgáló nélküli Lakebase platformon építhet ki. Az API-k lehetővé teszik a példányok és olvasási replikák kezelését, valamint a példányok igény szerinti méretezését. A kényelmes API-k segítségével közzéteheti a Unity Catalog-táblákat az online áruházakban. Ezek a táblák olyan Unity Catalog-entitások is, amelyek natív módon követik nyomon a forrástáblákhoz való besorozást. A Databricks támogatja a külső online áruházakat is.
Streamelés
A kötegelt írások mellett a Databricks Feature Store támogatja az adatfolyamokat is. Szolgáltatásértékeket írhat egy szolgáltatástáblába streamelési forrásból, a funkciószámítási kód pedig strukturált streamelési használatával alakíthatja át a nyers adatfolyamokat funkciókká.
A szolgáltatástáblákat az offline áruházból online áruházba is streamelheti.
Modell csomagolása
Amikor gépi tanulási modellt tanít be a Unity Catalog vagy a Workspace Jellemzőtár jellemzőtervezésében, és az ügyfél metódusával log_model() naplózza, a modell megőrzi az ezekre a funkciókra mutató hivatkozásokat. A következtetési időpontban a modell opcionálisan automatikusan lekérheti a funkcióértékeket. A hívónak csak a modellben használt funkciók elsődleges kulcsát kell megadnia (például user_id), és a modell lekéri az összes szükséges funkcióértéket.
A kötegelt előrejelzés során a rendszer lekéri a jellemzőértékeket az offline áruházból, és ezek az új adatokkal együtt kerülnek felhasználásra a pontozás előtt. Valós idejű következtetés esetén a szolgáltatásértékek lekérhetők az online áruházból.
Ha egy modellt funkció metaadatokkal szeretne csomagolni, használja a FeatureEngineeringClient.log_model (a Unity Catalog szolgáltatásfejlesztéséhez) vagy FeatureStoreClient.log_model (munkaterületi funkciótárhoz).