Model databases track the accuracy of models on pre-trained weights. The models are stored as executable code and extracted on deployment. Instead of extracting runnable code and data out of a database system, we propose higher-order SQL lambda functions for in-database execution. SQL lambda expressions have been introduced to let the user customise otherwise hard-coded data mining operators such as the distance function for k-means clustering. However, database systems parse lambda expressions during the semantic analysis, which does not allow for functions as arguments.

In this proposal, we envision database systems taking over the entire life cycle of a machine learning pipeline.
The goal is to store and retrieve models completely in SQL, a standardised declarative language, which we want to establish as the general-purpose language for machine learning. Thus we tune database systems for machine learning by providing higher-order lambda functions to be used as model functions. Further, we implement the required data types, matrices on specialised floating point numbers, natively into database systems and support hardware accelerators such as GPUs. Finally, we want to improve database optimisers for machine learning workloads.

Modelldatenbanken überwachen die Genauigkeit der Modelle anhand von vorab trainierten Gewichten. Die Modelle werden als ausführbarer Code gespeichert und bei der Anwendung extrahiert. Anstatt lauffähigen Code und Daten aus einem Datenbanksystem zu extrahieren, schlagen wir SQL-Lambda-Funktionen höherer Ordnung für die datenbankinterne Ausführung vor. SQL-Lambda-Ausdrücke wurden eingeführt, um dem Benutzer die Möglichkeit zu geben, ansonsten fest kodierte Data-Mining-Operatoren wie die Distanzfunktion für das k-means-Clustering anzupassen. Allerdings parsen Datenbanksysteme Lambda-Ausdrücke während der semantischen Analyse, was Funktionen als Argumente nicht zulässt.

In diesem Antrag schlagen wir vor, dass Datenbanksysteme den gesamten Lebenszyklus einer Pipeline für maschinelles Lernen übernehmen. Das Ziel ist es, Modelle vollständig in SQL zu speichern und abzurufen, einer standardisierten deklarativen Sprache, die wir als Allzwecksprache für maschinelles Lernen etablieren wollen. So optimieren wir Datenbanksysteme für maschinelles Lernen, indem wir Lambda-Funktionen höherer Ordnung bereitstellen, die als Modellfunktionen verwendet werden können. Außerdem implementieren wir die benötigten Datentypen, Matrizen auf spezialisierten Gleitkommazahlen, nativ in Datenbanksystemen und unterstützen Hardwarebeschleuniger wie GPUs. Schließlich wollen wir den Datenbankoptimierer für maschinelles Lernen verbessern.