Facebook开源了超大规模图嵌入算法,上亿个节点也能快速完成

  • 时间:
  • 浏览:33
  • 来源:彩神app官方-彩神快3网站

Facebook开源了叫做PyTorch-BigGraph (简称PBG) 的新工具。有了它,再大的图 都能快速生成图嵌入。但会 ,详细不前要GPU。

作者:方栗子来源:量子位|2019-04-07 16:100

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

,是很有用的数据价值形式,用节点 (Node) 和 (Edge) 织成一张网。比如,知识图谱若果十个 多多的网。

处理十个 多多的数据,要用到图嵌入 (Graph Embedding) :把高维的网络,转再加低维的向量。处理后来,机器学习模型可否 轻易食用。

肯能像上图十个 多多,只能十几只 节点,十十几只 边,图嵌入没人哪些难度。

肯能有几十亿个节点,几万亿条边呢?传统的图嵌入最好的依据就捉急了。

但现在,Facebook开源了叫做PyTorch-BigGraph (简称PBG) 的新工具。

有了它,再大的图 (原文是arbitrarily large,任意大) 都能快速生成图嵌入。但会 ,详细不前要GPU

开源模型除了能只能被委托人训练之外,还有拿7,100万节点的Wikidata数据预训练过的模型,能只能直接下载来用。

PBG发表后来,小伙伴们纷纷奔走相告:

LeCun老师还亲自转发了两次。

咋样养成

PBG是十个 多多分布式系统,用1.2亿个节点的详细FreeBase知识图谱来训练的。

训练过程中,PBG会吃进图上所有 (Edge) 的大列表,每条边详细都是用它两端的节点来定义,十个 多多是源 (Source) ,十个 多多是目标 (Target) 。定义中详细都是两点之间的关系 (Relation Type) 。

但会 ,PBG给每十个 多多节点,输出十个 多多价值形式向量 (若果嵌入) ,让十个 多多相邻的节点在向量空间中离得近或多或少,让不相邻节点的离远或多或少。

十个 多多一来,有有哪些付近环境分布相近的节点,在向量空间里的位置也会彼此靠近,图十个 多多要表达的意思就保留下来了。

另外,针对次责不同的关系,“近似度得分 (Proximity Score) ”都能只能定制不同的计算最好的依据。十个 多多,十个 多多节点的嵌入,就能只能在不同种类的关系里共享了。

快或多或少,再快或多或少

要快速处理大规模的图数据,PBG用了这十几只 法术:

一是图分区 (Graph Partitioning) ,十个 多多就不前要把整个模型加载到内存里了。在图嵌入质量不损失的情况汇报下,比不分区二十四时省了88%的内存占用。二是一台机器进行多守护进程计算。三是在多台机器上同时跑,在图上个人所有所有跑十个 多多不相邻的区域。四是批次负采样(Batched Negative Sampling) ,能让一台CPU每秒处理100万条边,每条边100次负采样。

训练完成后来,在FB15k、Youtube、LiveJournal等等图谱上,都测试过。

团队说,PBG和大前辈们的图嵌入质量相当,但前要的时间明显缩短了。

你也试一试吧

你也去训练十个 多多PBG吧。

反正,若果用GPU。

我让你训练话语,还有用详细WikiData预训练的模型。

你前要的传送门,详细都是这里了。

代码传送门:

https://github.com/facebookresearch/PyTorch-BigGraph

食用索引:

https://torchbiggraph.readthedocs.io/en/latest/

论文传送门:

https://arxiv.org/abs/1903.12287

博客传送门:

https://ai.facebook.com/blog/open-sourcing-pytorch-biggraph-for-faster-embeddings-of-extremely-large-graphs/

【编辑推荐】

【责任编辑:

张燕妮

TEL:(010)684761006】



点赞 0