GraphLab
Turi is a graph-based, high performance, distributed computation framework written in C++. The GraphLab project was started by Prof. Carlos Guestrin of Carnegie Mellon University in 2009. It is an open source project using an Apache License. While GraphLab was originally developed for machine learning tasks, it has found great success at a broad range of other data-mining tasks; out-performing other abstractions by orders of magnitude.[1][2]
Developer(s) | Carnegie Mellon University |
---|---|
Stable release | v2.2
/ July 1, 2013 |
Written in | C++ |
Operating system | Linux, macOS |
Type | Machine learning platform |
License | Proprietary |
Website | turi |
Motivation
As the amounts of collected data and computing power grow (multicore, GPUs, clusters,clouds), modern datasets no longer fit into one computing node. Efficient distributed parallel algorithms for handling large-scale data are required. The GraphLab framework is a parallel programming abstraction targeted for sparse iterative graph algorithms. GraphLab provides a high-level programming interface, allowing rapid deployment of distributed machine learning algorithms.[3] The main design considerations behind the design of GraphLab are:
- Sparse data with local dependencies
- Iterative algorithms
- Potentially asynchronous execution
The main features of GraphLab are:
- A unified multicore and distributed API: write once run efficiently in both shared and distributed memory systems
- Tuned for performance: optimized C++ execution engine leverages extensive multi-threading and asynchronous IO
- Scalable: GraphLab intelligently places data and computation using sophisticated new algorithms
- HDFS Integration
- Powerful Machine Learning Toolkits
GraphLab toolkits
On top of GraphLab, several implemented libraries of algorithms:
- Topic modeling - contains applications like LDA which can be used to cluster documents and extract topical representations.[4]
- Graph analytics - contains application like pagerank and triangle counting which can be applied to general graphs to estimate community structure.[5]
- Clustering - contains standard data clustering tools such as Kmeans[6]
- Collaborative filtering - contains a collection of applications used to make predictions about users interests and factorize large matrices.[7]
- Graphical models - contains tools for making joint predictions about collections of related random variables.[8]
- Computer vision - contains a collection of tools for reasoning about images.[9]
Award winning software
A solution based on Graphlab collaborative filtering library won the 5th place in ACM Yahoo! KDD CUP challenge, track1, out of more than 1000 participants. LeBuShiShu team used a mixture of 12 different algorithms and deployed 10,000 CPU hours on BlackLight supercomputer.[10] Most of the utilized algorithms and techniques are now part of the GraphLab Collaborative FIltering Toolkit.
Turi
Turi (formerly called Dato and before that GraphLab Inc.) is a company that was founded by Prof. Carlos Guestrin from University of Washington in May 2013 to continue development support of the GraphLab open source project. Dato Inc. raised a $6.75M Series A from Madrona Venture Group and New Enterprise Associates (NEA). They raised a $18.5M Series B from Vulcan Capital and Opus Capital, with participation from Madrona and NEA.[11] On August 5, 2016, Turi was acquired by Apple Inc. for $200,000,000.[12][13]
References
- Joseph Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, Carlos Guestrin (2012). "PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs." Proceedings of Operating Systems Design and Implementation (OSDI).
- Yucheng Low, Joseph Gonzalez, Aapo Kyrola, Danny Bickson, Carlos Guestrin and Joseph M. Hellerstein (2012). "Distributed GraphLab: A Framework for Machine Learning and Data Mining in the Cloud." Proceedings of Very Large Data Bases (PVLDB).
- Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin and J. Hellerstein. GraphLab: A New Framework for Parallel Machine Learning. In the 26th Conference on Uncertainty in Artificial Intelligence (UAI), Catalina Island, USA, 2010
- "GraphLab: Distributed Graph-Parallel API: Topic Modeling". Archived from the original on 2013-06-04. Retrieved 2013-05-14.
- "GraphLab: Distributed Graph-Parallel API: Graph Analytics". Archived from the original on 2013-02-18. Retrieved 2013-05-14.
- "GraphLab Clustering Library". Archived from the original on 2016-12-21. Retrieved 2016-12-01.
- "GraphLab: Collaborative filtering library using matrix factorization methods". Archived from the original on 2016-12-20. Retrieved 2016-12-01.
- "GraphLab: Distributed Graph-Parallel API: Graphical Models". Archived from the original on 2013-05-12. Retrieved 2013-05-14.
- "GraphLab: Distributed Graph-Parallel API: Computer Vision". Archived from the original on 2013-01-23. Retrieved 2013-05-14.
- Yao Wu, Qiang Yan, Danny Bickson, Yucheng Low, Qing Yang. Efficient Multicore Collaborative Filtering. In ACM KDD CUP workshop 2011.
- Gage, Deborah (2015-01-08). "GraphLab, Now Dato, Raises $18.5M for Machine-Learning Applications". WSJ Blogs. Retrieved 2018-04-11.
- Clover, Juli. "Apple Acquires Machine Learning and AI Startup Turi". Retrieved 2016-08-06.
- "Exclusive: Apple acquires Turi in major exit for Seattle-based machine learning and AI startup". 2016-08-05. Retrieved 2016-08-06.