使用 GraphStorm v0.4 加快分布式图形神经网络训练
GraphStorm 是一个低代码企业图形机器学习 (ML) 框架,为 ML 从业者提供了一种在行业规模图形数据上构建、训练和部署图形 ML 解决方案的简单方法。在这篇文章中,我们展示了 GraphBolt 如何在分布式设置中增强 GraphStorm 的性能。我们提供了一个在 SageMaker 上使用 GraphStorm 和 GraphBolt 进行分布式训练的实际示例。最后,我们分享了如何将 Amazon SageMaker Pipelines 与 GraphStorm 结合使用。
来源:亚马逊云科技 _机器学习GraphStorm 是一个低代码企业图形机器学习 (ML) 框架,它为 ML 从业者提供了一种在行业规模图形数据上构建、训练和部署图形 ML 解决方案的简单方法。尽管 GraphStorm 可以在单个实例上高效运行小型图形,但在使用 Amazon Elastic Compute Cloud (Amazon EC2) 实例集群或 Amazon SageMaker 以分布式模式扩展到企业级图形时,它才真正大放异彩。
Amazon Elastic Compute Cloud Amazon SageMaker今天,AWS AI 发布了 GraphStorm v0.4。此版本引入了与 DGL-GraphBolt 的集成,DGL-GraphBolt 是一种新的图形存储和采样框架,它使用紧凑的图形表示和流水线采样来减少内存需求并加快图形神经网络 (GNN) 的训练和推理。对于本文中研究的大规模数据集,推理速度提高了 3.6 倍,每个时期的训练速度提高了 1.4 倍,甚至可能实现更大的速度提升。
为了实现这一点,带有 DGL-GraphBolt 的 GraphStorm v0.4 解决了图学习的两个关键挑战:
- 内存限制 - GraphStorm v0.4 提供紧凑且分布式的图结构和特征存储,存储量可能达到多 TB。例如,一个包含 10 亿个节点、每个节点有 512 个特征且有 100 亿条边的图将需要超过 4 TB 的内存来存储,这需要分布式计算。图采样 - 在多层 GNN 中,您需要对每个节点的邻居进行采样以传播它们的表示。这可能导致采样节点数量呈指数增长,可能会访问整个图以获取单个节点的表示。GraphStorm v0.4 提供高效的流水线图采样。
GraphBolt:管道驱动的图形采样
DGL--use-graphbolt true