Marko Kabić

DB
h-index3
3papers
3citations
Novelty40%
AI Score35

3 Papers

7.3DBMay 15
To GPU or Not to GPU: Vector Search in Relational Engines

Vasilis Mageirakos, Joel André, Marko Kabić et al.

Vector search (VS) is now available in most database engines. However, while vector search is a common feature in AI/ML/LLMs where the dominant computing platforms are GPUs, existing database engines operate on CPUs even when implementing vector search. This raises the question of whether integrating vector processing on GPUs as part of the engine would be a better design. In this paper, we explore this question in detail. First, we extend the TPC-H benchmark with vector data (from text and images) and propose a number of representative SQL+VS queries. Second, we develop a modular execution engine that can run SQL+VS queries across CPU and GPU. Third, we perform extensive experiments on a number of deployments: running the SQL+VS queries across CPU and/or GPU, with data residing in CPU or GPU memory, with existing indices and novel, optimized versions, as well as across different GPUs and interconnects (PCIe, NVLink). The results provide actionable and counter-intuitive insights on how to run such queries over CPUs and GPUs. For instance, the relational components benefit much more from running on the GPU than the vector search part. In addition, when the vector search involves moving data and indexes, using the GPU is not the best option, even with fast interconnects. Thus, we develop an alternative organization of vector index and embeddings that reduces the size of the index, making GPU-based vector search more competitive. With these improvements, the final result is that both the relational and vector search components are faster on the GPU, particularly on fast interconnects, in contrast with the architecture used in existing engines.

7.7LGFeb 13, 2023
A Unified View of Long-Sequence Models towards Modeling Million-Scale Dependencies

Hongyu Hè, Marko Kabic

Ever since their conception, Transformers have taken over traditional sequence models in many tasks, such as NLP, image classification, and video/audio processing, for their fast training and superior performance. Much of the merit is attributable to positional encoding and multi-head attention. However, Transformers fall short in learning long-range dependencies mainly due to the quadratic complexity scaled with context length, in terms of both time and space. Consequently, over the past five years, a myriad of methods has been proposed to make Transformers more efficient. In this work, we first take a step back, study and compare existing solutions to long-sequence modeling in terms of their pure mathematical formulation. Specifically, we summarize them using a unified template, given their shared nature of token mixing. Through benchmarks, we then demonstrate that long context length does yield better performance, albeit application-dependent, and traditional Transformer models fall short in taking advantage of long-range dependencies. Next, inspired by emerging sparse models of huge capacity, we propose a machine learning system for handling million-scale dependencies. As a proof of concept, we evaluate the performance of one essential component of this system, namely, the distributed multi-head attention. We show that our algorithm can scale up attention computation by almost $40\times$ using four GeForce RTX 4090 GPUs, compared to vanilla multi-head attention mechanism. We believe this study is an instrumental step towards modeling million-scale dependencies.

1.6IRDec 13, 2020
A Refined SVD Algorithm for Collaborative Filtering

Marko Kabić, Gabriel Duque López, Daniel Keller

Collaborative filtering tries to predict the ratings of a user over some items based on opinions of other users with similar taste. The ratings are usually given in the form of a sparse matrix, the goal being to find the missing entries (i.e. ratings). Various approaches to collaborative filtering exist, some of the most popular ones being the Singular Value Decomposition (SVD) and K-means clustering. One of the challenges in the SVD approach is finding a good initialization of the unknown ratings. A possible initialization is suggested by [1]. In this paper we explain how K-means approach can be used to achieve the further refinement of this initialization for SVD. We show that our technique outperforms both initialization techniques used separately.