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.