feature store

Was sind Feature Stores?

Features sind Eingaben für Machine Learning Modelle (ML Modelle). Der effizienteste Weg, die Features unternehmensweit zu nutzen, ist die Verwendung eines funktionalen Speichers, der die Datentransformation und -Speicherung automatisiert und diese für das Training und Inferenz von ML Modellen verfügbar macht.

Machine Learning Projekte und -Anwendungen sind aufgrund verschiedener featurespezifischer Herausforderungen oft kostspielig und schwer zu skalieren. Typischerweise werden Features nicht über Data Science Teams und verschiedene Machine Learning Anwendungen in einer Organisation hinweg wiederverwendet. Einige Teams können Features sogar unterschiedlich definieren und verwenden. Dabei ist zusätzlicher Aufwand erforderlich, um jedem ML-Modell die erforderlichen Features bereitzustellen. Feature Stores gehen diese Probleme an, indem sie die Definitionskonsistenz verbessern und dadurch die Effizienz von Data Science Teams steigern.

In diesem Artikel erfahren Sie mehr über Feature Stores und wie Sie diese bei der Entwicklung von Machine Learning Modellen effektiv einsetzen können.


1. Was ist ein Feature?

Beim maschinellen Lernen lernt ein Vorhersagemodell, basierend auf vorherigen (Daten-)Beispielen, Vorhersagen zu treffen. „Features“ sind Attribute. Diese Attribute beschreiben eine einzelne Dateninstanz in einem Datensatz:

Beispiel für Features in einem Datensatz.
Abb. 1 Beispiel für Features in einem Datensatz.

Jede Zeile in der Tabelle ist eine Instanz von Daten, die für das Training oder die Inferenz von einem ML Modell verwendet wird. Spalten stellen einzelne Features dar, und jede Zelle der Spalte ist der Wert des entsprechenden Features.

Features, die als Trainingsdaten für Machine Learning Modelle verwendet werden, werden in einem Prozess namens Feature Engineering erstellt. Während dieses Prozesses wandeln ein Data Scientist Rohdaten in Features um, die von ML-Modellen verwendet werden können. 


2. Was ist ein Feature Store?

Das Feature Store ist ein zentrales Repository zur Verwaltung von Features, die speziell für den Data Science Prozess erstellt wurden. Ein Feature Store macht es möglich Features leicht und schnell zu finden wodurch diese problemlos projektübergreifend wiederverwendet werden könne. Dies steigert die Effizienz, Governance und Modellgeschwindigkeit.

Die meisten Machine Learning oder Deep Learning Modelle erfordern Hunderte bis Tausende von Features, die je nach Datentyp unterschiedlich verarbeitet werden können. Die Verwaltung einer großen Anzahl von Features ist jedoch nicht einfach, und dieselben Features können auf verschiedene Anwendungsfälle im maschinellen Lernen angewendet werden.

Beispielsweise verwendet ein Finanzinstitut zwei verschiedene Machine Learning Modelle: Modell A und Modell B. Modell A verwendet die Funktion „customer_occupation“, um die Kreditwürdigkeit eines bestimmten Kunden vorherzusagen. Ein anderes Modell, Modell B, verwendet die gleichen Features , um die Wahrscheinlichkeit vorherzusagen, dass dieser Kunde zu einem bestimmten Produkt wechselt, wenn ein Kreditgeber auf ihn zukommt. Es ist sinnvoll, die Features in diesen Modellen wiederzuverwenden, wenn dieselbe Art von Features in mehreren Anwendungen verwendet wird.


3. Komponenten eines Feature Stores

Ein moderner Feature Store besteht aus drei Hauptkomponenten: Transformation, Speicherung und Bereitstellung:

Komponenten eines Features Stores.
Abb. 2 Komponenten eines Features Stores.

Transformation

Machine Learning Modelle müssen häufig Rohdaten in Features umwandeln. Beispielsweise funktionieren ML/DL-Modelle nicht gut mit Features, die durch Kategorien oder Bezeichnungen wie Geschlecht oder Farbe dargestellt werden. Daher müssen Sie diese kategorialen Daten in ein geeigneteres Format konvertieren.

Andere typische Transformationen sind die Normalisierung von Daten. Der Feature Store organisiert diese Feature-Transformationen. In meisten Fällen gibt es hauptsächlich nur zwei Arten von Transformationen:

  1. Die Batch-Transformation ist nur für statische Daten verfügbar und kann in einer Datenbank, einem Data Warehouse oder einem Data Lake gefunden werden. Ein typisches Beispiel für solche Daten sind historische Kundendaten, die sich in Tabellen befinden (z. B. cusumer_job, customer_age, customer_country etc.).
  2. Streaming-Transformationen werden auf Daten in Bewegung oder Streaming-Quellen angewendet. Das bedeutet, dass Daten online transformiert werden, während sie die Feature-Store-Pipeline durchlaufen. Diese Art von Daten ist aktueller als die Daten in einer Datenbank oder einem Data Warehouse. Beispiele für Daten zur Anwendung von Streaming sind Klicks auf die Zielseite pro Benutzer in den letzten 30 Minuten oder Aufrufe pro Angebot pro Benutzer in der letzten Stunde.

Speicherung

Auf hoher Ebene ist ein Feature Store ein Repository von Feature Daten, die von Machine Learning Modellen verwendet werden. Der Feature Store unterscheidet sich architektonisch von einem herkömmlichen Data Warehouse, da er aus einer zweiteiligen Datenbank besteht:

  1. Die „Offline-Datenbank“ wird hauptsächlich für die Batch-Vorhersage und das Modelltraining verwendet. Diese Datenbank speichert eine große Menge historischer Merkmale, die zum Trainieren von ML Modellen verwendet werden.
  2. Die zweite Datenbank, die als „Online-Datenbank“ bezeichnet wird, bietet Online-Features mit geringer Latenz für trainierte Modelle, die bereits in Produktion sind. Diese Online-Datenbank erfüllt die Anforderung, die neuesten Funktionen für Vorhersagemodelle bereitzustellen.

Serving / Bereitstellung

Die im Feature Store gespeicherten transformierten Daten können nun abgerufen und ML/DL-Modellen zum Training oder zur Inferenz bereitgestellt werden. Dieser Vorgang wird als „Serving“ bezeichnet. Dieser Schritt ist wichtig, da er sicherstellt, dass immer die richtigen Features verwendet werden.

Für das Modelltraining werden Offline-Daten aus der Offline-Datenbank abgerufen und verwendet. Für die Bereitstellung von Features für ein Modell in der Produktion werden die Daten von der Online-Datenbank über eine leistungsstarke API mit geringer Latenz bereitgestellt.


4. Vorteile eines Feature Stores

Die Entwicklung von Modellen für maschinelles Lernen ist nicht einfach, vor allem, weil Systeme der künstlichen Intelligenz sehr komplex sind und viel menschliches Eingreifen erfordern. Data Engineering und Management für Machine Learning ist eine der zeitaufwändigsten Aufgaben in einem Data Science Projekt. Data Engineers müssen unterschiedliche Datenquellen und zugehörige Metadaten für Data Science Teams vorbereiten. Das Data Science Team identifiziert dann, was in einem Machine Learning Projekt nützlich sein könnte, und entwickelt Features zum Testen.

Machine Learning Projekte und -Anwendungen verschwenden nicht nur wertvolle Zeit bei der Datenvorbereitung, sondern sind auch teuer und schwer zu skalieren. Das Erstellen nicht standardmäßiger Features ist zeitaufwändig, kann zu zusätzlicher, inkonsistenter Arbeit zwischen Teams führen und verhindern, dass Modelle in die Produktion gehen, da die zum Trainieren des Modells verwendeten Daten in der Produktion nicht wiederherstellbar sind.

Um diese Komplexität zu veranschaulichen, zeigt das folgende Diagramm eine typische ML-Infrastruktur in einem ML Projekt. Es ist zu sehen, dass die Features in diesem Projekt nicht standardisiert und daher nicht skalierbar sind:

Nicht skalierbare ML-Infrastrutkur.
Abb. 3 Nicht skalierbare ML-Infrastruktur.

Skalierbarkeit von Features

In Abb. 3 greifen unterschiedliche Machine Learning Modelle auf dieselbe Datenquelle zu, um für jede Anwendung eine separate Datenaufbereitung zu ermöglichen. Dies bedeutet einen hohen Aufwand für die Datenaufbereitung und Codeduplizierung, was ein enormes Fehlerpotenzial birgt.

Es könnte auch bedeuten, dass Features in der Produktion nicht mehr effizient repliziert werden können. Im Folgenden finden Sie eine kurze Zusammenfassung der Probleme und Herausforderungen bei der Verwendung einer nicht standardisierten Infrastruktur für maschinelles Lernen:

  • Redundante Featureerstellung
  • Features sind nicht wiederverwendbar
  • Duplizierter Code
  • Features sind in der Produktion möglicherweise nicht verfügbar
  • Ressourcenintensive Datenverarbeitung

Data Science Teams können diese Herausforderungen vermeiden, indem sie Feature Stores verwenden. Indem Features im Speicher gehalten werden, können diese Features leicht von unterschiedlichen Modellen und Applikationen wiederverwendet werden, wodurch die Entwicklungszeit der ML Modelle verkürzt und die Reproduzierbarkeit der Modellentwicklung erhöht wird. Der Feature Store fungiert als zentraler Knotenpunkt für Machine Learning und kann die Effizienz von ML Teams verbessern, indem er Datenpipeline-Dschungel vermeidet.

Ohne einen Feature Store können unterschiedliche Machine Learning Modelle grundsätzlich dieselbe oder eine ähnliche Datenpipeline verwenden, um die gewünschten Features vorzubereiten, zu erstellen und darauf zuzugreifen. Im Gegensatz dazu bieten Feature Stores eine standardisierte Datenpipeline für alle Modelle.

Machine Learning Automatisierung

Mit Feature Stores lässt sich ein hohes Maß an ML-Automatisierung erreichen. Insbesondere wird die Datenintegrität durch automatisierte Datenvalidierungsregeln überprüft. Es kann prüfen, ob der Wert im gültigen Bereich liegt, das richtige Format und den richtigen Datentyp hat und nicht null ist.

Die Speicherung der Features kann auch die Geschwindigkeit der Modellbereitstellung verbessern, indem sichergestellt wird, dass Features immer für die Inferenz der Modelle verfügbar sind. Durch die Verwendung eines zentralen Datenspeichers zum Speichern von Trainingsdaten können Data Science Teams eine optimale Skalierbarkeit erreichen und die Effizienz von ML-Anwendungen verbessern.

Die folgende Abbildung zeigt, wie der Feature Store unabhängig vom Modell Features strukturieren kann:

Feature store
Abb. 3 Mittels Feature Store’s skalierbare ML-Infrastruktur.

Zusammenfassend lässt sich sagen, dass ein Feature-Store einem Data Science Team viele Vorteile bringt, darunter die folgenden:

  • Wiederverwendbarkeit von Merkmalen
  • Reproduzierbarkeit
  • Qualitätssicherung von Funktionen
  • Effizienter Einsatz von Data Scientists (die Zeit wird erheblich reduziert)
  • Hoher Grad an ML-Automatisierung
  • Entstehen einer zentralen Drehscheibe für ML
  • Skalierbarkeit der Datenwissenschaft, wobei neue Projekte und Modelle schneller skaliert und implementiert werden können, da Daten, Infrastruktur und standardisierte Prozesse bereits vorhanden sind

©KI-Tutorials

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert