-
Notifications
You must be signed in to change notification settings - Fork 3
/
morpheus.jemdoc
56 lines (37 loc) · 3.84 KB
/
morpheus.jemdoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# jemdoc: menu{MENU2}{morpheus.html}
= ADA Lab @ UCSD
~~~
{}{img_left}{images/morpheus.jpg}{}{}{80px}{}
== Project Morpheus
~~~
=== Overview
Applying ML to structured data often involves performing relational operations as part of feature and data engineering. For instance, joins before ML are ubiquitous, since many datasets in the real world are multi-table, while almost all ML toolkits expect single-table inputs. This forces data scientists to join those tables and /materialize/ a single table, which leads to data redundancy and runtime waste. In recent work ([orion.html Project Orion]), we introduced the paradigm of “factorized” ML to mitigate this issue for a few specific ML algorithms by showing how to push ML through joins. But that approach requires a manual rewrite of ML implementations. Such a piecemeal approach creates a massive development overhead when extending factorized ML to other ML algorithms.
In this project, we mitigate the above overhead by leveraging a popular formal algebra to represent the computations of many ML algorithms: linear algebra (LA). We introduce a new logical data type to represent multi-table data and devise a framework of algebraic rewrite rules to convert a large set of LA operations over denormalized data into operations over the base tables. This enables us to automatically factorize several popular ML algorithms, thus unifying and generalizing prior works. Experiments with real-world multi-table datasets show that our approach also yields significant runtimes speed-ups in multiple ML system environments.
We have protoyped Morpheus in the popular R environment. Versions in Python and TensorFlow, as well as Apache SystemML are in the works. This project sets the stage for a holistic unification of relational algebra-based feature and data engineering with LA-based ML to help accelerate ML workloads over structured data.
The ideas from this work have been protoyped and\/or adopted for applications at LogicBlox, Microsoft, and Avito.
=== Downloads (Paper, Code, Data, etc.)
- Towards A Polyglot Framework for Factorized ML\n
David Justo, Shaoqing Yi, Lukas Stadler, Nadia Polikarpova, and Arun Kumar\n
VLDB 2021 (Industrial Track; to appear) | [papers/2021_Trinity_VLDB.pdf Paper PDF] | [papers/TR_2021_Trinity.pdf TechReport] | [https://www.youtube.com/watch?v=osvBmZs2MsM Talk video]
- Enabling and Optimizing Non-linear Feature Interactions in Factorized Linear Algebra\n
Side Li, Lingjiao Chen, and Arun Kumar\n
ACM SIGMOD 2019 | [papers/2019_MorpheusFI_SIGMOD.pdf Paper PDF] and [papers/2019_MorpheusFI_SIGMOD.txt BibTeX] | [https://github.com/liside/MorpheusFI Code and Data on Github]
- Towards Linear Algebra over Normalized Data\n
Lingjiao Chen, Arun Kumar, Jeffrey Naughton, and Jignesh Patel\n
VLDB 2017 |
[papers/2017_Morpheus_VLDB.pdf Paper PDF] |
[papers/TR_2017_Morpheus.pdf TechReport]
- MorpheusPy: Factorized Machine Learning with NumPy\n
Side Li, Arun Kumar\n
[papers/TR_2018_MorpheusPy.pdf TechReport]
- MorpheusFlow: a case study of learning over joins with TensorFlow\n
Side Li, Arun Kumar\n
[papers/TR_2018_MorpheusFlow.pdf TechReport]
- [https://github.com/lchen001/Morpheus MorpheusR Code on GitHub] (R library for normalized matrix and factorized LA; example factorized ML algorithms)
- [https://github.com/ADALabUCSD/MorpheusPy MorpheusPy Code on GitHub] (Python library for normalized matrix and factorized LA; example factorized ML algorithms)
- [https://github.com/ADALabUCSD/MorpheusFlow MorpheusFlow Code on GitHub] (TensorFlow extension for lazy joins over relational data)
- [https://github.com/lchen001/Morpheus/blob/master/Data.zip Real-world datasets] (Based on the [hamlet.html Project Hamlet] datasets)
=== Student Contacts
- Side Li: s7li \[at\] eng \[dot\] ucsd \[dot\] edu
=== Acknowledgments
This project is supported in part by Faculty Research Awards form Google Research and Oracle Labs.