2019年8月22日,腾讯首个AI开源项目Angel正式发布3.0版本。Angel 3.0尝试打造一个全栈的机器学习平台,功能特性涵盖了机器学习的各个阶段:特征工程、模型训练、超参数调节和模型服务。
Angel 3.0概览
(红色表示新增特性,白色表示已有但在持续改进的特性)
Angel的特征工程模块基于Spark开发,增强了Spark的特征选择功能,同时使用特征交叉和重索引实现了自动特征生成。这些组件可以无缝地整合进Spark的流水线。为了让整个系统更加的智能,Angel 3.0新增了超参数调节的功能,目前支持3种算法:随机搜索、网格搜索和贝叶斯优化。在模型服务方面,Angel 3.0提供了一个跨平台的组件Angel , Angel 不仅可以满足Angel自身的需求,还可以为其他平台提供模型服务。
在生态方面,Angel也尝试将参数服务器(PS)能力赋能给其他的计算平台,目前已经完成了Spark On Angel和 On Angel两个平台的建设。这两个平台各有优势和侧重, Spark On Angel使用的是Angel内置的算法核心,主要负责常见推荐领域的机器学习算法和基础图算法。 On Angel使用作为计算核心,主要负责推荐领域深度学习算法和图深度学习算法。
Angel 3.0架构
Angel是基于参数服务器架构的分布式计算平台,致力于解决稀疏数据大模型训练以及大规模图数据分析问题。它由腾讯与北京大学联合研发,兼顾了工业界的高可用性和学术界的创新性。自2016年年初在腾讯内部上线以来,Angel 已应用于微信支付、QQ、腾讯视频、腾讯社交广告及用户画像挖掘等业务。
2017年6月
Angel 在 上低调开源。开源两周,这个项目在 上已收获 183 Watch,1693 Star,389 Fork,也吸引了许多业界工程师关注与贡献。
2018年9月
Angel 2.0版本发布,支持千亿级模型维度训练,同时算法库也更加丰富,首次引入了深度学习算法和图算法。同年,Angel加入Linux旗下深度学习基金会(现已更名为 LF AI 基金会(LF AI )),结合基金会成熟的运营,全面升级的Angel 2.0与国际开源社区继续深入互动,致力于让机器学习技术更易于上手研究及应用落地的目标。
截止目前
Angel在上Star数已超过4200,Fork数超过1000。Angel项目目前总共有38位代码贡献者,其他包括8位,他们总共提交了超过2000个。而腾讯开源在上整体的项目数也已突破80个,涵盖AI、云计算、安全等多个领域,累计获得了超过23万Star。
从1.0到3.0,Angel从一个单一的模型训练平台发展到涵盖机器学习各个流程,包含自己生态的通用计算平台,代码量也超过了50万行。
为了后续维护和使用的方便,Angel将拆分成8个子项目,统一放在Angel-ML目录下:它们是angel、 On Angel、sona(Spark On Angel)、、、、math2和。
Angle正式开源
开源地址:
l-ML