Machine Learning Feature Store für Data Science

Ein Machine Learning Feature Store ist ein zentraler Datenspeicher speziell für Data Science Prozesse. Die Datenzugriffs- und verarbeitungsschicht unterstützt Projekte und Anwendungen des maschinellen Lernens und steigert so Effizienz und Skalierbarkeit.

In diesem Beitrag erklären wir, was genau hinter dem Feature Store steckt, welche Vorteile dieser bringt, wie er verwendet wird und vieles mehr.

  1. Was ist ein Feature Store?
  2. Wie hilft der Feature Store bei den Herausforderungen des maschinellen Lernens?
  3. Welche Anwender bieten Feature Stores an? (3 Feature Stores)
  4. Fazit
  5. FAQ: Die wichtigsten Fragen schnell beantwortet

Was ist ein Feature Store?

Ein Machine Learning Feature Store ist ein zentraler Datenspeicher, der speziell für den Data Science Prozess aufbereitete Daten und Features (Attribute und Merkmale) verwaltet. Ein ML Feature Store ist als „single source of truth“ ein wichtiger Bestandteil einer Data Science Plattform und Grundlage für alle Machine Learning Projekte Ihres Unternehmens. 

Was sind Features

Beim maschinellen Lernen sind Features Daten, die als Eingabe für ML-Modelle verwendet werden, um Vorhersagen zu treffen. Rohdaten liegen nur selten in einem Format vor, das von einem ML-Modell verwendet werden kann, daher müssen sie in Merkmale (Features) umgewandelt werden. Dieser Prozess wird als Feature Engineering bezeichnet. Ein Feature ist somit eine unabhängige Variable, speziell entwickelt für das Training eines ML-Modells. 

Damit Sie sich den Einfluss des Features Stores auf die Datenverwaltung besser vorstellen können, stellen wir Ihnen folgend zwei Grafiken vor. 

Machine Learning ohne Feature Store ist mit einem hohen manuellen Aufwand verbunden. Die Trainings der Modelle und die Anwendung der Modelle fließen in Datenbestände ein.
Machine Learning Infrastruktur ohne Feature Store.

Die Datenverarbeitung ohne Feature Store ist durch das durch Hin- und Herschieben von Daten in Tabellen sehr aufwendig (s. Abbildung oben). Mit dem Feature Store (Abbildung unten) können Daten an einen einheitlichen Ort geladen werden und sind dort jederzeit für Machine Learning-Anwendungen abrufbereit.

Der Machine Learning Feature Store steht für Machine Learning Anwendung zur Verfügung, in dem er die Features aus Daten an einem einheitlichen Ort speichert und so jedem geordnet zur Verfügung stellt.
Machine Learning Infrastruktur mit Feature Store.
In diesem Video erklären wir Ihnen in knapp 6 Minuten alles, was Sie über den Feature Store wissen müssen.

Wie ist der Feature Store aufgebaut?

Feature Stores bestehen neben den Features aus den folgenden drei Komponenten:

  1. Transformationsschicht
  2. Speicherschicht
  3. Auslieferungsschicht

Sehen wir uns die einzelnen Schichten genauer an.

Der Feature Store besteht grundsätzlich aus drei Schichten: Transformieren, Speichern, Bereitstellen. Hier sind auch die verschiedenen Teams aufgezeigt, die vom Feature Store profitieren.
Die drei Schichten des Feature Stores.

Transformationsschicht

Die Transformationsschicht dient der Transformation von Rohdaten in Feature Daten. Hier sind mehrere Schritte zu berücksichtigen:

  1. Datenintegration aus verschiedenen Plattformen
  2. Qualitätssicherung (hierfür Schritte des Data Wrangling durchführen)
  3. Aufbereitung der Datentuples, damit sie von ML-Modellen verwendet werden können (z.B. One-Hot-Codierung oder Standardisierung des Wertebereichs eines Features)

Anschließend werden die Features in die Speicherschicht geladen.

Speicherschicht

In der Speicherschicht werden die zuvor transformierten Features gesichert. Der Feature Store muss hierfür ein Backend besitzen, welches die Speicherung historischer Features sichert. Als Backend kommt z.B. ein Data Warehouse in Frage aber auch die Speicherung in einem Data Lake ist möglich. 

Von der Speicherschicht werden die Features in die Auslieferungsschicht übertragen.

Auslieferungsschicht

Die Auslieferungsschicht stellt die Features zur Weiterverarbeitung bereit. Durch Batch-API ist es Data Scientists (oder anderen Teams) dann möglich, Trainingsdaten für Modelle abzurufen. 

Was sind die einzelnen Funktionen des Feature Stores?

Der Feature Store verwaltet sowohl historische als auch aktuelle Features und ermöglicht den problemlosen Zugriff auf diese Daten. In dem Feature Store sind die Funktionen des Data Warehouses und die des operativen Speichers enthalten:

  • die Entdeckung, Überwachung, Analyse und Wiederverwendung von Features innerhalb einer Organisation
  • vorberechnete Features, die Online-Modelle verwenden können, um ihre Feature Vektoren mit historischen und kontextuellen Daten berechnen zu können 

Wie hilft der Feature Store bei den Herausforderungen des maschinellen Lernens?

Machinelles Lernen, Data Science und künstliche Intelligenz: die wohl aktuellsten Themen der heutigen Unternehmenswelt. Diese analytisch gestützten Prozesse versprechen höhere Umsätze und mehr Prozesseffizienz. Leider vergessen wir dabei häufig, dass der Einsatz von Machine Learning selbst mit einem großen Prozessaufwand verbunden ist (z.B. im Punkt Datenverarbeitung). 

Um die Effizienz sowie Skalierbarkeit von Data Science und künstlicher Intelligenz zu steigern, kommen (Machine Learning-) Feature Stores zum Einsatz. 

Wieso Sie einen Feature Store brauchen?

Feature Stores heben die Datenaktualität an, ermöglichen das Erstellen von genauen Modellen durch hohe Skalierbarkeit und helfen dabei, präzise Vorhersagen zu treffen. Die Features sind außerdem nicht mehr begrenzt abrufbar für ein paar ausgewählte Experten, sondern für alle, die den Zugang benötigen.

Was sind die Ziele des Feature Stores?

  1. Wir wollen Reibungen zwischen Data Scientists, Data Engineers und Machine Learning Engineers reduzieren, in dem wir einen zentralen Speicher für verschiedene Projekte bilden
  2. Wer möchte schon gerne suchen? Der Feature Store erleichtert die Auffindbarkeit von Features 
  3. Nennen wir es beim Namen. Die Features sollen einheitlich benannt werden, um eine einheitliche Verarbeitung zu gewährleisten. 
  4. Features sollen nicht mehr verschieden verteilt sein (zwischen Training und Inferenz), sondern zentral an einem Ort

Was sind die konkreten Vorteile des Feature Stores?

Die einzelnen Variablen für maschinelles Lernen sind in einem standardisierten, qualitätsgesicherten Prozess abgespeichert. Dadurch wird ein zentraler Punkt für Machine Learning-Features geschaffen, wo jedes Data Science Team kuratierte Daten zur Verfügung hat. Neben vielen Vorteilen für die Modelltrainings, wird ein standardisierter Prozess für das Modell Deployment erarbeitet, der die gleiche Feature Logik wie im Lernprozess nutzt und somit eine konsistente Plattform schafft.

Machine Learning Feature Stores adressieren viele Probleme von Data Science Projekten und schaffen somit große Effizienz, vor allem bei größeren Projekten, wo ein hoher Automatisierungsgrad erreicht werden soll. Die fünf größten Vorteile listen wir Ihnen in folgender Tabelle auf.

VorteilDetailliert
1.Qualitätssicherung von FeaturesDurch ETL-Prozesse und Loggingfunktion können Daten zuverlässig für analytische Prozesse verwendet werden. 
2. Effizienter Einsatz von Data ScientistsDurch den Einsatz eines gut konzipiertem Feature Stores, können Sie die Arbeitszeit von Analysten effizienter planen. Denn Studien belegen, dass Data Scientists ca. 80% der Zeit bei Data Science Projekten für Datenaufbereitung nutzen.
3. Grad der Automatisierung von Machine LearningDurch die Automatisierung von Validierungsprozessen auf die immer bereitstehenden Features, können Machine Learning Modelle leicht in Bezug auf Qualität bewertet werden. Dies kann sogar soweit führen, dass völlig automatisiert ein Re-Training des Modells auf einem neuen Datenstand durchgeführt wird.
4. Zentraler Hub für Machine Learning ProjekteEin sehr wichtiger Punkt für einen Feature Store ist die Zentralisierung der Machine Learning Datenbasis. Besonders in Bezug auf die Effizienz eines Teams macht es Sinn, das Know-How und die Logik für die Aufbereitung von Features zentral zu steuern. Dadurch werden Probleme wie unübersichtliche Codeskripts und Data-Pipeline Jungle vermieden.
5. Skalierbarkeit von Data ScienceDurch die Zentralisierung der ML Features, können neue Projekte und Modelle schneller skaliert und umgesetzt werden, denn die Daten, Infrastruktur und standardisierten Prozesse sind somit bereits vorhanden.
Die fünf größten Vorteile des Machine Learning Feature Stores.

Durch die Vorteile der effizienten Arbeitseinteilung und Qualitätssicherung sparen Sie nicht nur Zeit, sondern vor allem unnötige Kosten. 

Gehen wir nun von der Theorie über in die Praxis. Welche Anbieter stellen einen Feature Store zur Verfügung?

Welche Anwender bieten Feature Stores an? (3 Feature Stores)

Die Bedeutung von Feature Stores wurde bereits von verschiedenen Unternehmen erkannt. So setzen große Machine Learning Companies wie Databricks auf Feature Store Lösungen, die verschiedene Benefits bringen. Hier stellen wir Ihnen vier Feature Store Lösungen vor.

AWS Sagemaker

Das Speichern, Freigeben und Verwalten von Funktionen für Machine Learning wird durch das zweckgebundene Repository von Amazon SageMaker Feature Store garantiert. 

Der Amazon SageMaker Feature Store bezieht aus Streaming oder Batch Data Quellen Daten. Sind die Daten in den SageMaker geladen werden sie einem Feature Katalog zugeordnet, wo sie von Datenwissenschaftlern aktiv gesucht und wiederverwendet werden können. 

Databricks

Databricks bietet verschiedene Lösungen zur Datenspeicherung- und Verwaltung im Machine Learning Prozess an. Neben dem Data Lakehouse bietet Databricks seinen Kunden die Möglichkeit, einen Databricks Feature Store zu implementieren. Der Feature Store setzt an dem Prozess des Feature Engineerings (bei Databricks Featurization genannt) an. Der Store registriert die Daten und stellt sie als Batch oder Online Source zur Verfügung.  

Hier bietet Databricks die Möglichkeit, ein Beispiel Notebook für den Feature Store anzusehen.

Wie genau Databricks Feature Store funktioniert haben wir euch in einem Youtube Tutorial festgehalten: 

Ein praktisches Beispiel zu einem Machine Learning Feature Store in der Cloud Plattform Databricks.

Feast

Der Open Source Feature Store Feast lässt sich in jeder Kubernetes-Umgebung einsetzen. Feast ermöglicht die Verwaltung der bestehenden Infrastruktur, um Analysedaten für das Modelltraining und die Online-Inferenz zu produzieren. Daten werden aus Streaming Quellen wie Kafka oder Kinesis oder Batch Quellen wie Snowflake oder S3 in die Transformationsschicht geladen. 

Nachdem die Daten in Features transformiert wurden, werden sie in die Feast-Schicht übertragen. Hier liegt die Speicher- und Abfrageschicht von wo aus die Features für weitere Analysen genutzt werden können. 

Feature Stores in der Praxis

Große Tech-Firmen wie Google (TFX)Uber (Michelangelo) und Facebook (FBLearner) haben die Vorteile für sich erkannt und setzen auf solche Ansätze der Machine Learning Plattformen. Ein interessanter Podcast aus der O’Reilly Data Show beleuchtet genau dieses Thema bei Salesforce (Einstein). Zudem haben auch Netflix und Twitter ihre Plattformen und Architekturen bekanntgegeben. 

Neben diesen Projekten gibt es mittlerweile auch einen ersten Open Source Ansatz des StartUps Logical Clocks, welches Big Data, Deep Learning und Machine Learning Plattformen entwickelt. Es wird also schnell klar, dass viel Geld und Ressourcen in die Entwicklung und den Aufbau von Machine Learning Plattformen fließen. 

Uber gibt beispielsweise an, dass täglich bis zu 10.000 Features komplett automatisiert berechnet und bereitgestellt werden.

Fazit

Feature Stores eröffnen für Unternehmen neue Möglichkeiten, um die Themen rund um Machine Learning professioneller und effizienter innerhalb einer zentralen Plattform zu gestalten. Die vielen Vorteile, die sich dadurch ergeben, übertreffen die zu Beginn anfallenden Kosten schnell. Sie können von verschiedenen Projekten aus auf Features zugreifen und diese gemeinsam optimieren. Durch die einheitliche Verarbeitung der Features und den zentralen Speicherort, sparen Ihre Mitarbeiter Zeit, da sie keine zusätzlichen Datenverwaltungsarbeiten erledigen müssen. 

Sie möchten einen Feature Store in Ihrem Unternehmen implementieren? Dann kontaktieren Sie uns!

FAQ: Die wichtigsten Fragen schnell beantwortet

Was ist ein Feature Store?

Im Feature Store werden die Merkmale aus Daten gespeichert und organisiert, damit sie entweder zum Trainieren von Modellen (durch Data Scientists) oder zur Erstellung von Vorhersagen (Predictive Analytics) verwendet werden können.

Wie funktioniert ein Feature Store?

Feature Stores bestehen aus zweiteiligen Datenbanken, siehe folgende Auflistung:
 
1. Eine offline Datenbank, die für Batch-Vorhersagen und Modelltraining verwendet wird. Diese Datenbank speichert große Mengen an historischen Merkmalen für das Training von ML-Modellen.
2. Eine online Datenbank, die Online-Merlmale mit geringer Latenz für trainierte Modelle bereitstellt, die bereits in Produktion sind. Die Datenbank stellt den Modellen die aktuellsten Merkmale zur Verfügung.

Brauche ich einen Feature Store?

Feature Stores sind nützlich, da sie es Datenwissenschaftlern ermöglichen, Merkmale auf dem Server zu berechnen, beispielsweise die Anzahl der Klicks. Die Alternative dazu ist die Berechnung von Merkmalen im Modell selbst oder/und die Berechnung in einer Transformationsfunktion in SQL.

Ihr Kontakt: Vinzent Wuttke

Unternehmen sitzen auf einem ungenutzten Berg von Kundendaten. Wir von datasolut entwickeln KI, die Ihr Marketing optimiert. Damit Sie dem richtigen Kunden zur richtigen Zeit das richtige Angebot machen können.

Auch interessant für Sie