王敏捷:亚马逊云科技图深度学习系统DGL介绍和展望

分享嘉宾:王敏捷博士 亚马逊云科技

编辑整理:郭艳 中山大学

出品平台:DataFunTalk

图神经网络在众多场景中的广泛应用,包括社交网络中的水军检测、药物重定位知识图谱等,揭示了其在挖掘图数据结构中蕴含信息以提升下游任务表现的强大能力。然而,由于现有工具在细粒度公式表达与粗粒度张量实现之间的鸿沟,图神经网络的高效执行面临挑战。由此,我们构建了DGL(Deep Graph Library),一座连接图算法与现有张量计算框架的桥梁,旨在帮助用户在现有深度学习框架上便捷地执行图算法。

本文将围绕以下几个方面展开:

01 图神经网络背景介绍

图神经网络在诸多场景中展现出其价值,包括微观层面的药物与分子结构、宏观层面的社交网络、用户产品交互以及知识图谱。通过图神经网络,我们能够挖掘图数据中的有用信息,增强下游任务的表现。例如,社交网络中的水军检测、药物重定位知识图谱等任务,都可通过图神经网络实现。

02 DGL的提出背景

在理解了基于消息传递的图神经网络抽象后,我们发现将其融入现有的深度学习框架存在挑战。由于消息传递涉及细粒度计算,而主流深度学习框架倾向于粗粒度思考方式,导致二者存在鸿沟。为解决这一问题,我们开发了DGL,旨在搭建图算法与张量计算框架之间的桥梁,使用户能够更高效地在深度学习框架上执行图算法。

03 DGL的特点

DGL具备四大特点:以“图”为本的编程思想、灵活的消息传递机制、高效的消息传递实现与广泛的支持。通过提供图对象的成员函数和API,DGL简化了消息传递的实现。同时,它支持高阶API、GPU加速、多平台兼容,并提供了丰富的图操作和数据处理模块。

04 高效实现消息传递

消息传递计算是GNN的核心,DGL通过算子融合技术优化这一过程。算子融合技术将消息传递函数简化为SpMM和SDDMM算子,提高了计算效率,减少了内存带宽消耗。此外,DGL还通过扩展算子功能,支持更多灵活的运算,并支持张量计算单元。

05 应对巨图挑战

针对巨图的处理,DGL设计了针对子图采样、特征抽取与训练的模块,支持高效的小批次训练。这使得DGL能够有效处理大规模图数据,优化分布式训练与参数同步过程。

06 DGL在实践中的应用

DGL不仅具备强大的API支持和高效性能,还提供了可视化工具GNNLens和面向异质图神经网络的开源工具包OpenHGNN。此外,DGL的社区建设鼓励用户使用与贡献,为开发者提供了实习机会。

通过DGL,我们旨在构建一个全面、高效、易于使用的图算法与深度学习框架的连接器,促进图神经网络在实际应用中的普及与创新。