Wie Sie TensorFlow mit SAP HANA EML nutzen können

Apostolos Kouzoukos

Geschrieben von: Apostolos Kouzoukos - 15 Juni 2020
(Aktualisiert am: 21 Juni 2023)

SAP HANA External Machine Learning (EML) erlaubt als Teil der SAP HANA Application Function Library (AFL) die Ausführung von bereits trainierten TensorFlow Modellen. Damit können Sie von den Vorteilen dieses Frameworks profitieren und viele Fragestellungen des maschinellen Lernens angehen. TensorFlow ist im besonderen Maße für die Anwendung von neuronalen Netzen, beispielsweise im Rahmen des Deep Learnings, geeignet.

Was ist TensorFlow?

TensorFlow ist ein plattformunabhängiges Open-Source Framework für maschinelles Lernen, künstliche Intelligenz und Deep Learning, welches ursprünglich von Google entwickelt wurde. Es bietet vielfältige Einsatzmöglichkeiten, beispielsweise in den Bereichen Bilderkennung, Spracherkennung sowie Zeitreihenanalyse und ermöglicht es, lernende neuronale Netze zu erstellen. Dabei zeichnet es sich durch hervorragende Skalierbarkeit aus und kann sowohl auf einem On-Premise Szenario oder in der Cloud auf einer Vielzahl von Rechnenkernen (CPUs, GPUs, TPUs) eingesetzt werden. Darüber hinaus unterstützt TensorFlow mehrere Programmiersprachen wie beispielsweise Python und C++.

Wie kann ich TensorFlow mit SAP HANA nutzen?

Die Integration von Google TensorFlow in SAP HANA basiert auf der SAP HANA Application Function Library (AFL). Dabei ist es möglich, über SQL Script mit den TensorFlow Modellen zu interagieren. Dieses SQL Script wird in SAP HANA ausgeführt. Mit dem gRPC-Remoteprozeduraufruf von Google greift SAP HANA auf Modelle zu, die im SavedModel-Format aus dem TensorFlow Serving-System exportiert wurden.

Eine Übersicht der Architektur können Sie der nachfolgenden Skizze entnehmen:

EML Architektur

Mit dem AFL Framework können vordefinierte TensorFlow-Modelle über gRPC-Aufrufe, die in AFL-Prozeduren gekapselt sind, remote aufgerufen werden. Beim EML AFL handelt es sich um die TensorFlow Serving Client-Implementierung für SAP HANA.

Unter Verwendung des TensorFlow ModelServers (TMS) können TensorFlow-Modelle, die im SavedModel-Format exportiert wurden, über gRPC-Remoteprozeduraufrufe ausgeführt werden. Die Modelle werden im SavedModel-Format auf dem TMS gespeichert. Bei den aktiven Modellen handelt es sich um Modelle, die zur Ausführung verfügbar sind. Der gRPC-Server dient als Schnittstelle für die Kommunikation mit dem TMS-Client. 


Wie Sie SAP BW und State of the Art Machine Learning zusammenbringen 

Whitepaper Machine Learning


Voraussetzungen

Um SAP HANA EML Funktionen nutzen zu können, benötigen Sie die SAP HANA Platform mit der Version, die der EML Version entspricht. Darüber hinaus müssen Sie die Application Function Library (AFL) installieren, welche die External Machine Learning Library (EML) enthält. Bitte beachten Sie, dass die Revisionsnummer der AFL mit der Revisionsnummer von SAP HANA übereinstimmen muss. Schließlich müssen Sie den Script Server auf der SAP HANA-Instanz aktivieren. Weiterführende Informationen können Sie den SAP Notes 1898497 und 1650957 entnehmen.

Einsatzszenarien von SAP HANA EML

Einsatzszenarien

Das TMS kann in der SAP-HANA-Landschaft oder auf separaten Hardware-Ressourcen eingesetzt werden.

TMS Co-Deployment in der SAP-HANA-Landschaft

Ein Co-Deployment in der SAP HANA stellt die einfachste Einrichtung dar, da keine zusätzliche Hardware benötigt wird. Diese Art der Einrichtung kommt vor allem bei Test-, Entwicklungs- und anderen nicht produktiven Szenarien zum Einsatz. Für zusätzliche Sicherheit und Robustheit sollten die TMS-Instanzen so konfiguriert werden, dass sie in einem entsprechend konfigurierten Container auf den Host-Rechnern laufen.

 

TMS Deployment auf separaten Hardware-Ressourcen

In Produktionsumgebungen dagegen müssen TMS-Ressourcen von SAP HANA getrennt gehalten werden.

 

Einschränkungen

Wegen Besonderheiten der HANA-Datenbank werden nicht alle TensorFlow Datentypen und Formen unterstützt. External Machine Learning AFL unterstützt diejenigen Tensor Formen und Datentypen, die sich relativ einfach zwischen Standard-SQL-Tabellen und Datentypen und Tensoren mappen lassen. 

Eine Übersicht der unterstützten Datentypen und Formen finden Sie in der folgenden Tabelle:

Tabelle-TensorFlow SAP-HANA-EMLEine weitere große Einschränkung stellt die Tatsache dar, dass mit EML kein (Neu-)Training der Modelle möglich ist. Es können nur bereits vor-trainierte Modelle ausgeführt werden.

Unser Fazit - TensorFlow mit SAP HANA EML

SAP HANA External Machine Learning (EML) generiert als Teil der SAP Application Function Library (AFL) Vorhersagen mittels extern vor-trainierter TensorFlow-Modelle. Als Plattform ist TensorFlow auf dem neuesten Stand der Technik, beliebt bei Fachanwendern und kann wertvolle Prognosen aus Daten ableiten. Allerdings fehlt die Möglichkeit, das Modell zu trainieren oder im Zeitverlauf zu aktualisieren. Weiterhin werden aufgrund HANA-spezifischer Einschränkungen nicht alle Tensortypen unterstützt. Somit kann das Werkzeug nicht den vollen ML-Lebenszyklus abbilden und ist kompliziert in der Benutzung. Gerade Fachanwender bevorzugen häufig eine Verwendung von TensorFlow über die Programmiersprache Python und haben nur geringe Kenntnisse über die entsprechenden SAP Tools.

Wenn Sie wertvolle Einblicke gewinnen und dabei den vollen Durchblick sowie die Kontrolle behalten wollen, legen wir Ihnen unser Whitepaper “SAP BW und State of the Art Machine Learning” ans Herz. In diesem beleuchten wir das Machine Learning Portfolio von SAP und geben klare Empfehlungen, wie Sie wertvolle Mehrwerte aus Ihren Daten generieren können.

Erfahren Sie mehr über Machine Learning und KI

Themen: Machine Learning

Beitrag teilen

Sie haben eine Frage zum Blog?
Fragen Sie Apostolos Kouzoukos