编程开发 | 18.9M
语言:简体
3 .0
应用简介
Angel是腾讯大数据部门发布的第三代计算平台。它是一个用Java和Scala语言开发的用于机器学习的高性能分布式计算框架。腾讯天使平台采用参数服务器架构,解决了上一代框架的可扩展性问题,支持数据并行和模型并行计算模式,可支持数十亿维度的模型训练。
Angel是腾讯大数据部门发布的第三代计算平台。它是使用Java和Scala语言开发的用于机器学习的高性能分布式计算框架。腾讯天使平台采用参数服务器架构,解决了上一代框架的可扩展性问题,支持数据并行和模型并行计算模式,可支持数十亿维度的模型训练。
基本介绍
Angel是一个基于Parameter Server概念开发的高性能分布式机器学习平台。经过腾讯内部海量数据反复调优,具有广泛的适用性和稳定性。模型维度越高,优势越明显。 Angel由腾讯和北京大学联合开发,兼顾工业界的高可用性和学术界的创新性。
Angel的核心设计理念围绕着模型。它将大型高维模型合理划分为多个参数服务器节点,通过高效的模型更新接口和操作函数以及灵活的同步协议轻松实现各种高效的机器学习算法。
Angel基于Java和Scala开发,可以直接调度并运行在社区的Yarn上。同样基于PS Service,支持Spark on Angel。未来将支持图计算与深度学习框架的融合。
版本特点
天使1.0.0新特性:
1.ParameterServer 功能
基于矩阵/向量的模型自动分割和管理,同时考虑稀疏和密集格式
支持对Model进行Push和Pull操作,并且可以定制复杂的psFunc
提供多种同步控制机制(BSP/SSP/ASP)
2. 开发运行
语言支持:系统基于Scala和Java开发,用户可以自由选择
易于部署:可以直接在Yarn社区版本中运行,还支持本地调试模式
数据切分:自动切分并读取训练数据,默认兼容Hadoop FS接口
增量训练:训练过程中会进行自动检查点,加载模型后支持增量训练。
3.PS Service
仅启动PSServer和PSAngent为其他分布式计算平台提供PS服务
基于PS-Service,无需修改Spark核心代码,直接开发Spark-on-Angel算法。该模式无缝支持Breeze数值运算库。
4. 算法库
集成Logistic Regression、SVM、KMeans、LDA、MF、GBDT等机器学习算法。
ADMM、OWLQN、LBFGS、GD等多种优化方法
支持多种损失函数和评估指标,包括L1和L2正则项
5. 算法优化
LDA采用F+LDA算法加快采样速度,同时还采用流式参数获取方式减少网络参数获取的延迟。
GBDT采用两阶段树分裂算法,将部分计算转移到PS,减少网络传输,提高速度。
热门攻略