Recursive SQL and GPU-Support for In-Database Machine Learning

Faculty/Professorship: Data Engineering 
Author(s): Schüle, Maximilian  
Title of the compilation: Lecture Notes in Informatics (LNI) : Proceedings ; P-331
Editors: König-Ries, Birgitta; Scherzinger, Stefanie; Lehner, Wolfgang; Vossen, Gottfried
Conference: BTW 2023 : 20th Conference on Database Systems for Business, Technology and Web, March 6 - 10, 2023, Dresden
Publisher Information: Bonn : Gesellschaft für Informatik e.V.
Year of publication: 2023
Pages: 931
ISBN: 978-3-88579-725-8
Language(s): English
DOI: 10.18420/BTW2023-62
But to retrieve the latest data from a database, time-consuming extraction is necessary as database systems have rarely been used for operations such as matrix algebra and gradient descent.In this work, we demonstrate that SQL with recursive tables makes it possible to express a complete machine learning pipeline out of data preprocessing, model training and its validation.To facilitate the specification of loss functions, we extend the code-generating database system Umbra by an operator for automatic differentiation for use within recursive tables:With the loss function expressed in SQL as a lambda function, Umbra generates machine code for each partial derivative.We further use automatic differentiation for a dedicated gradient descent operator, which generates LLVM code to train a user-specified model on GPUs.We fine-tune GPU kernels at hardware level to allow a higher throughput and propose non-blocking synchronisation of multiple units.In our evaluation, automatic differentiation accelerated the runtime by the number of cached subexpressions compared to compiling each derivative separately.Our GPU kernels with independent models allowed maximal throughput even for small batch sizes, making machine learning pipelines within SQL more competitive.
GND Keywords: SQL; Grafikprozessor; Maschinelles Lernen
Keywords: SQL, Machine Learning
DDC Classification: 004 Computer science  
RVK Classification: ST 270   
Type: Conferenceobject
Release Date: 4. April 2023