跻身世界顶级AI项目:腾讯机器学习平台Angel从LF AI基金会毕业
机器之心报道
机器之心编辑部
12 月 20 日,Linux 基金会旗下 AI 领域顶级基金会——LF AI 基金会(Linux Foundation Artificial Intelligence Foundation)正式宣布,腾讯开源项目 Angel 从 LF AI 基金会毕业,这是中国首个从 LF AI 基金会毕业的开源项目。这意味着,Angel 得到全球技术专家的认可,成为世界最顶级的 AI 开源项目之一。
Angel 是腾讯的首个 AI 开源项目,于2016 年底推出、2017 年开源。作为面向机器学习的第三代高性能计算平台,Angel 致力于解决稀疏数据大模型训练以及大规模图数据分析问题。腾讯在 2018 年成为 LF AI 基金会的创始白金会员之一,并于同年向基金会贡献了开源项目 Angel。 腾讯云副总裁、腾讯数据平台部总经理蒋杰表示:「腾讯致力于通过开源代码,与开发者共建开源生态、实现成果共享,已成为大数据领域开源最为全面的公司。在基金会的指导和开发者的共建下,Angel 完成了从单一的模型训练平台到全栈机器学习平台的技术跨越,这也与腾讯大数据批流融合、ABC 融合的未来发展方向紧密契合。毕业是 Angel 新的开始,未来我们将进一步开放 Angel 在图计算和联邦学习领域的核心能力。」 据 LF AI 基金会董事、腾讯 AI 专家肖涵介绍,LF AI 基金会对开源项目的毕业流程有非常严格的规定,基于项目的技术含量、开源生态、社区互动等维度,严格评估项目的成熟度,最终由董事会投票决定能否准予毕业。能够从 LF AI 毕业,意味着项目已经得到全球技术专家的认可,成为最顶级的 AI 开源项目。 Angel 在基金会的孵化过程中获得了快速发展,并在今年完成了从 2.0 版本到3.0 版本的跨越,从一个单纯的模型训练系统进化成包含从自动特征工程到模型服务的全栈机器学习平台。 腾讯表示,相比于 TensorFlow, PyTorch 和 Spark 等同类平台,目前的 Angel 具有如下特点:
- Angel 是一个基于 Parameter Server(PS)理念开发的高性能分布式机器学习平台,具有灵活的可定制函数 PS Function(PSF),可将部分计算下推至 PS 端。PS 架构良好的横向扩展能力让 Angel 能高效处理千亿级别的模型。
- Angel 具有专门为处理高维稀疏特征特别优化的数学库,性能可达 breeze 数学库的 10 倍以上。Angel 的 PS 和内置的算法内核均构建在该数学库之上。
- Angel 擅长推荐模型和图网络模型相关领域(如社交网络分析)。下图为 Angel 和几个业界主流平台在稀疏数据,模型维度,性能表现,深度模型和生态建设几个维度的对比。Tensorflow 和 PyTorch 在深度学习领域和生态建设方面优势明显,但在稀疏数据和高维模型方面的处理能力相对不足,3.0 版本推出的 PyTorch On Angel 尝试将 PyTorch 和 Angel 的优势结合在一起。
在结构上,Angel 自研的高性能数学库是整个系统的基础,Angel 的 PS 功能和内置的算法内核均是在这个数学库基础之上实现的。
Angel PS 提供了高效,稳定和灵活的参数存储和交换服务。在 3.0 版本中,我们对 Angel PS 功能进行了扩展,使得它可以存储任意类型的对象,一个典型的例子是在图算法的实现过程中,我们使用 Angel PS 来存储了大量复杂的对象。
MLcore 是 Angel 自研的一套算法内核,它支持自动求导,可以使用 JSON 配置文件定义和运行算法。除此之外,在 3.0 版本中,Angel 还集成了 PyTorch 作为计算引擎。在计算引擎层之上是计算框架,它们可以看作计算引擎的容器,目前支持 3 种计算框架:原生的 Angel,Spark On Angel(SONA)和 PyTorch On Angel(PyTONA),这些计算框架可以使得 Spark 和 PyTorch 用户可以无缝切换到 Angel 平台。最上层是两个公共组件:AutoML 和模型服务。
GitHub 上 Angel 的统计信息以及 Angel 发表的论文
Angel 的特征工程模块基于 Spark 开发,增强了 Spark 的特征选择功能,同时使用特征交叉和重索引实现了自动特征生成。这些组件可以无缝地整合进 Spark 的流水线。为了让整个系统更加的智能,Angel 3.0 新增了超参数调节的功能。 在模型服务方面,Angel 3.0 提供了一个跨平台的组件 Angel Serving,不仅可以满足 Angel 自身的需求,还可以为其他平台提供模型服务。在生态方面,Angel 也尝试将参数服务器(PS)能力共享给其他的计算平台,目前已经完成了 Spark On Angel 和 PyTorch On Angel 两个平台的建设。
图计算体系架构
在 3.0 版本中,Angel 重点研发了图机器学习功能,包括图表示和图神经网络学习模型,同时提供预处理、图挖掘等端到端数据处理能力,具有丰富的算法库,提供了同构图、异构图多种图计算范式和不同种类的图算法。经过腾讯内部业务的大规模实践,Angel 在图算法性能上同样表现出众,例如十亿节点、千亿边规模的图结构,运行算法时能以 Spark GraphX 三分之一的计算资源,达到十倍处理性能。
图计算性能对比
除了技术功能上的完善,Angel 在社区生态上也日趋成熟。据了解,在全行业 Angel 拥有超过 100 家公司和机构用户,其中包括微博、华为、微众银行、小米、滴滴等大型互联网企业。基于 Angel 构建的一站式机器学习应用平台智能钛 TI,支持了包括微信支付、腾讯广告、微视等在内的诸多腾讯内部产品,同时也通过腾讯云对外开放为更多行业企业提供服务。 截止目前,Angel 在 GitHub 上已经获得了 5500 Star、1400 Fork,在技术、应用、生态等方面的优秀表现均得到了开源社区的认可。此前在腾讯 2019 Techo 开发者大会上,蒋杰还宣布了资源管理平台核心 TKE 和分布式数据库 TBase 的正式开源。腾讯正在成为大数据领域开源最全面的公司。 开源协同是当前腾讯最重要的技术战略之一。在今年的重庆智博会上,腾讯公司董事会主席兼首席执行官马化腾专门提及了对开源的重视,他表示,腾讯希望在科研领域投入更多力量,将通过内外部开源等方式,积极参与「全球科技共同体」的共建。 截止 2019 年 11 月,仅在 Github 上,腾讯已开源了 91 个项目,有超过 1000 个贡献者参与,获得超过 26 万个 Star 数,在 Github 全球公司贡献榜上居于前列。
腾讯还加入了 Linux、Apache 等 9 大开源基金会,并成为最高级别会员。其中 LF AI 基金会是由 Linux 基金会发起的人工智能领域的专项开源基金会,旨在倡导和组织 AI 开源平台和工具共同参与建设,共同享有 IP 知识产权,创建可持续发展的开源 AI 生态系统。