# angel-ml/angel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/angel-ml-angel).**

6,783 stars · 1,589 forks · Java · NOASSERTION

## Links

- GitHub: https://github.com/Angel-ML/angel
- awesome-repositories: https://awesome-repositories.com/repository/angel-ml-angel.md

## Topics

`high-dimensional` `machine-learning` `model` `online-learning` `parameter-server` `scala` `spark` `spark-streaming`

## Description

Angel is a distributed machine learning framework and graph computation engine designed to train predictive models and execute algorithms across a cluster of servers. It functions as a distributed parameter server that synchronizes model weights and gradients across multiple machines to handle massive datasets.

The system provides a production environment for model inference deployment to provide real-time predictions for end users. It integrates with Spark to run machine learning workflows and data processing pipelines through a compatible interface.

The framework covers distributed graph computation for tasks such as PageRank and community detection, as well as automatic hyperparameter optimization to improve model accuracy. It includes capabilities for coordinating distributed training, partitioning model data, and orchestrating cluster resources via container-based scheduling.

## Tags

### Artificial Intelligence & ML

- [Machine Learning Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-frameworks.md) — Provides a comprehensive framework for building and training large-scale machine learning models across distributed clusters.
- [Parameter Servers](https://awesome-repositories.com/f/artificial-intelligence-ml/parameter-servers.md) — Provides a distributed parameter server to synchronize model weights and gradients across multiple worker nodes.
- [Distributed Graph Computing](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-graph-computing.md) — Provides a framework for large-scale distributed graph computation and graph neural networks.
- [Distributed Graph Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-graph-engines.md) — Acts as a distributed graph computation engine for executing large-scale algorithms and neural networks.
- [Distributed Training](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/distributed-training.md) — Coordinates large-scale machine learning training across multiple machines using a centralized parameter server. ([source](https://github.com/angel-ml/angel#readme))
- [Model Deployment](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/fine-tuning-and-customization/model-fine-tuning/pre-trained-model-zoos/model-deployment.md) — Facilitates the deployment of trained models into production environments for real-time inference.
- [Spark Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-deep-learning/spark-integrations.md) — Integrates with Apache Spark to enable seamless transitions between data processing pipelines and training servers.
- [Model Inference Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/model-inference-engines.md) — Move trained machine learning models into a production environment to perform real-time inference for end users. ([source](https://github.com/Angel-ML/angel/wiki/Roadmap))
- [Hyperparameter Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/model-optimization/training-efficiency/hyperparameter-optimization.md) — Provides automatic hyperparameter optimization to improve the accuracy and efficiency of predictive models. ([source](https://github.com/Angel-ML/angel/wiki/Roadmap))

### Data & Databases

- [Graph Computation](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/distributed-processing-frameworks/distributed-computing/graph-computation.md) — Implements distributed graph computation for complex tasks such as PageRank and community detection.
- [Real-Time Prediction Serving](https://awesome-repositories.com/f/data-databases/real-time-data-streaming/real-time-feature-computation/real-time-prediction-serving.md) — Provides a production environment for real-time model inference to deliver low-latency predictions.

### Software Engineering & Architecture

- [Distributed Parameter Servers](https://awesome-repositories.com/f/software-engineering-architecture/default-configuration-values/execution-parameter-configurations/application-parameter-configurators/runtime-parameter-configurators/distributed-parameter-servers.md) — Distributes model parameters across a cluster using load-balancing techniques to maximize hardware resource utilization.
- [Cluster Load Balancing](https://awesome-repositories.com/f/software-engineering-architecture/cluster-load-balancing.md) — Balances computational workloads and data partitions across cluster nodes to optimize hardware usage. ([source](https://github.com/Angel-ML/angel/wiki/Roadmap))

### DevOps & Infrastructure

- [Container Orchestration Environments](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-environments.md) — Includes container-based resource orchestration for scheduling and scaling distributed training environments.
- [Model Inference Deployment](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/model-inference-deployment.md) — Ships a production environment for deploying trained models to provide low-latency real-time predictions.
- [Kubernetes Cluster Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-orchestration.md) — Uses Kubernetes for scheduling and managing compute resources within distributed training environments. ([source](https://github.com/Angel-ML/angel/wiki/Roadmap))
