Angel是腾讯第三代的计算平台,使用Java和Scala语言开发,面向机器学习的高性能分布式计算框架,由腾讯与香港科技大学、北京大学联合研发。它采用参数服务器架构,解决了上一代框架的扩展性问题,支持数据并行及模型并行的计算模式,能支持十亿级别维度的模型训练。

本页面主要目录有关于Angel的:开发背景、技术特点、应用等介绍

推出

腾讯

开发背景

面对腾讯快速增长的数据挖掘需求,我们希望开发一个面向机器学习的、能应对超大规模数据集的、高性能的计算框架,并且它要对用户足够友好,具有很低的使用门槛,就这样,Angel平台应运而生。

预计于2017年一季度开放其源代码,鼓励业界工程师、学者和技术人员大规模学习使用,激发机器学习领域的更多创新应用与良好生态发展。

技术特点

Angel还采用了多种业界最新技术和腾讯自主研发技术,如SSP(Stale synchronous Parallel)、异步分布式SGD、多线程参数共享模式HogWild、网络带宽流量调度算法、计算和网络请求流水化、参数更新索引和训练数据预处理方案等。这些技术使Angel性能大幅提高,达到常见开源系统Spark的数倍到数十倍,能在千万到十亿级的特征维度条件下运行。

在系统易用性上,Angel提供丰富的机器学习算法库及高度抽象的编程接口、数据计算和模型划分的自动方案及参数自适应配置,同时,用户能像使用MR、Spark一样在Angel上编程,我们还建设了拖拽式的一体化的开发运营门户,屏蔽底层系统细节,降低用户使用门槛。另外,Angel还支持深度学习,它支持Caffe、TensorFlow和Torch等业界主流的深度学习框架,为其提供计算加速。

应用

自2016年初在腾讯内部上线以来,Angel已应用于腾讯视频、腾讯社交广告及用户画像挖掘等精准推荐业务。