🆕 使用 GraphBolt 进行 GNN 的随机训练
GraphBolt 是一个用于 GNN 的数据加载框架,具有高度的灵活性和可伸缩性。它构建在 DGL 和 PyTorch 之上。
本教程介绍了如何使用 GraphBolt 实现 GNN 的随机训练。
概述

GraphBolt 与 PyTorch datapipe 无缝集成,依靠统一的“MiniBatch”数据结构来连接处理阶段。它简化了 GNN 训练、验证和测试的数据加载和预处理。默认情况下,GraphBolt 提供了一系列内置数据集和针对常见场景的极高效 datapipe 实现,可概括如下:
项目采样器 (Item Sampler):从整个训练集中随机选择一个子集(节点、边、图)作为下游计算的初始 mini-batch。
负采样器 (Negative Sampler):专为链接预测任务设计,生成不存在的边作为训练的负例。
子图采样器 (Subgraph Sampler):根据输入的节点/边生成子图用于计算。
特征获取器 (Feature Fetcher):从数据集中为给定输入获取相关的节点/边特征。
通过将整个数据加载过程暴露为管道,GraphBolt 提供了显著的灵活性和定制机会。用户可以轻松地用自己的实现替换任何阶段。此外,即使使用定制阶段,用户也可以从优化的 datapipe 调度策略中受益。
总而言之,GraphBolt 提供以下优势:
一个灵活的、管道化的 GNN 数据加载和预处理框架。
高效的规范实现。
高效调度。