50万行代码量,腾讯开源框架Angel3.0发布,迈向全栈机器学习平台

2019 年 8 月 24 日 机器之心

机器之心报道

机器之心编辑部


近年来,随着深度学习技术的发展,越来越多的科技巨头开发自己的机器学习平台。 昨日,华为宣布将与明年第一季度开源自家的 AI 框架 MindSpore,引起极大关注。


除了华为,国内的科技巨头腾讯也于近日正式发布开源平台 Angel 3.0,试图打造全栈机器学习平台,功能特性涵盖机器学习的各个阶段: 特征工程,模型训练,超参数调节和模型服务。


Angel 平台是腾讯数据平台部于 2016 年底推出的面向机器学习的「第三代高性能计算平台」,并于 2017 年开放了其源代码。


项目链接: https://github.com/Angel-ML


Angel 3.0 新特性


据腾讯介绍,Angel 是基于参数服务器架构的分布式计算平台,致力于解决稀疏数据大模型训练以及大规模图数据分析问题。


Angel 3.0 的整体系统架构如下图所示:


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 平台。

其中,Spark On Angel 使用的是 Angel 内置的算法核心,主要负责常见推荐领域的机器学习算法和基础图算法。PyToch On Angel 使用 PyTorch 作为计算核心,主要负责推荐领域深度学习算法和图深度学习算法。


最上层是两个公共组件: AutoML 和模型服务。


据腾讯介绍,Angel 3.0 的发布意在打造一个全栈的机器学习平台,它的功能特性涵盖了机器学习的各个阶段: 特征工程,模型训练,超参数调节和模型服务。 下图总结了 Angel 3.0 的新特性,红色的表示新增特性,白色的表示已有的但在持续改进的特性。


Angel 的特征工程模块基于 Spark 开发,增强了 Spark 的特征选择功能,同时使用特征交叉和重索引实现了自动特征生成,这些组件可以无缝地整合进 Spark 的流水线。


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


在模型服务方面,Angel 3.0 提供了一个跨平台的组件 Angel Serving,Angel Serving 不仅可以满足 Angel 自身的需求,还可以为其他平台提供模型服务。


对比 TensorFlow、PyTorch


当前,TensorFlow、PyTorch 已经成为机器学习社区最主流的框架。 腾讯表示,相比于 TensorFlow, PyTorch、Spark 等业界同类平台,它有如下特点:


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

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

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



自 2016 年年初在腾讯内部上线以来,Angel 已应用于微信支付、QQ、腾讯视频、腾讯社交广告及用户画像挖掘等业务。 2017 年 6 月,Angel 在 Github 上正式开源。 2018 年 9 月,Angel 2.0 版本发布,支持千亿级模型维度训练,同时算法库也更加丰富,首次引入了深度学习算法和图算法。 截至目前,Angel 在 GitHub 上 Star 数已超过 4200,Fork 数超过 1000,代码量也超过了 50 万行。


文为机器之心报道,转载请联系本公众号获得授权
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com
登录查看更多
1

相关内容

FPGA加速系统开发工具设计:综述与实践
专知会员服务
62+阅读 · 2020年6月24日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
68+阅读 · 2020年1月17日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
105+阅读 · 2020年1月2日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
54+阅读 · 2019年10月29日
阿里云发布机器学习平台PAI v3.0
雷锋网
12+阅读 · 2019年3月22日
官方解读:TensorFlow 2.0 新的功能特性
云头条
3+阅读 · 2019年1月23日
官方解读:TensorFlow 2.0中即将到来的所有新特性
机器之心
5+阅读 · 2019年1月15日
PyTorch 1.0 稳定版正式发布!
新智元
3+阅读 · 2018年12月8日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
Paraphrase Generation with Deep Reinforcement Learning
Arxiv
8+阅读 · 2018年1月25日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关论文
Top
微信扫码咨询专知VIP会员