Einführung in den Data Science Workspace von Adobe

Datenwissenschaft einfacher gemacht

Mitte 2019 hat Adobe den Data Science Workspace (DSW) für seine CDP, die Adobe Experience Platform (AEP), eingeführt. Bestehende Kundinnen und Kunden der AEP können ihre Daten ohne weitere Umwege nutzen, um ihre Marketing-Kampagnen mit maschinellem Lernen zu verbessern, z. B:

  • Customer Journey-Optimierung

  • Churn-Vorhersage Kaufwahrscheinlichkeit

  • Berechnung des Customer Lifetime Value

  • Kundensegmentierung

Adobe verspricht, dass der Data Science Workspace alles abdeckt, was ein Data Scientist (zu Deutsch: Datenwissenschaftler) für die erfolgreiche Entwicklung von Machine-Learning-Modellen (ML-Modellen) benötigt. Von der ersten Datenexploration bis hin zur Erstellung, Bereitstellung und Überwachung von Machine-Learning-Modellen.

Alles an einem Ort: Datenwissenschaft einfach gemacht

Der einzigartige Vorteil von Adobes Lösung besteht darin, dass sie in die AEP integriert ist und den Datenzugriff auf alle bereits erfassten Geschäftsdaten ermöglicht. Es ist nicht notwendig, eine neue Infrastruktur für das Laden und Verarbeiten der Daten aufzubauen. Auch Datensicherheit und -verwaltung werden direkt aus dem AEP übernommen, sodass kein zusätzlicher Aufwand für die Implementierung erforderlich ist.

Einführung in den Data Science Workspace von Adobe

Was ist der Data Science Workspace?

Der Data Science Workspace ist eine in die AEP integrierte Umgebung, die die wesentlichen Aufgaben eines Data Scientist unterstützt - von der explorativen Datenanalyse bis zur Entwicklung von Machine-Learning-Modellen.

Das Vorhandensein einer integrierten Data-Science-Umgebung ist bereits ein wesentlicher Unterschied zu anderen CDPs; alle Daten sind bereits zugänglich, und es ist kein zusätzlicher Datenexport erforderlich. Der Kernnutzen des Data Science Workspace sind interaktive Notebooks, die es ermöglichen, Python-, R- oder Scala-Code auszuführen. Im Gegensatz zu AWS (Sagemaker), Google (Colab) oder Microsoft (Databricks/Synapse) setzt Adobe nicht auf Eigenentwicklungen oder Anpassungen, sondern auf die wohl am weitesten verbreitete und genutzte Lösung: Jupyter.

Jupyter Notebooks sind der Kern des Data Science Workspace.

Innerhalb des Data Science Workspace werden Jupyter-Notebooks verwendet, um auf die wesentlichen Funktionen des Data Science Workspace zuzugreifen:

  • Datenzugriff

  • Explorative Datenanalyse

  • Erstellung von Modellen

  • Veröffentlichung von Modellen

Datenzugriff

Einer der wesentlichen Vorteile des Data Science Workspace ist der Zugriff auf die im AEP gespeicherten Daten. Insbesondere profitiert man hier von Adobes Experience Data Model (XDM) und damit von einer Vielzahl bereits konsolidierter Datenschemata. Kurzum: alle bestehenden Datensätze, die bereits für Marketingkampagnen verwendet werden, stehen zur Verfügung. Darüber hinaus ist es möglich, alle Arten von externen Datensätzen, wie Wetter- oder Börsendaten, einzubinden. Insgesamt gibt es drei verschiedene Arten, um auf die Datensätze zuzugreifen:

1. Der Direktzugriff auf den Abfragedienst von AEP (AEP Query Service) von einem Notebook ist wahrscheinlich der flexibelste. Man kann direkt auf die Datensätze zugreifen und sie mit Hilfe von SQL-Abfragen vorverarbeiten. Allerdings sind diese Abfragen durch eine Laufzeit von 10 Minuten begrenzt. Das macht diesen Ansatz für komplexe Abfragen über große Datenmengen ungeeignet. In diesem Fall kann man auf das "Create Table as Select"-Muster (CTAS) zurückgreifen, d. h. die Erstellung einer neuen Tabelle direkt aus einer Select-Anweisung oder über eine der beiden anderen Möglichkeiten. Die Ausgabe der Abfrage ist in Form eines DataFrame direkt zugänglich.

2. Die zweite Möglichkeit ist eine benutzerdefinierte API, die von Adobe für Python oder Scala entwickelt wurde. Die API ermöglicht das direkte Laden von Datensätzen in das entsprechende Notebook. Es ist möglich, die Daten nach einfachen Kriterien zu filtern, aber die API ist bei weitem nicht so fortschrittlich wie die SQL-Schnittstelle.

3. Schließlich ermöglicht der Data Science Workspace auch die Abfrage der Daten mit Spark. Ohne sich um die Bereitstellung eines Clusters kümmern zu müssen, kann Spark verwendet werden, um selbst große Datensätze zu verarbeiten und zu analysieren sowie Modelle mit SparkML zu trainieren.

Explorative Datenanalyse

Das Erforschen und Verstehen von Daten mittels explorativer Datenanalyse ist nicht nur entscheidend für den Aufbau eines maschinellen Lernens, das Ihre Marketingkampagnen vorantreiben kann, sondern hat auch einen eigenständigen Wert. Diese Art Datenanalyse hilft Ihnen dabei, Ihre Entscheidungen auf Daten zu stützen. Der direkte Datenzugriff in Notebooks ist bereits fast alles, was ein Data Scientist braucht, um diese Art von Aufgabe technisch zu bewältigen.

Die Jupyter Notebooks ermöglichen die interaktive Datenexploration.

Innerhalb der DSW-Notebooks können alle bekannten Bibliotheken zur Analyse und Visualisierung der Daten verwendet werden, von NumPy und Pandas über Matplotlib bis hin zu Plotly. Falls zusätzliche Python-Pakete benötigt werden, können diese mit conda oder pip installiert werden. Der Data Science Workspace selbst bietet keine Möglichkeiten zur Erstellung von Dashboards. Das ist jedoch kein großes Problem, da PowerBI in den AEP integriert werden kann. Mit diesen Dashboards kann man alle von EDAs generierten Erkenntnisse visualisieren und bereitstellen.

Entwicklung von Machine-Learning-Modellen

Ein weiteres einzigartiges Feature des AEP Data Science Workspace wird „Recipe“ genannt. In der AEP-Terminologie ist ein „Recipe“ ein Container für einen Machine-Learning-Algorithmus mit zugehöriger Logik, die das Training, die Bewertung und die Ausführung des Algorithmus ermöglicht.

Um ein „Recipe“ zu erstellen, wird ebenfalls ein Jupyter Notebook benötigt. Neben benutzerdefinierten Recipes bietet Adobe auch vorgefertigte Recipes insbesondere für Produktempfehlungen, Kaufvorhersagen und Umsatzprognosen an. Diese vorgefertigten Recipes können aufgrund ihres vordefinierten Datenschema und keine Daten einbeziehen, die nicht in diesem Schema enthalten sind, was sie für viele Situationen unbrauchbar macht.

Im Test wurde der Vorteil deutlich, ein Plain-Model in einem normalen Notebook zu bauen, trainieren und auszuwerten, ohne die Funktionen von „Recipes“ zu verwenden. Obwohl „Recipes“ die Möglichkeit bieten, Modelle zu trainieren und Hyperparameter zu optimieren, sind diese Möglichkeiten im Vergleich zum Notebook sehr eingeschränkt.

“Recipes” für Training und Operationalisierung von ML-Modellen

Obwohl Recipes in der Entwicklung von Machine-Learning-Modellen nur eingeschränkt nutzbar sind, eignen sie sich hervorragend, um ML-Modelle zu operationalisieren. Der typische Arbeitsablauf für die Produktionsbereitstellung eines ML-Modells besteht darin, es in eine Anwendung mit einer REST-API zu integrieren und zu containerisieren. Der Vorteil: Bei der Verwendung von Recipes ist dieser Aufwand nicht erforderlich. Um ein Recipe zu erstellen, müssen nur zwei Steps durchgeführt werden:

1. Drei Datensätze vorbereiten: das Trainings-Datenset, das Scoring-Datenset und das Ergebnis-Datenset. Der Trainingsdatensatz enthält die Daten für das eigentliche Training sowie für das Testen des Modells, der Scroing-Datensatz enthält die Daten für die Validierung des Modells und die Berechnung der Metriken und der Ergebnis-Datensatz könnte einfach eine leere Tabelle sein, in der die Ergebnisse des Modells gespeichert werden.

2. Der detaillierte Prozess wird in diesem Video erklärt: Erstellen eines Modells mit JupyterLab Notebooks. Das 'Recipe Builder'-Notebook definiert mehrere Methoden, die mit Leben gefüllt werden müssen. Es muss definiert werden, wie die Trainings- und Bewertungsdaten geladen, das Modell trainiert und gewichtet sowie die Bewertungsmetriken berechnet werden sollen.Die Aufteilung der Daten für die Auswertung und Bewertung der Modelle ermöglicht es, das Training und die Bewertung des Modells außerhalb des Notebooks über die Benutzeroberfläche durchzuführen und die Hyperparameter zu ändern. Wir haben bereits erwähnt, dass wir diesen Schritt als lästig empfinden. Außerdem ist er unnötig; die gesamte Optimierung der Hyperparameter kann im Vorfeld in einem Notebook einfacher und effektiver durchgeführt werden. Sobald das "Recipe Builder"-Notebook erstellt und ausgeführt wurde, ist es unter dem Modellabschnitt in der Benutzeroberfläche zu finden.

Aus diesem Recipe kann man im Anschluss ein Modell erstellen, indem man es mit ein paar Klicks in der Benutzeroberfläche trainiert und auswertet. Aus einem trainierten Modell wiederum kann man einen Dienst erstellen, der dann bereit ist, nach einem Zeitplan ausgeführt zu werden. Die Hierarchie lautet also: Recipe -> Modell -> Dienst. Mit Hilfe der Benutzeroberfläche kann man Modelle und Dienste leicht überwachen, ein Abdriften der Metriken feststellen, sie neu trainieren oder das in einem Dienst bereits verwendete Modell durch ein verbessertes ersetzen.

Fazit

Insgesamt ist der Data Science Workspace eine solide Lösung, wenn Sie mehr aus den Daten Ihrer CDP herausholen wollen. Der größte Vorteil ist, dass Sie einen Vorsprung bei der Erstellung von Diensten wie Kundensegmentierung, Produktempfehlungen oder Kaufwahrscheinlichkeiten erhalten. Es ist keine Bereitstellung einer separaten Infrastruktur, keine Konfiguration von Cloud-Diensten und vor allem kein Import von bereits in Ihrer CDP gespeicherten Daten erforderlich. Das hat jedoch einen natürlichen Nachteil: Man ist auf die von Adobe bereitgestellten Werkzeuge und Workflows beschränkt. In der aktuellen Version ist es zum Beispiel nicht möglich, JupyterLab-Plugins oder fortgeschrittene Tooling-Lösungen wie Data Version Control (DVC) oder MLFlow zur Anpassung zu laden.

Der zweite große Vorteil ist die Möglichkeit, Machine-Learning-Modelle zu operationalisieren, ohne eine separate Anwendung zu erstellen. Selbst wenn ein Data Scientist keine Erfahrung in der Softwareentwicklung und der Überführung eines Modells in die Produktion hat, ist kein zusätzlicher Software-Ingenieur erforderlich. Jeder Data Scientist sollte in der Lage sein, ein Modell zu erstellen und einen Dienst daraus zu machen, indem er einfach Jupyter-Notebooks verwendet.

Achtung: Diese einfache Operationalisierung von ML-Modellen ist nur möglich, wenn Sie das "Adobe Experience Platform Intelligence plus Advanced Intelligence Pack Add-on" erwerben. Das "Intelligence only package" bietet lediglich die Möglichkeit, auf Daten zuzugreifen und diese zu analysieren sowie Machine-Learning Modelle manuell zu trainieren.

Bei der Arbeit mit dem Data-Science-Arbeitsbereich gibt es drei Nachteile:

  • Die Suche nach Ressourcen beschränkt sich auf Adobe-Dokumentation und eine überschaubare Anzahl von Blogbeiträgen,

  • es gibt keine breite Community und

  • Sie finden möglicherweise keine Antwort auf Ihre Frage auf StackOverflow.

Für das Echtzeitmodell entwickelt Adobe seit langem im Alpha-Stadium. Wir sind gespannt, ob wir dieses Feature demnächst testen können. Insgesamt werden Sie die aufgezeigten Herausforderungen nicht daran hindern, fortschrittliche Analysen und maschinelles Lernen für Ihre Marketingkampagnen mit dem Adobe Data Science Workspace ein- und umzusetzen.