电视资讯

业界良心腾讯高性能计算平台Angel开源啦

2019-11-09 10:49:27来源:励志吧0次阅读

程序猿(ID:imkuqin) 猿妹采编

参考:腾讯 Angel 官方 Github、腾讯开源、腾讯大数据

腾讯的高性能分布式计算平台Angel 1.0自去年公开宣布后,近日已经正式全面开源。

Angel是一个基于参数服务器(parameter Server)理念开发的高性能分布式机器学习框架,基于 Java 和 Scala 开发,能在社区的 Yarn 上直接调度运行,并基于 pS Service ,支持 Spark on Angel ,未来将会支持图计算和深度学习框架集成。

在去年公开消息至今,Angel 已经在腾讯视频推荐、广点通等精准推荐业务上实际应用。他们还在扩大腾讯内部的应用范围,未来目标是支持包括腾讯在内多家公司的大规模机器学习任务。

现在开源的Angel 1.0.0正式版也新增了许多机器学习算法的集成。用户可以方便地在最优化算法上层封装自己的模型。据腾讯数据平台部总经理、首席数据专家蒋杰的介绍,Angel 还可以支持运行 Caffe、TensorFlow、Torch 等深度学习框架,实现这些框架的多机多卡的应用场景。一起来看看 Angel 有哪些技术特点!

Angel主要技术特点

1、整体架构

业界良心腾讯高性能计算平台Angel开源啦

Client 作为 Angel 的客户端,它给应用程序提供了控制任务运行的功能。Worker 负责具体的模型训练或者结果预测;Master 则负责具体的任务分配、协调调度、资源申请。

业界良心腾讯高性能计算平台Angel开源啦

Angel 采用的 parameter Sever 架构相比其它类型的架构更适合解决巨大模型中的参数更新问题;parameter Server 功能:

基于 Matrix/Vector 的模型自动切分和管理,兼顾稀疏和稠密两种格式

支持对 Model 进行 push 和 pull 操作,可以自定义复杂的 psFunc

提供多种同步控制机制(BSp/SSp/ASp)

业界良心腾讯高性能计算平台Angel开源啦

针对不同维度的特征,对 Angel 与 Spark 每轮迭代时间和整体收敛时间做出比较通过数据可见,模型越大 Angel 对比 Spark 的优势就越明显。

2、系统框架

3、算法库及优化

现在开源的Angel 1.0.0正式版也新增了Logistic Regression、SVM、KMeans、LDA、MF、GBDT 等机器学习算法的集成:

集成 Logistic Regression,SVM,KMeans,LDA,MF,GBDT 等机器学习算法

LDA 采用了 F+LDA 算法用于加速采样的速度,同时利用流式参数获取的方法减少网络参数获取的延迟

GBDT 使用两阶段树分裂算法,将部分计算转移到pS,减少网络传输,提升速度

多种优化方法,包括 ADMM,OWLQN, LBFGS和GD

支持多种损失函数、评估指标,包含 L1、L2 正则项

4、网络优化

Angel的网络解决方案使用的是香港科技大学的 Chukonu。借助 Chukonu,Angel 可以通过网络流量再分配的方式,解决半同步的运算协调机制 SSp 中可能出现的快节点等待慢节点的问题,减少了窗口空闲等待时间。如图所示,在 1 亿维度、迭代 30 轮的效果评测中,Chukonu 使累积的空闲等待时间减少约 3.79 倍。

5、Angel 运行模式

Angel 支持以下两种运行模式:

ANGEL_pS: pS Service 模式,在这种模式下,Angel 只启动 Master 和 pS,具体的计算交给其他计算平台(如 Spark,Tensorflow)负责,Angel 只负责提供 parameter Server 的功能。

ANGEL_pS_WORKER:启动 Master,pS 和 Worker,Angel 独立完成模型的训练。

围绕 Angel,腾讯还建立了一个小生态圈,可以支持 Spark 之上的 MLLib,支持上亿的维度的训练;也支持更复杂的图计算模型。同时依靠Angel,腾讯获得了 2016 年的 Sort benchmark 的排序的4项冠军,用 98.8 秒时间完成了 100T 数据的排序,刷新了四项世界纪录。2015 年的这项排序时间还高达 329 秒。

腾讯开源的Angel给大规模机器学习模型计算的业内人员提供了一个新选择。

西地那非原粉的价格

美国伟哥官方网站

viagra有用吗

分享到:
  • 友情链接
  • 合作伙伴