脸书开源能快速处理超大型图嵌入的工具PyTorch-BigGraphs

脸书开源了专为超大型图设计,支持多重关系图嵌入训练的工具PyTorch-BigGraph,PyTorch-BigGraph为一分布式系统,可用于学习大型图嵌入,特别适合应对具有数十亿个节点以及数万亿个边的超大型图,而由于PyTorch-BigGraph是以开源深度学习框架PyTorch开发,因此开发者可以自行替换损失函数、模型以及其他组件。

图是表达许多数据类型的核心工具,图嵌入是非监督式学习的一种形式,但现在的图可能非常巨大,具有数十亿个节点以及数万亿个边,标准的图嵌入方法扩展性不佳,无法应用在超大型图上。脸书提到,超大嵌入图主要有两个挑战,第一个,嵌入系统必须够快,才能应用在实际研究与生产上,第二个挑战,内存的限制也是个大问题,脸书举例,嵌入二十亿个节点,每个节点有128个浮点数参数,这样便需要1 TB的容量,而这个量级超过一般商用服务器内存的容量。

而PyTorch-BigGraph能从大规模图结构的数据产生嵌入,其以边的列表形式将图数据集作为输入,每个边由来源节点、目标节点以及可选的关键类型组成,PyTorch-BigGraph会对节点以及边进行分片(Shard),以多线程进行训练,并输出成嵌入列表,这些嵌入可以当作各种任务的输入,像是大规模地进行最邻近搜索。 PyTorch-BigGrap让人工智能开发人员,不需要专用计算资源,就能进行超大型图的嵌入训练,

脸书提到,PyTorch-BigGraph经高度优化,其高度扩展的特性比起常用的嵌入式软件,速度还要快数个量级,其产生嵌入的品质在基准测试其中,与最先进的模型相当,脸书发布PyTorch-BigGraph鼓励开发人员试验更大型的数据集,以取得更好的非监督式机器学习结果。