Angel-ML/angel
A Flexible and Powerful Parameter Server for large-scale machine learning
Angel – 分布式机器学习与图计算平台
是什么 – Angel 是一个开源、高性能的框架,用于训练大规模机器学习模型和运行图计算任务。它采用 参数服务器 架构:模型参数被分片存储在一组专用服务器节点上,而工作节点负责计算梯度或更新。该系统使用 Java 和 Scala 构建,可在 YARN(或本地)运行,可直接使用,也可通过 Spark on Angel 使用。
核心功能
- 传统机器学习算法 – 逻辑回归、SVM、线性/稳健回归、Softmax、K-均值、GBDT、LDA*(含 WarpLDA)、因子分解机等
- 图算法 – PageRank、K-core、H-index、接近度、连通分量、三角形计数、Louvain、标签传播、LINE、Word2Vec、GraphSAGE、GCN、DGI 等
- 参数服务器核心 – 模型分区器、灵活的一致性模型、同步控制器,以及用于自定义更新逻辑的可插拔
psFunc接口 - Spark 集成 – “Spark on Angel” 允许用户编写 Spark 作业,自动利用 Angel 的 PS 服务,同时暴露 Angel-MLlib 和图核
- 部署选项 – 从源码编译、在单机上测试运行,或在 YARN 集群上启动(附详细资源配置指南)
谁会使用它
- 需要在通用集群上训练包含数十亿参数模型的数据科学团队
- 从事大规模图学习或图神经网络研究的研究人员
- 已使用 Hadoop/YARN 的公司,希望获得原生 Java/Scala 的参数服务器替代方案(如 TensorFlow 风格)
如何开始
- 克隆仓库并按照 Compilation Guide 编译生成 JAR 文件。
- 运行 Quick-Start 教程(Spark-on-Angel 示例)以查看一个简单的逻辑回归任务。
- 从文档中丰富的算法列表中选择一个算法,并通过提供的参数描述文件进行配置。
项目健康状况
- 最新版本:3.2.0(Apache-2.0 许可证)
- 腾讯和北京大学的活跃贡献者;提供邮件列表和路线图 Wiki
- 多篇同行评审论文(如 PSGraph、DimBoost、LDA*)证明其研究背景
了解更多
- 架构与设计文档:
docs/overview/* - API 参考:
docs/apis/core_api_en.md - 社区:邮件列表
angel-tsc@lists.deeplearningfoundation.org和网站 https://angelml.ai/
总结 – Angel 是一个生产级、基于参数服务器的大规模机器学习与图计算平台,使用 Java/Scala 编写,与 Hadoop/YARN 生态系统深度集成。它是一个真正活跃维护的开源项目,处于 AI/ML 领域的前沿。
相关
- 项目
- 项目
- 项目
- 项目
- 项目