团结拼搏 自强不息
WELCOME
当前位置: 首页>>新闻中心>>前沿速递>>正文
前沿速递

腾讯发布全栈机器学习平台Angel 3.0

2019年08月30日 21:13  点击:[]

  腾讯首个AI开源项目Angel,正式发布一个里程碑式的版本:Angel 3.0。这是一个全栈机器学习平台,功能特性涵盖了机器学习的各个阶段,超过50万行代码,在 GitHub 上 Star 数已超过 4200,Fork 数超过 1000。

  一个全栈机器学习平台,近日悄悄上线了。

  8月22日,腾讯首个AI开源项目Angel正式发布一个里程碑式的版本:Angel 3.0

 Angel 3.0尝试打造一个全栈机器学习平台,功能特性涵盖了机器学习的各个阶段:特征工程,模型训练,超参数调节和模型服务

 2016年年初在腾讯内部上线,2017 年 6 月, Angel 在 Github上低调开源,截至目前,Angel 在 GitHub 上 Star 数已超过 4200Fork 数超过 1000。Angel 项目目前总共有 38 位代码贡献者,其他包括 8 位 committer,他们总共提交了超过 2000 个 commit

Angel在2017年6月正式开源

从1.0到3.0,Angel发生了巨大的变化,它从一个单一的模型训练平台发展到涵盖机器学习各个流程,包含自己生态的通用计算平台,代码量也超过了50万行

为了让整个系统更加的智能,Angel 3.0新增了超参数调节的功能,目前支持3种算法:随机搜索,网格搜索和贝叶斯优化

Angel (https://github.com/Angel-ML)是基于参数服务器架构的分布式计算平台,致力于解决稀疏数据大模型训练以及大规模图数据分析问题,它由腾讯与北京大学联合研发,兼顾了工业界的高可用性和学术界的创新性。

Angel发布里程碑版本3.0:全栈机器学习平台

Angel是腾讯开源的大规模分布式机器学习平台,专注于稀疏数据高维模型的训练。目前Angel是Linux基金会人工智能(LFAI)孵化项目,相比于TensorFlow, PyTorch和Spark等业界同类平台,它有如下特点:

  • Angel是一个基于Parameter Server(PS)理念开发的高性能分布式机器学习平台,它具有灵活的可定制函数PS Function(PSF),可以将部分计算下推至PS端。PS架构良好的横向扩展能力让Angel能高效处理千亿级别的模型。

  • Angel具有专门为处理高维稀疏特征特别优化的数学库,性能可达breeze数学库的10倍以上。Angel的PS和内置的算法内核均构建在该数学库之上。

  • Angel擅长推荐模型和图网络模型相关领域(如社交网络分析)。图1是Angel和几个业界主流平台在稀疏数据,模型维度,性能表现,深度模型和生态建设几个维度的对比。Tensorflow和PyTouch在深度学习领域和生态建设方面优势明显,但在稀疏数据和高维模型方面的处理能力相对不足,而Angel正好与它们形成互补,3.0版本推出的PyTorch On Angel尝试将PyTorch和Angel的优势结合在一起。

Angel使用情况

在过去12个月,Angel在腾讯内部的任务数量有了非常明显的增长,增幅达到150%。值得一提的是,Spark On Angel的任务数增长了10倍,为了让Spark On Angel更加的易用,3.0版本对Spark On Angel做了大幅度升级。在腾讯内部,使用Angel的业务包括腾讯视频,腾讯新闻和微信等。

Angel官方维护了一个QQ群与外部开发者进行交流,对群用户的统计表明:

  • Angel的绝大部分用户来自中国,主要分布在北京,上海,杭州,成都和深圳等互联网行业比较发达的城市。

  • 有超过100家的公司和科研机构在使用或测试Angel,其中包括了中国最顶级的IT公司:微博,华为和百度等。

从2017年6月开源以来,Angel受到了较多的关注,目前在GitHub上Star数超过4200,Fork数超过1000。Angel项目目前总共有38位代码贡献者,其他包括8位committer,他们总共提交了超过2000个commit。

从1.0到3.0,Angel发生了巨大的变化,它从一个单一的模型训练平台发展到涵盖机器学习各个流程,包含自己生态的通用计算平台,代码量也超过了50万行。为了后续维护和使用的方便,Angel拆分成8个子项目,统一放在Angel-ML目录下(https://github.com/Angel-ML):angel,PyTorch On Angel,sona,serving,automl,mlcore,math2和format,这些子项目会在下文详细介绍。

Angel 3.0新特性


Angel 3.0试图打造一个全栈机器学习平台,它的功能特性涵盖了机器学习的各个阶段:特征工程,模型训练,超参数调节和模型服务。

Angel的特征工程模块基于Spark开发,增强了Spark的特征选择功能,同时使用特征交叉和重索引实现了自动特征生成。这些组件可以无缝地整合进Spark的流水线。为了让整个系统更加的智能,Angel 3.0新增了超参数调节的功能,目前支持3种算法:随机搜索,网格搜索和贝叶斯优化。在模型服务方面,Angel 3.0提供了一个跨平台的组件Angel Serving, Angel Serving不仅可以满足Angel自身的需求,还可以为其他平台提供模型服务。

在生态方面,Angel也尝试将PS能力赋能给其他的计算平台,目前已经完成了Spark On Angel和PyTorch On Angel两个平台的建设。这两个平台各有优势和侧重, Spark On Angel使用的是Angel内置的算法核心,主要负责常见推荐领域的机器学习算法和基础图算法。PyToch On Angel使用PyTorch作为计算核心,主要负责推荐领域深度学习算法和图深度学习算法。




关闭