Angel是一个基于参数服务器(Parameter Server)理念的分布式机器学习框架,它能让机器学习算法轻松运行于高维度模型之上。 |
Angel是一个基于参数服务器(Parameter Server)理念的分布式机器学习框架,它能让机器学习算法轻松运行于高维度模型之上。Angel围绕模型共享的核心理念,将高维度的大模型合理地切分到多个参数服务器节点,并通过高效的模型更新接口和运算函数以及多变的同步协议,实现各种高效的机器学习算法。得益于其良好的设计,Angel既能独立运行、高效执行多种机器学习算法,亦能作为PS服务,支持Spark和现有的深度学习框架,为其加速。它基于工业界的海量数据进行了反复的实践和调优,具有广泛的适用性和稳定性,模型维度越高,优势越明显。
现有的机器学习系统都是针对不同类型的机器学习任务而搭建的。数据流系统Hadoop和Spark适合通用的数据处理任务和构建机器学习流水线,但缺乏参数共享机制,存在单点瓶颈性能问题;图计算系统GraphLab、GraphX和T2等将机器学习计算抽象成图结构,可以利用图结构的特性进行加速,但只适合具有稀疏图结构的算法;深度学习系统TensorFlow、MXNet和Caffe2等利用Parameter Server或者Allreduce方法进行分布式神经网络的训练,其特点是能够利用GPU对神经网络的计算进行加速,但缺乏对稀疏图结构的优化和支持。
Angel在设计中对分布式机器学习的共性进行了抽象和提炼。文章认为分布式机器学习的核心部分在于参数共享,如果可以提供高效的参数共享机制,则能够为各类机器学习任务进行扩展和加速。因此,Angel提供了PS服务的能力,支持两种运行模式。其中一种模式称为PS Service模式,Angel只启动Master和Parameter Server,具体的计算任务交由其他计算平台(如Spark、TensorFlow等)完成,这种模式下Angel只负责提供Parameter Server的功能;在另外一种模式中,Angel还会启动Worker,由Angel负责完成模型的训练。Angel提供PS服务的能力,使其能处理多种类型的机器学习任务,提供更方便的机器学习开发体验。
此外,Angel还能提供:(1)多种参数同步协议,用于在不同的集群环境中进行加速;(2)易用且丰富的接口,用于方便算法的开发;(3)数据并行与模型并行的能力,提高算法的扩展性;(4)高效的容错机制,为任务在复杂环境中的运行提供保障。经过在真实数据集上的对比,Angel在多种机器学习算法上的性能优于XGBoost、Spark、Petuum、TensorFlow等常用机器学习系统。目前Angel已经被应用于腾讯视频点击预测和广告推荐等实际业务中。
Angel的开源系统由北京大学-腾讯协同创新实验室开发,兼顾了工业界的高可用性和学术界的创新性,已经在GitHub全面开源,集成和优化了Logistic Regression、SVM、KMeans、LDA、MF、GBDT 等多种机器学习算法。Angel目前基于Java和Scala开发,未来还会加入Python等多种语言接口,方便使用。将来,Angel的PS Service能力会得到进一步利用,支持图计算和深度学习框架。
2023-12-25 22:44:35 admin
活动发布区版规2023-05-27 22:03:52 御风而行
容器、无服务器、虚拟机:安全性差...2023-05-27 20:43:39 1356
服务器宕机的造成原因和解决方法介...2023-05-27 20:43:25 qingym
别糊涂了!服务器与工作站的五大区...2023-05-27 19:08:41 小绵羊0123
科技巨头布局云端 服务器 网络硬...2023-05-27 18:17:46 姐姐的跟屁虫
钉钉因系统访问流量激增,宕机1小...2022-07-23 00:34:02 freeatom
常见ftp命令 FTP命令使用详...2022-07-21 02:17:02 ares
双硬盘组建Raid0磁盘阵列图文...2022-07-20 06:17:02 mankeung123
用友软件客户端连接不上服务器的解...2022-07-23 00:51:02 antonfxb
WebService实例2022-07-13 05:38:02 苯小孩
开发、运维不可不看的Linux调...2022-07-20 18:51:02 nightstone
如何使用Charles抓取Web...2022-01-14 05:38:02 5555555555555
企业为什么要选择服务器托管?2022-01-23 05:38:02 fj1221
服务器托管哪家最好?2022-03-05 05:38:02 gimmy
数据迁移系统包括什么2022-04-08 05:38:03 xc777
Windows Server 2...2022-07-19 06:17:02 koushuiduo
使用IIS服务配置Web服务器(...2022-07-19 08:17:02 dannycjr
服务器配置:通过IIS配置FTP...2022-07-19 20:17:02 dengyu0429
linux vi使用及详细介绍2022-07-20 01:00:05 激动的舌头
Linux视频教程:用户管理命令...2022-07-21 20:51:02 jessica-an
创建本地FTP站点2022-02-07 05:38:03 jasonkidd
WEB服务器配置详解2022-07-20 04:51:02 wolfssss
ACL权限-默认与递归(4)2022-07-22 15:00:05 淡水珊瑚
Linux下 Samba Ser...