元组打包:图神经网络中小图的高效批处理
机器学习
2022-09-20 v2
摘要
在使用图神经网络(GNN)等机器学习模型处理一批图时,通常会将若干小图合并为一个整体图,以加速处理并消除或降低填充的开销。例如 PyG 库即支持此功能。然而,小图在节点数和边数上的规模差异可能很大,因此合并后的图规模仍可能有显著变化,尤其在批大小较小时。因此,在使用静态形状(其为获得最大加速所偏好)时,仍会产生过度填充与计算浪费的成本。本文提出一种与硬件无关的新方法——元组打包(tuple packing)——用于生成开销最小的批。该算法将近期提出的序列打包方法扩展至处理(|nodes|, |edges|)的二维元组。对元组值的二维直方图应用单调启发式,以定义将直方图箱一起打包的优先级,其目标是达到节点数与边数的限制。实验在多个数据集上验证了该算法的有效性。
引用
@article{arxiv.2209.06354,
title = {Tuple Packing: Efficient Batching of Small Graphs in Graph Neural Networks},
author = {Mario Michael Krell and Manuel Lopez and Sreenidhi Anand and Hatem Helal and Andrew William Fitzgibbon},
journal= {arXiv preprint arXiv:2209.06354},
year = {2022}
}