0
近日,腾讯低调发布首个AI开源项目Angel 3.0版本,进化版的Angel 3.0则尝试打造一个全栈的机器学习平台。
Angel是什么?
先来科普一下,Angle是基于参数服务器架构的分布式计算平台,致力于解决稀疏数据大模型训练以及大规模图数据分析问题,由腾讯与北京大学联合研发。
最新版本的3.0,功能特性涵盖了机器学习的各个阶段:特征工程,模型训练,超参数调节和模型服务。
Angel的特征工程模块基于Spark开发,增强了Spark的特征选择功能,同时使用特征交叉和重索引实现了自动特征生成。这些组件可以无缝地整合进Spark的流水线。为了让整个系统更加的智能,Angel 3.0还新增了超参数调节的功能,目前支持随机搜索,网格搜索和贝叶斯优化三种算法。
在模型服务方面,Angel 3.0提供了一个跨平台的组件Angel Serving, Angel Serving不仅可以满足Angel自身的需求,还可以为其他平台提供模型服务。
在生态方面,Angel也尝试将参数服务器(PS)能力赋能给其他的计算平台,目前已经完成了Spark On Angel和PyTorch On Angel两个平台的建设。
这两个平台各有优势和侧重,Spark On Angel使用的是Angel内置的算法核心,主要负责常见推荐领域的机器学习算法和基础图算法。 PyTorch On Angel使用PyTorch作为计算核心,主要负责推荐领域深度学习算法和图深度学习算法。
回顾Angle 的历史。2017 年 6 月, Angel 在 Github 上低调开源。开源两周,这个项目在 Github 上已收获 183 Watch,1693 Star,389 Fork,也吸引了许多业界工程师关注与贡献。
2018年9月,Angel 2.0版本发布,支持千亿级模型维度训练,同时算法库也更加丰富,首次引入了深度学习算法和图算法。同年,Angel加入Linux旗下深度学习基金会(现已更名为 LF AI 基金会(LF AI Foundation)),结合基金会成熟的运营,升级的Angel 2.0与国际开源社区继续深入互动,致力于让机器学习技术更易于上手研究及应用落地的目标。
截至目前,Angel在GitHub上Star数已超过4200,Fork数超过1000。Angel项目目前总共有38为代码贡献者,其他包括8位committer,他们总共提交了超过2000个commit。而腾讯开源在GitHub上整体的项目数也已突破80个,涵盖AI、云计算、安全等多个领域,累计获得了超过23万Star。
从1.0到3.0,Angel从一个单一的模型训练平台发展到涵盖机器学习各个流程,包含自己生态的通用计算平台,代码量也超过了50万行。
为了后续维护和使用的方便,Angel将拆分成8个子项目,统一放在Angel-ML目录下(https://github.com/Angel-ML):angel,PyTorch On Angel,sona(Spark On Angel),serving,automl,mlcore,math2和format。
而在应用上,据了解,自2016年年初在腾讯内部上线以来,Angel 已应用于微信支付、QQ、腾讯视频、腾讯社交广告及用户画像挖掘等业务。
在过去12个月,Angel在腾讯内部的任务数量有了非常明显的增长,增幅达到150%。值得一提的是,Spark On Angel的任务数增长了10倍,为了让Spark On Angel更加的易用,3.0版本对Spark On Angel做了大幅度升级。
Angel官方还维护了一个QQ群与外部开发者进行交流,对群用户的统计表明:
Angel的绝大部分用户来自中国,主要分布在北京,上海,杭州,成都和深圳等互联网行业比较发达的城市。有超过100家的公司和科研机构在使用或测试Angel,其中包括了中国最顶级的IT公司:微博,华为和百度等。雷锋网雷锋网雷锋网
雷峰网原创文章,未经授权禁止转载。详情见转载须知。