In der heutigen Welt der künstlichen Intelligenz (KI) bilden Daten die Grundlage für leistungsfähige Modelle und präzise Vorhersagen. Dabei ist die Art und Weise, wie Daten transformiert und aufbereitet werden, von entscheidender Bedeutung für den Erfolg eines KI-Systems. Um jedoch nachhaltige und effiziente KI-Lösungen zu entwickeln, die über mehrere Modelle hinweg funktionieren, ist es essenziell, ein tiefes Verständnis der verschiedenen Arten von Daten-Transformationen zu haben. Die sogenannte Taxonomie der Daten-Transformationen in KI-Systemen bietet hierfür eine klare und strukturierte Klassifikation, die Data Scientists und Ingenieure dabei unterstützt, zu entscheiden, welche Transformationen wo im Pipeline-Prozess verortet werden sollten. Diese Einteilung sorgt nicht nur für bessere Wiederverwendbarkeit von Features, sondern trägt auch dazu bei, Verzerrungen zwischen Trainings- und Inferenzphasen zu vermeiden.
\n\nWichtig ist zu verstehen, dass nicht alle Daten-Transformationen gleich sind, insbesondere wenn es um die Wiederverwendung von Features in unterschiedlichen Modellen geht. Grundsätzlich lassen sich Transformationen in drei Kategorien unterteilen: modellunabhängige, modellabhängige und On-Demand-Transformationen. Modellunabhängige Transformationen erzeugen Feature-Daten, die über verschiedene Modelle hinweg verwendbar sind. Hierbei handelt es sich meist um grundlegende Datenvorbereitungen wie Gruppierungen, Aggregationen, das Erstellen von Zeitfenster-Features oder die Verknüpfung von Datensätzen. Diese Transformationen sind universell und können im sogenannten Feature Store gespeichert werden, damit sie effizient in Training und Inferenz eingesetzt werden können.
\n\nIm Gegensatz dazu sind modellabhängige Transformationen spezifisch auf ein einzelnes Modell zugeschnitten. Diese Art von Transformationen hängt unmittelbar von den Trainingsdaten des jeweiligen Modells ab und umfasst beispielsweise Normalisierungen, Skalierungen oder Kodierungen, die speziell darauf ausgelegt sind, die Leistung eines bestimmten Modells zu optimieren. Ein klassisches Beispiel ist die Normalisierung eines Kunden-Transaktionswerts mit den statistischen Kennzahlen des Trainingsdatensatzes. Solche Transformationen können nicht einfach zwischen Modellen ausgetauscht werden, da jede Modellvariante ihre eigenen Parameter benötigt und damit individuelle Transformationen durchläuft.\n\nDie dritte Kategorie, die On-Demand-Transformationen, wird vor allem in Echtzeit-KI-Anwendungen relevant, in denen Daten erst zur Abfragezeit vorliegen.
Typische Beispiele sind räumliche Transformationen wie die Umrechnung von Längen-/Breitengraden in Postleitzahlen oder die Berechnung von Features basierend auf aktuellen Nutzeranfragen. On-Demand-Features sind dynamisch und können sowohl modellunabhängig als auch modellabhängig sein, je nachdem, ob sie im Nachgang noch modellspezifischen Transformationen unterzogen werden.\n\nEin tieferes Verständnis dieser Taxonomie sorgt auch für eine bessere Steuerung des sogenannten Online-Offline-Skews – ein häufig auftretendes Problem, bei dem Diskrepanzen zwischen Trainings- und Produktionsumgebungen zu Performance-Einbußen führen können. Diskrepanzen entstehen häufig, weil Trainingspipelines und Echtzeit-Inferenzpipelines unterschiedliche Implementierungen oder Datenquellen für ihre Transformationen nutzen. Dadurch entstehen Abweichungen in den Daten, die den Vorhersageprozess negativ beeinflussen.
Das Einhalten der Taxonomie hilft, solche Inkonsistenzen zu identifizieren und zu vermeiden, indem Transformationen konsistent an den richtigen Stellen im Workflow implementiert werden.\n\nDie Relevanz und der Nutzen eines Feature Stores sind in diesem Kontext besonders hoch. Feature Stores fungieren als zentrale Infrastruktur, in der modellunabhängige Features vorgehalten und für verschiedene Modelle immer wieder bereitgestellt werden können. Dies spart nicht nur Rechenressourcen, sondern verbessert auch die Qualität und Konsistenz der Features durch eine erhöhtere Nutzung. Allerdings ist die Herausforderung, modelldependent kodierte Features korrekt zu handhaben, weiterhin groß.
Werden kodierte Features etwa zu früh in die Speicherung übernommen, kann dies die Wiederverwendbarkeit beeinträchtigen und die Fehlersuche erschweren. Folglich sollte die Modell-spezifische Transformation in Trainings- und Inferenzpipelines einheitlich erfolgen und nicht Teil der gespeicherten Features sein.\n\nModerne Feature Stores wie Hopsworks bieten bereits umfangreiche Unterstützung für die vollständige Taxonomie der Daten-Transformationen an. Hierbei können nicht nur modellunabhängige Features als Feature Groups gespeichert, sondern auch modellabhängige und On-Demand-Transformationen als Funktionen oder User-Defined Functions (UDFs) verwaltet und konsistent in Trainings- wie Inferenzpipelines integriert werden. Dies verhindert Online-Offline-Skew und sorgt für eine schnelle Iteration bei der Modellentwicklung und Inferenzproduktion.
Andere bekannte Feature Stores bieten diese umfassende Unterstützung häufig nur eingeschränkt an – oftmals sind On-Demand-Transformationen nur als modelldependent Umsetzungen möglich, was zu Ineffizienzen und Mehraufwand bei der Trainingsdatenerstellung führt.\n\nDie praktische Umsetzung der Taxonomie erfordert ein sorgfältiges, pipelineübergreifendes Design. Feature Pipelines sollten sich damit auf die Erzeugung von modellunabhängigen Features konzentrieren und On-Demand-Transformationen, die modellunabhängig sind, bereits im Feature Store backfillen, also auch für historische Daten berechnen. Modellabhängige Transformationen, etwa Kodierungen oder Skalierungen, sind dagegen Bestandteil von Trainings- und Inferenzpipelines, wobei sichergestellt sein muss, dass sie überall identisch ablaufen, um Fehlanpassungen in der Produktion zu vermeiden.\n\nDie Fortschritte bei der Nutzung von Pandas UDFs oder Python UDFs erlauben eine skalierbare und performante Ausführung dieser Transformationen in verteilten Umgebungen.
Insbesondere Pandas UDFs ermöglichen eine vektorbasierte Datenverarbeitung, die signifikant schneller als traditionelle Pythonfunktionen ist und sich problemlos für Machine-Learning-Workloads anpassen lässt. Damit ist es möglich, auch komplexe Transformationen sowohl offline zur Trainingsdatenerstellung als auch online im Echzeitbetrieb performant anzuwenden.\n\nEbenfalls wichtig für eine hohe Effizienz sind deklarative Definitionen von Transformationen, wie sie etwa in Hopsworks Feature Views genutzt werden. Diese speichern neben der reinen Feature-Auswahl auch die zugehörigen Transformationen, inklusive der modellspezifischen Schritte. Dadurch kann eine versionierte und reproduzierbare Datenpipeline geschaffen werden, die garantiert dieselben Daten für Training und Inferenz liefert und dabei Versionskonflikte vermeidet.
\n\nWer eine nachhaltige, skalierbare und robuste KI-Infrastruktur anstrebt, kommt an der Taxonomie der Daten-Transformationen nicht vorbei. Sie stellt ein grundlegendes Konzept dar, das alle Beteiligten, von Data Engineers bis zu Machine-Learning-Ingenieuren, verstehen und korrekt anwenden müssen. Darüber hinaus sollte die Auswahl des Feature Stores maßgeblich von dessen Unterstützung der vollständigen Taxonomie abhängen, um spätere Umwege und technische Schulden zu vermeiden. Auch für Unternehmen, die Echtzeit-Anwendungen betreiben, sind die Fähigkeiten, On-Demand-Transformationen effizient umzusetzen und konsistent zu verwalten, von großer Bedeutung.\n\nZukünftige Entwicklungen in der KI-Architektur werden diesen Bedarf weiter erhöhen.