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

50万行代码量,腾讯开源框架Angel3.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 作为计算核心,主要负责推荐领域深度学习算法和图深度学习算法。

推荐阅读