ReleaseBaidu (ERNIE)Baidu (ERNIE)published Dec 29, 2021seen 5d

PaddlePaddle/PGL v2.2.2

PaddlePaddle/PGL

Open original ↗

Captured source

source ↗
published Dec 29, 2021seen 5dcaptured 13hhttp 200method plain

Paddle Graph Learning (PGL) 2.2 版本发布

Repository: PaddlePaddle/PGL

Tag: v2.2.2

Published: 2021-12-29T04:02:35Z

Prerelease: no

Release notes: 1、发布Graph4Rec:一个用于推荐系统的通用大规模分布式图表示学习工具包(详情请参考这里)。

  • 全面丰富: 预置丰富的图模型,包括walk-based和GNN-based 模型。
  • 灵活易用:配置即模型,无需改动代码,一键即可启动单机和多机训练。
  • 大规模: 大规模参数服务与图引擎无缝结合,可进行工业级图表示学习训练,实现应用落地。

2、发布Graph4KG:一个用于大规模知识图谱表示学习的工具包(详情请参考这里)。

  • 异步数据读取:数据读取与模型训练异步进行,节省数据IO时间。
  • 异构存储与计算:实体和关系参数存储在CPU,模型计算在GPU,节省显存占用。
  • 异步梯度更新:GPU到CPU的梯度更新异步执行,进一步提升训练速度。
  • OGB-LSC支持:提供了WikiKG90M数据集在KDD CUP2021中的解决方案。

3、发布GNNAutoScale:一个用于图学习异构设备训练的工具包(详情请参考这里)。

  • GNN模型自动拓展:采样中间隐态CPU缓存技术,支持GNN模型自动拓展。
  • 解决IO瓶颈:支持CUDA Stream异步读写,实现计算和IO操作并行化。
  • 速度提升显著:支持消息传递Spmm化,大幅度提升图学习的显存利用和训练速度。
  • 提高数据生成效率:Dataloader数据缓存策略,提高数据生成效率。

4、新特性

  • 新增 pgl.partition图分片方法,包含random_partition和metis_partition,其中metis_partition暂不支持 Windows系统;
  • 新增pgl.utils.transform,包含一些方便的图转换API,如to_undirected用于转无向图,add_self_loops用于给图增加自环边;
  • 新增pgl.utils.stream_pool,支持 CUDA Stream异步读写;
  • 新增 pgl.utils.shared_embedding,支持MMAP模式的共享 Embedding。

5、Bug修复

  • 修复 DistGPUGraph无法在 PaddlePaddle版本大于2.0.0正确运行的 Bug;
  • 修复 Dataloader在 num_workers 大于1时,不支持python3.8 mac os环境下正确运行的 Bug;