2025年9月30日,腾讯AI 开源项目Angel正式发布3.3.0版本。Angel 是腾讯研发并开源的面向企业级应用的高性能分布式机器学习平台,功能特性涵盖了特征工程、模型构建、参数训练、AutoML、模型服务Serving等全栈机器学习服务,提供机器学习、深度学习、图神经网络等多种算法,支持级万亿级超大规模参数模型的训练,已在生产业务系统中大规模部署,并在推荐、广告、游戏、视频、金融反欺诈等多个业务场景中广泛应用。
本次开源聚焦于升级底层框架,新增向量检索算法,优化已有图算法功能,支持异构图神经网络算法,增强PyTorch on Angel框架易用性等,全面提升算法性能与易用性。
Angel-3.3.0框架
Angel-3.3.0升级框架图如下所示,包含AngelPS图结构&能力升级、图算法升级、外部组件升级及PyTorchonAngel升级等,本次升级丰富了Angel在图计算方面的能力,同时提高了计算性能,如:GNN算法提升1倍以上。
Angel框架升级示意图
AngelPS图结构&能力升级
Angel PS(Parameter Server) 提供了高效,稳定和灵活的参数存储和交换服务,具有灵活的可定制函数PS Function(PSF),可以将部分计算下推至PS端。PS架构良好的横向扩展能力让Angel能高效处理千亿级别的数据和模型。本次更新升级了PS端图数据结构、存储方式及异构图等,以支持真实场景中广泛存在的异构图学习,如:电商推荐、广告推荐、游戏互动、内容推荐、异常检测等场景;具体更新内容如下:
- 支持带权/类型邻接表:允许邻接表携带权重/类型,为带权采样、支持异构图等能力提供基础。
- 优化邻接表存储结构:针对更新频率低的邻接表,采用二进制的方式存储,节约存储空间。
- 支持异构图:新增MultiGraphNode,作为异构图的节点,能够支持多种类型的节点与邻接表,为异构图GNN算法提供基础能力。
异构图场景
图算法优化升级
Angel图算法在过去几年服务腾讯内部各个业务场景,如:广告推荐、游戏用户/装备推荐、内容推荐、金融反欺诈等多个业务场景,经过几年真实业务场景打磨,Angel算法也不断迭代升级。本次开源版本更新,将推出一些新的算法并升级已有图算法,不断完善Angel端到端学习框架,具体内容如下:
Angel端到端学习框架
- 新增向量检索算法:BruteForce、HNSW,该能力的补充完善了Angel算法应用链路,提供了embedding检索/召回能力
- 新增社区挖掘算法:KClique社区发现算法是一种基于完全子图(clique)的重叠社区检测方法,它通过寻找图中相互重叠的k-clique结构来划分社区,允许节点同时属于多个社区。在真实的业务场景中社区通常是存在一定重叠现象的,同时根据业务需求不同,如:有些场景需要获取topk的社区归属等,该算法在这类场景中表现出较好的效果。
- 新增强化版PageRank:PageRankPro与PageRank的不同在于PageRankPro给部分节点一个初始rank值,如当部分节点是种子节点时,使用该组件相当于做了一次风险/影响力传播。该算法在风控与核心人群识别等场景中应用比较广泛。
- 新增异构图神经网络算法:GATNE多路异构图表示学习模型,用于异构图的表示学习。在Angel中实现了归纳式学习范式 GATNE-I模型,后面都用GATNE来表示,异构图能够较好的处理更真实的业务场景, 融合多多种类型的节点与边,在业务中取得较好的效果。
- 解耦GAMLP算法:将 GAMLP 解耦为两个独立的模块:Aggregator 和 GAMLP。Aggregator 作为特征传播聚合模块,GAMLP 作为模型训练模块,加载聚合模块特征进行训练,大大提升了模型训练效率。
- 优化已有图算法:EGES,Louvain,CommonFriends
○ EGES:优化重编码机制与初始化方式用于支持增量训练
○ Louvain:优化Range划分下Louvain算法,并在Range划分模式下支持均衡划分
○ CommonFriends:支持边割版本,优化邻接表存储结构,节约存储空间
外部组件升级
升级外部组件Spark与PyTorch版本,将社区最新的优化引入Angel框架,在数据均衡,资源配置,计算性能等方面得到优化与提升,其中计算性能提升1倍以上。
- Spark版本升级(2.4.4->3.3.1):Angel融合了自研的Angel PS高维稀疏处理能力和Spark的大数据处理能力解决大规模数据与稀疏模型处理与存储等难题,升级Spark版本至3.3.1,能够引入Spark新的特性与底层框架的优化,对于上层计算来说,在数据均衡,资源配置,计算性能等方面得到优化与提升。
- PyTorch版本升级(1.5->2.5):随着PyTorch版本更新,优化了底层核函数性能,引入了算子融合,提升了模型的训练速度和性能;目前PyTorch on Angel可以支持更高版本的PyTorch(1.13+、 2.x),用户可以通过切换版本来获得计算速度的提升。
- 兼容多版本组件:PyTorch版本升级后,兼容历史版本的模型文件,用户可以轻松加载历史模型而无需做任何修改
PyTorch on Angel-0.4.0
发布PyTorch on Angel 0.4.0版本,该版本中支持了异构图图神经网络算法,如: GATNE;解耦GAMLP算法以提升计算效率;将Python Client内嵌到Angel框架中,提供模板化配置,提升了框架的易用性,降低用户的使用门槛。
- 支持GNN参数模板化:提供标准的yaml模版,用户可以通过修改模板进行参数配置,降低参数配置错误,减轻用户配置负担;其中模板按照功能分为:graph,model,trainer,predictor等模块,如下图所示:
模版化参数配置示例
- 内嵌多版本PyTorch环境:支持PyTorch 1.5~2.5版本,可选择任意版本, 目前PyTorch-1.13.1+官方有新增底层优化,有较好的性能提升,建议使用1.13.1及以上版本。
- GNN模型自动生成与导出:将 PythonRunner 集成到 PyTorch on Angel中,无需安装本地环境即可根据配置文件参数生成对应GNN模型 PT 文件,直接从系统加载 PT 模型进行训练;同时兼容多种模式生成pt模型文件,具体如下:
○ yaml配置文件:通过用户配置的参数,使用系统内置的python模型脚本,生成pytorch模型文件(pt文件)用于训练
○ 用户自定义 Python 模型:通过yaml配置的参数,使用用户自定义 python的模型脚本,生成pytorch模型文件(pt文件)用于训练
○ 本地生成pt模型文件:直接上传生成好的pytorch模型文件(pt文件),通常在增量训练模式下使用,如非增量训练则需要用户安装本地pytorch环境用于生成pt文件(该方式为旧版本使用方式,用户使用成本较高,建议直接使用升级后的方式)
python客户端自动生成/加载PyTorch模型
- 多版本部署便利化:将示例入口分离为独立模块,便于支持多版本部署。
Angel前沿探索
近几年,Angel在图网络方向在不断地深入研究,提出了新的图算法与框架,不断地提升性能与效率。如:
- PaSca:可拓展图学习理论(PaSca)工业落地于自研的Angel Graph图计算框架,降低大规模图神经网络模型训练的门槛,提升了系统的数据学习效率,并获得2022年WWW最佳论文。
- OUTRE:提出了一种面向单机超大规模图训练的图神经网络训练系统OUTRE,通过显式消除“邻居冗余”和“时序冗余”两类数据冗余,结合自动化缓存管理机制,显著降低I/O数据请求量,在多个公开图数据上实现1.52–3.51倍的训练加速。
- DMA:同时也在探索LLM与Graph结合的新方向,如:提出了一种新型噪声可感图主动学习框架DMA。通过LLM生成的伪样本,以数据集和LLM双重可感的方式估算标注噪声分布;利用估计的噪声分布衡量节点可靠性,并选择能最大化可靠影响力的节点。在五个公开文本属性图数据集上的评估结果表明,DMA性能始终优于所有基线方法。
表:Angel前沿探索论文列表
未来规划
近几年Angel框架在不断地打磨优化,在业界取得了不错的反馈,收获了一些荣誉同时也积累了一些业务场景应用案例:
荣誉:
○ 2024年世界互联网大会领先科技奖
○ 2023年中国电子学会科技进步一等奖
○ 2022年数博会领先科技成果奖
业务场景应用案例:
○图计算实践之模式匹配优化:https://www.nebula-graph.com.cn/posts/AggregateMessages-GraphFrame
○微信支付基于图计算的反欺诈实践:https://www.secrss.com/articles/33623
○腾讯 Angel Graph 图计算框架在智能风控中的应用:https://zhuanlan.zhihu.com/p/578120587
未来Angel将持续优化框架性能、聚焦新方向探索,如:工业级图检索增强应用、Graph与LLM融合应用等新方向,未来规划如下:
- 图算框架优化升级:优化算子/算法,提升计算性能;兼容多种图数据库系统,支持实时图计算。
- 图检索增强应用:基于当前图框架探索并优化图检索算法、增强图推理能力、优化GPU性能并支持更多异构硬件等,提供工业级的图检索增强能力。
- 探索Graph与LLM结合的新方向:利用Graph信息提升LLM在复杂关系推理能力、使用LLM增强Graph学习中语义信息、Graph与LLM融合等,并在真实业务场景中落地应用。
以下是Angel的开源地址与联系方式,期待广大开发者体验Angel最新特性,同时欢迎对机器学习、图计算、AI框架等感兴趣的同仁一起共建。
Angel Github:
https://github.com/Angel-ML/angel
PyTorch on Angel Github:https://github.com/Angel-ML/PyTorch-On-Angel
AngelQQ交流群&企业微信交流群二维码如下,欢迎扫码加入:
关注腾讯开源公众号
获取更多最新腾讯官方开源信息!
加入微信群即可了解更多“腾讯开源新动态”