Was ist ein Featurespeicher?
Auf dieser Seite wird erklärt, was ein Featurespeicher ist und welche Vorteile er bietet, sowie die spezifischen Vorteile des Featurespeicher von Databricks.
Ein Featurespeicher ist ein zentralisiertes Repository, das es wissenschaftlichen Fachkräften ermöglicht, Features zu finden und gemeinsam zu nutzen, und außerdem sicherstellt, dass derselbe Code, der zur Berechnung der Featurewerte verwendet wird, auch für das Modelltraining und Rückschlüsse verwendet wird.
Beim maschinellen Lernen werden vorhandene Daten verwendet, um ein Modell zur Vorhersage künftiger Ergebnisse zu erstellen. In fast allen Fällen müssen die Rohdaten vorverarbeitet und umgewandelt werden, bevor sie für die Erstellung eines Modells verwendet werden können. Dieser Prozess wird als Feature Engineering bezeichnet, und die Ergebnisse dieses Prozesses werden als Features bezeichnet – die Bausteine des Modells.
Die Entwicklung von Features ist komplex und zeitaufwendig. Erschwerend kommt hinzu, dass beim maschinellen Lernen Featureberechnungen für das Modelltraining durchgeführt werden müssen. Diese Berechnungen müssen erneut durchgeführt werden, wenn das Modell für Vorhersagen verwendet wird. Diese Implementierungen werden möglicherweise nicht vom selben Team oder unter Verwendung derselben Codeumgebung durchgeführt, was zu Verzögerungen und Fehlern führen kann. Außerdem haben verschiedene Teams in einer Organisation oft ähnliche Featureanforderungen, wissen aber möglicherweise nicht, welche Arbeiten andere Teams bereits durchgeführt haben. Ein Featurespeicher soll diese Probleme beheben.
Was spricht für die Verwendung des Databricks-Featurespeichers?
Der Databricks-Featurespeicher ist vollständig in andere Komponenten von Azure Databricks integriert.
- Erkennbarkeit. Über die Benutzeroberfläche des Featurespeichers, auf die Sie vom Databricks-Arbeitsbereich aus zugreifen können, können Sie nach vorhandenen Features suchen.
- Herkunft. Wenn Sie eine Featuretabelle in Azure Databricks erstellen, werden die zur Erstellung der Featuretabelle verwendeten Datenquellen gespeichert und sind zugänglich. Für jedes Feature in einer Featuretabelle können Sie auch auf die Modelle, Notebooks, Aufträge und Endpunkte zugreifen, die das Feature verwenden.
- Integration mit Modellbewertung und -bereitstellung. Wenn Sie Features aus dem Featurespeicher verwenden, um ein Modell zu trainieren, wird das Modell mit Featuremetadaten verpackt. Wenn Sie das Modell für Batchbewertungen oder Onlinerückschlüsse verwenden, ruft es automatisch Features aus dem Featurespeicher ab. Der Aufrufer muss diese nicht kennen oder eine Logik zum Suchen oder Verbinden von Features einfügen, um neue Daten zu bewerten. Das macht die Modellimplementierung und -aktualisierung viel einfacher.
- Point-in-Time-Lookups. Der Featurespeicher unterstützt Zeitreihen und ereignisbasierte Anwendungsfälle, bei denen Point-in-Time-Genauigkeit erforderlich ist.
Feature Engineering in Unity Catalog.
Mit Databricks Runtime 13.3 LTS und höher wird Unity Catalog zu Ihrem Featurespeicher, wenn Ihr Arbeitsbereich für Unity Catalog aktiviert ist. Sie können jede Delta-Tabelle oder Delta Live-Tabelle in Unity Catalog mit einem Primärschlüssel als Featuretabelle für Modelltraining oder Rückschlüsse verwenden. Unity Catalog bietet Featureermittlung, Governance, Lineage und arbeitsbereichsübergreifenden Zugriff.
Wie funktioniert der Databricks-Feature-Store?
Der typische Machine Learning-Workflow mit Feature Store folgt diesem Muster:
- Schreiben Sie Code, um Rohdaten in Features zu konvertieren und einen Spark-DataFrame zu erstellen, der die gewünschten Features enthält.
- Für Arbeitsbereiche, die für Unity Catalog aktiviert sind, schreiben Sie den Datenrahmen als Featuretabelle in Unity Catalog. Wenn Ihr Arbeitsbereich nicht für Unity Catalog aktiviert ist, schreiben Sie den Datenrahmen als Featuretabelle in den Arbeitsbereichs-Feature Store.
- Trainieren Sie ein Modell mithilfe von Features aus dem Featurespeicher. Wenn Sie dies tun, speichert das Modell die Spezifikationen von Features, die für Trainings verwendet werden. Wenn das Modell für den Rückschluss verwendet wird, werden automatisch Features aus den entsprechenden Featuretabellen verknüpft.
- Registrieren des Modells in der Modellregistrierung.
Anschließend können Sie das Modell dazu nutzen, um Vorhersagen für neue Daten zu treffen.
Für Batchanwendungsfälle ruft das Modell automatisch die benötigten Features aus dem Feature Store ab.
Veröffentlichen Sie die Features für echtzeitbasierte Anwendungsfälle in einer Onlinetabelle. Onlinespeicher von Drittanbietern werden ebenfalls unterstützt. Siehe Onlinespeicher von Drittanbietern.
Zum Zeitpunkt des Rückschlusses liest das Modell vorab berechnete Features aus dem Onlinespeicher aus und verknüpft sie mit den Daten, die in der Clientanforderung für den Modellbereitstellungsendpunkt bereitgestellt werden.
Einstieg in die Verwendung des Featurespeichers
Informationen zu den ersten Schritten mit dem Featurespeicher finden Sie in den folgenden Artikeln:
- Probieren Sie eines der Beispielnotebooks aus, die die Funktionen des Featurespeichers veranschaulichen.
- Weitere Informationen finden Sie im Referenzmaterial für die Featurespeicher-Python-API.
- Erfahren Sie mehr über Trainingsmodelle mit dem Featurespeicher.
- Erfahren Sie mehr über Feature Engineering in Unity Catalog.
- Erfahren Sie mehr über den Arbeitsbereichs-Feature Store.
- Verwenden Sie Zeitreihen-Featuretabellen und Point-in-Time--Lookups, mit denen Sie die neuesten Featurewerte zu einem bestimmten Zeitpunkt für das Training oder die Bewertung eines Modells abrufen können.
- Erfahren Sie mehr über die Veröffentlichung von Features in Online-Stores oder Onlinetabellen für die Bereitstellung in Echtzeit und die automatische Suche nach Features.
- Erfahren Sie mehr über Feature Serving, wodurch Funktionen auf der Databricks-Plattform mit geringer Wartezeit für Modelle oder Anwendungen außerhalb von Databricks verfügbar gemacht werden.
Wenn Sie Feature Engineering in Unity Catalog verwenden, kümmert sich Unity Catalog um die gemeinsame Nutzung von Feature-Tabellen in verschiedenen Arbeitsbereichen und Sie verwenden Unity Catalog-Berechtigungen, um den Zugriff auf die Feature-Tabellen zu steuern. Die folgenden Links beziehen sich nur auf den Arbeitsbereichs-Feature Store:
- Arbeitsbereichsübergreifendes Freigeben von Featuretabellen.
- Steuern des Zugriffs auf Featuretabellen
Unterstützte Datentypen
Feature Engineering im Unity-Katalog und im Arbeitsbereich-Featurespeicher unterstützen die folgenden PySpark-Datentypen:
IntegerType
FloatType
BooleanType
StringType
DoubleType
LongType
TimestampType
DateType
ShortType
ArrayType
BinaryType
[1]DecimalType
[1]MapType
[1]
[1] BinaryType
, DecimalType
und MapType
werden in allen Versionen von Feature Engineering im Unity-Katalog und im Arbeitsbereich Feature Store v0.3.5 oder höher unterstützt.
Die oben aufgeführten Datentypen unterstützen Featuretypen, die in Machine Learning-Anwendungen üblich sind. Beispiele:
- Sie können Vektoren mit hoher Dichte, Tensoren und Einbettungen als
ArrayType
speichern. - Sie können Vektoren mit geringer Dichte, Tensoren und Einbettungen als
MapType
speichern. - Sie können Text als
StringType
speichern.
Wenn sie in Onlineshops veröffentlicht werden, werden ArrayType
- und MapType
-Features im JSON-Format gespeichert.
Die Benutzeroberfläche des Featurespeichers zeigt Metadaten zu Featuredatentypen an:
Weitere Informationen
Für weitere Informationen zu bewährten Methoden für die Verwendung des Featurespeichers laden Sie den Umfassenden Leitfaden für Featurespeicher herunter.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für