Angel-ML/angel
A Flexible and Powerful Parameter Server for large-scale machine learning
Angel – Distributed Machine‑Learning & Graph Computing Platform
What it is – Angel is an open‑source, high‑performance framework for training large‑scale machine‑learning models and running graph‑computing jobs. It follows the parameter‑server architecture: model parameters are sharded across a set of dedicated server nodes while workers compute gradients or updates. The system is built in Java and Scala, runs on YARN (or locally), and can be used directly or through Spark on Angel.
Key capabilities
- Traditional ML algorithms – logistic regression, SVM, linear/robust regression, softmax, K‑means, GBDT, LDA* (including WarpLDA), factorization machines, etc.
- Graph algorithms – PageRank, K‑core, H‑index, closeness, connected components, triangle counting, Louvain, label‑propagation, LINE, Word2Vec, GraphSAGE, GCN, DGI, and more.
- Parameter‑server core – model partitioner, flexible consistency models, sync controller, and a pluggable
psFuncinterface for custom update logic. - Spark integration – “Spark on Angel” lets users write Spark jobs that automatically leverage Angel’s PS service, exposing both the ML library (Angel‑MLlib) and graph kernels.
- Deployment options – compile from source, run on a single machine for testing, or launch on a YARN cluster with detailed resource‑configuration guides.
Who might use it
- Data‑science teams that need to train models with billions of parameters on commodity clusters.
- Researchers working on large‑scale graph learning or graph neural networks.
- Companies that already use Hadoop/YARN and want a native, Java/Scala‑based alternative to TensorFlow‑style parameter servers.
How to get started
- Clone the repo and follow the Compilation Guide to build the JARs.
- Run the Quick‑Start tutorial (a Spark‑on‑Angel example) to see a simple logistic‑regression job.
- Choose an algorithm from the extensive list in the docs and configure it via the provided parameter‑description files.
Project health
- Latest release: 3.2.0 (Apache‑2.0 licensed).
- Active contributors from Tencent and Peking University; a mailing list and roadmap wiki are provided.
- Several peer‑reviewed papers (e.g., PSGraph, DimBoost, LDA*) demonstrate the system’s research pedigree.
Where to learn more
- Architecture & design docs:
docs/overview/* - API reference:
docs/apis/core_api_en.md - Community: mailing list
angel‑tsc@lists.deeplearningfoundation.organd the website https://angelml.ai/
Bottom line – Angel is a production‑grade, parameter‑server‑based platform for large‑scale ML and graph workloads, written in Java/Scala and tightly integrated with the Hadoop/YARN ecosystem. It is a genuine, actively maintained open‑source project in the AI/ML frontier.
Related
- Project
- Project
- Project
- Project
- Project