机器之心编辑部报道

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

近年来,随着深度学习技术的发展,越来越多的科技巨头开发自己的机器学习平台。昨日,华为宣布将与明年第一季度开源自家的 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 万行。

入门腾讯Angel 3.0
相关数据
超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

腾讯机构

腾讯科技股份有限公司(港交所:700)是中国规模最大的互联网公司,1998年11月由马化腾、张志东、陈一丹、许晨晔、曾李青5位创始人共同创立,总部位于深圳南山区腾讯大厦。腾讯由即时通讯软件起家,业务拓展至社交、娱乐、金融、资讯、工具和平台等不同领域。目前,腾讯拥有中国国内使用人数最多的社交软件腾讯QQ和微信,以及中国国内最大的网络游戏社区腾讯游戏。在电子书领域 ,旗下有阅文集团,运营有QQ读书和微信读书。

http://www.tencent.com/
图网络技术

2018年6月,由 DeepMind、谷歌大脑、MIT 和爱丁堡大学等公司和机构的 27 位科学家共同提交了论文《Relational inductive biases, deep learning, and graph networks》,该研究提出了一个基于关系归纳偏置的 AI 概念:图网络(Graph Networks)。研究人员称,该方法推广并扩展了各种神经网络方法,并为操作结构化知识和生成结构化行为提供了新的思路。

推荐文章
暂无评论
暂无评论~