OpenHGNN发布0.7版本

文摘   2024-07-24 09:05   上海  

OpenHGNN现已上线最新的0.7版本,欢迎大家从启智社区、GitHub或通过pip下载使用!OpenHGNN是一个基于 DGL和 PyTorch的开源异质图神经网络工具包,集成了异质图神经网络的前沿模型。新版本我们增加了10个新的异质图神经网络模型,包含基于异质图提示的预训练pipeline。OpenHGNN还在新版本添加了支持dgl.sparse的模型API,支持更便捷的图神经网络聚合操作。此外,新版本还新增了对DGL.graphbolt的数据集成和模型训练流程,支持更通用的数据处理框架。最后,我们新增了分布式训练流程,采用数据并行化方式,在多个显卡上同时进行训练。更加充分地使用了算力资源,提高了计算速度。

一、新增图神经网络模型、数据集

OpenHGNN 0.7 版本新增10种异质图模型算法

  • 新增保留网络模式的多任务学习异质网络模型NSHE [IJCAI 2020]

  • 新增异质图预训练提示学习模型HGPrompt [AAAI 2024]

  • 新增解决FER问题的社交影响力注意神经网络SIAN [ECML-PKDD 2020]

  • 新增异构图掩蔽自编码器模型HGMAE [AAAI 2023]

  • 新增异构图自适应的新型语义特定分层对齐网络HGA [ECML 2021]

  • 新增关系图嵌入归纳式知识图谱模型Ingram [ICML 2023]

  • 新增网络结构简单、预测精度高、训练速度快的异质图模型SeHGNN [AAAI 2023]

  • 新增利用知识转移网络的零样本迁移学习模型KTN [NIPS 2022]

  • 新增异质图关系结构感知嵌入模型RHINE [TKDE 2020]

  • 新增基于联合异构图神经网络的框架FedHGNN [WWW 2024]

OpenHGNN新版本新增5个数据集:

  • 新增异质图数据集:dblp4RHINE,acm4FedHGNN,dblp4HGA,acm4HGA,acm4HGMAE
  • 新增用于预训练提示框架的数据集:hgprompt_acm_dblp

二、图数据处理框架GraphBolt

对于模型采样训练,DGL和PyG都提供了mini-batch训练的强大支持。然而,从超大规模图中生成batch仍然存在困难,因为可用的存储资源可能会无法容纳大规模图的数据。OpenHGNN v0.7版本旨在引入DGL新版本提供的GraphBolt采样模块,提升大规模异质图mini-batch训练的效率,使得HGNN能够用于规模更大的图网络。DGL现有的异质图采样机制存在局限性,对于任意异质图,仍然需要将全图信息提前存储到内存或显存中,使得这种采样方法无法适应超大规模异质图网络。GraphBolt是DGL2.0版本新推出的数据处理和训练框架,这个框架支持mini-batch训练在采样过程中能够只将参与训练的图数据存入内存中,而将其他图数据仍然保留在硬盘中,大大提高了可训练图数据的规模。


功能API
图结构存储FusedCscSamplingGraph
特征存储TorchBasedFeatureStore
邻居采样NeiborSampler
Block生成Dataloader

三、异质图提示学习

提示学习的方法源自NLP,在图领域,大部分提示学习工作都集中在同质图上。AAAI上24新接收的文章HGPrompt是在异质图上做提示学习的工作,文中首次提出用统一的模板来弥合异质图和同质图的差异。OpenHGNN计划以HGPrompt为基础,将异质图预训练-提示学习框架引入OpenHGNN,为用户提供更便捷的图提示训练流程。


     


模块内容
预训练阶段链接预测,使用同质图或异质图
下游任务阶段节点分类或图分类,使用异质图
统一图模板将异质图分解成多个同质图,使得异质图和同质图统一
统一任务模板将节点分类、图分类转换成链接预测任务

四、分布式训练

目前很多现实应用构建出来的图数据规模特别大,使用单机单卡计算,会导致用户的训练时间特别长。分布式图神经网络训练技术,采用数据并行化方式,在多个显卡上同时进行训练。更加充分地使用了算力资源,提高了计算速度。DGL支持分布式图神经网络训练,在OpenHGNN中使用DGL搭建分布式图神经网络训练pipeline,使用户能通过修改极少的参数,就能直接进行分布式训练。

五、DGL.sparse模块

DGL.sparse是DGL在1.0版本发布的功能,目的在于实现矩阵视图的图神经网络。与消息传递视图相比,DGL Sparse代码长度平均减少了2.7倍,运行开销平均减少了43%。除此之外,DGL.sparse还可以实现一些特殊模型如超图神经网络。目前OpenHGNN大部分模型均采用消息传递视图实现,为了能够给用户提供更全面的异构图网络实现,新版本将采用dgl.sparse为用户提供便捷的算子接口以及demo。


视图特点
消息传递视图突出显示了GNN局部信息,聚合来自邻居的信息。是一种局部视角
矩阵视图用代数理论理解 GNN的特性,是一种全局视角

结语

感谢大家一直以来对OpenHGNN算法库的支持,我们将继续努力,不断创新,为用户提供更好的工具和解决方案。如果你在使用过程中有任何问题或者有任何模型、功能上的建议,欢迎提交issue或者通过邮件来联系我们。我们也欢迎大家将自己的研究工作集成到OpenHGNN当中,方便大家使用,提高影响力,也为国产开源做贡献。

Github地址:https://github.com/BUPT-GAMMA/OpenHGNN

启智社区地址:https://openi.pcl.ac.cn/GAMMALab/OpenHGNN

Email: zhaozihao@bupt.edu.cn


北邮 GAMMA Lab
北邮图数据挖掘与机器学习实验室
 最新文章