一句话:TGLite是一个轻量级编程框架,通过可组合的TBlock抽象支持连续时间时间图神经网络,显著提升训练与推理性能。
近年来,时间图神经网络(TGNN)在处理动态图上取得巨大成功。连续时间动态图(CTDG)以带时间戳的边流表示拓扑变化,信息更丰富,但现有框架要么不支持连续时间图,要么缺乏可组合性,且未针对CTDG提供优化。为此,本文提出轻量级框架TGLite。它提供可组合的构建块,并引入TBlock表示来捕获节点间的消息流依赖,显式支持时间相关属性,适合常见TGNN计算模式。基于TBlock可定义时间邻域采样、scatter/segmented计算及CTDG特定优化。作者用TGLite实现了四个现有TGNN模型。在V100和A100 GPU上,相比TGL框架,TGLite训练提速1.06-3.43倍,推理提速1.09-4.65倍。在更大数据集上,TGL在V100上出现内存不足,而TGLite仍可成功运行。
In recent years, Temporal Graph Neural Networks (TGNNs) have achieved great success in learning tasks for graphs that change over time. These dynamic/temporal graphs represent topology changes as either discrete static graph snapshots (called DTDGs), or a continuous stream of timestamped edges (called CTDGs). Because continuous-time graphs have richer time information, it will be crucial to have abstractions for programming CTDG-based models so that practitioners can easily explore new designs and optimizations in this space. A few recent frameworks have been proposed for programming and accelerating TGNN models, but these either do not support continuous-time graphs, lack easy composability, and/or do not facilitate CTDG-specific optimizations. In this paper, we propose a lightweight framework called TGLite to fill this apparent gap in the status quo. It provides abstractions that serve as composable building blocks for implementing TGNN models for CTDGs. It introduces a novel TBlock representation for capturing message-flow dependencies between nodes, with explicit support for temporal-related attributes, which is well-suited for common TGNN computation patterns. TBlocks serve as a central representation on which many different operators can be defined, such as temporal neighborhood sampling, scatter/segmented computations, as well as optimizations tailored to CTDGs. We use TGLite to implement four existing TGNN models. Compared to the TGL framework, TGLite is able to accelerate runtime performance of training (1.06 -- 3.43×) and inference (1.09 -- 4.65×) of these models on V100 and A100 GPUs across different experimental settings. Notably, when scaling to larger datasets, TGL runs out-of-memory in some cases on the V100 while TGLite is able to run successfully.