首页 > 其他分享 >Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读

时间:2024-09-18 14:52:45浏览次数:13  
标签:KGFabric 存储 OpenSPG 图谱 语义 Paper 数据 属性

本文作者: 祝锦烨,蚂蚁集团开发工程师,主要研究方向是图谱存储与计算。过去一年在团队的主要工作是蚂蚁知识图谱平台和 KGFabric 相关研发,研究成果收录于 VLDB'24。

2024 年 8 月 26 日,数据管理与数据库领域顶级国际会议 VLDB 2024 在广州举办,蚂蚁集团知识引擎团队的论文《KGFabric: A Scalable Knowledge Graph Warehouse for Enterprise Data Interconnection》被收录为 Industry track 的现场展示论文 (Oral Paper)。

KGFabric 是一种基于分布式文件系统(DFS)的全量知识仓储的解决方案,使用 SPG 作为数据模型,能够更好地表达真实世界,同时优化存储和计算效率。 KGFabric 支持 Graph Fabric 能力,在保护用户隐私的同时支持多域图谱的融合,有效解决了知识图谱数据孤岛的问题。与流行的关系 DBMS 和图数据库相比,KGFabric 语义关系的存储空间减少了 90% 以上。在实际工作负载中,图融合的性能提升了 21 倍。在多跳语义图分析中,KGFabric 的性能提高了 100 倍。

论文地址

https://www.vldb.org/pvldb/vol17/p3841-yi.pdf

01、概述

在蚂蚁集团内部的实践中,我们构建了蚂蚁知识图谱平台。它构建了与商户、公司、账户、产品等相关的众多领域特定知识图谱,管理着数万亿的结构化知识图谱,服务于搜索、推荐、风险控制等业务。提供基于跨领域知识复用的多种企业级知识管理能力,满足多样化图谱业务的自助接入,并支撑了多种下游服务和图推理、图分析应用,线性扩展支撑规模超千亿量级。

在平台建设迭代的过程中,随着跨域图谱融合、图匹配和图表示学习等任务对系统能力的要求日渐增高,现存的数据仓库系统(例如ODPS)和图数据库越来越难以满足需求。因此,我们提出了超大规模知识仓储的解决方案KGFabric。

**KGFabric 采用 SPG(Semantic-enhanced Programmable Graph,语义增强可编程框架)作为数据模型,基于分布式文件系统(DFS)提供了原生知识图谱存储和多域知识图谱融合能力。**KGFabric 为底层文件存储设计并实现了一套混合存储格式,在设计之初就考虑到同时兼容多种图模型和超级点(super-vertex)的存储和处理,并且分别为属性图和语义图实现了 CSR 索引和三元组索引。在底层完全使用 POSIX API 来实现文件 I/O 操作,实现了低成本的多云环境部署。

02、基于 SPG 的建模

KGFabric 使用 SPG 作为数据模型,其语义与属性图兼容。SPG(Semantic-enhanced Programmable Graph,语义增强可编程框架) 是一种基于属性图的语义框架,来自于蚂蚁知识图谱平台支持金融领域业务的多年沉淀。它创造性地融合了属性图结构性与 RDF 语义性,既克服了 RDF/OWL 语义复杂无法工业落地的问题,又充分继承了属性图结构简单与大数据体系兼容的优势。

为了更好的增强属性图中对于节点类型的语义表达,SPG 在属性图的节点类型和边类型之上扩展并引入更多主体分类模型对节点类型进行扩充以兼容更加多元的知识表示。在 SPG 中主体分类模型简要解释如下:

  • **实体:**业务相关性比较强的客观实例,通过实体 Properties (属性、关系)刻画个体画像,如用户、企业、商户等。例如下图中的 User 包含若干属性且与 Shop 相连
  • **概念:**实体从具体到一般的抽象,表述的是一组实体集合、一种分类体系。相对静态、具有较强复用性,如人群标签、领域标准类型等。例如下图中的 Concept.Prefer
  • **事件:**加入时间、空间、标的等约束的实体类型,如通过 NLP、CV 等抽取出来的行业事件、企业事件、诊疗事件等。例如下图中的 TransactionEvent 事件类型

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_Graph

03、核心能力

3.1 基于 LSM-tree 的存储架构

KGFabric 的存储架构基于 LSM-Tree,数据层次分为 Base 和 Delta 两层,其中 Delta 层被进一步划分为 Level-0 和 Level-1,其中 Delta Level-0 为流式导入(mini-batch)优化。例如从消息队列导入;Delta Level-1 主要考虑批量导入场景,例如从 Hive 或 ODPS 导入。

为了平衡读放大,我们在后台运行 Tiering Compaction,定期将重整并压实(compact)数据。在蚂蚁集团内部,每天有超过 1000 个数据导入任务,在实际生产场景中,该 Compaction 策略将随机读和顺序读的读放大分别控制在 5 倍和 1.6 倍以下。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_02

KGFabric 主要分为几个主要的目录层级:

  1. **Namespace:**业务数据管理的基本单位,用于实现不同领域图谱的数据隔离
  2. **RelationGroup:**管理图谱数据分组,通常基于实体、关系或事件时间切片来分组
  3. **Base:**管理周期性快照数据
  4. **Delta:**管理流/批更新的增量数据

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_Graph_03

KGFabric 的版本管理依赖文件系统的 put-if-not-exists 语义,使用 VersionPointer 机制解决读写冲突。当一次导入任务成功后,KGFabric 自动创建新的版本文件,通过时间戳映射相应版本文件,可实现任意快照访问,current 文件总是记录最新数据版本。

3.2 为语义图优化的 File Format

实际的图谱数据承载 RelationGroup 目录中,它包含了若干数据文件和对应的元数据。数据文件包括 PGFile 和 SGFile,它们分别存储属性图数据和语义图数据,布局如下图所示:

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_04

PGFile 和 SGFile 都由 Footer 和文件内的 BlockIndex 组成,不同的是它们内部分别存储 PGBlock 和 SGBlock。PGBlock 和 SGBlock 是基本的写入和压缩单位。我们主要采用 PGBlock 存储属性图。在 PGBlock 内部包括点边(VertexTable)和边表(EdgeTable,包含出边和入边)和属性表(PropertyTable),我们采用了 CSR 索引格式进一步压缩子图数据。属性表支持行或列存储格式,并且使用了位图矩阵来标识 NULL 值属性。PGBlock 内,我们通过点切分的方式将超级点(度数很高的边,通常超过 10 万)的稠密边分配到若干个 PGBlock 中分别存储。

如下图所示,vid2 在 block#1 和 block#95 分别触发了两次切分逻辑。基于以上逻辑,我们解决了超级点在加载和计算的内存瓶颈问题,提升了按关系类型加载边时分组 limit 的 I/O 效率。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_05

在 KGFabric 中,语义图的存储包含三个存储组件:

  • **概念词典:**提供 ConceptName 和 ConceptID 之间的双向映射能力
  • **语义属性:**在 PGBlock 中,不再使用边表存储语义实体到概念的边,转而使用属性表存储 ConceptID 来记录实体与概念实例的链接,优化存储空间
  • **TripleIndex:**用于表示概念到语义实体的边,因为这些边通常比较稠密,我们使用了 RoaringBitmap 来优化存储空间和计算性能。我们基于 TripleIndex 实现了概念的多维索引用于支持 AND/OR/NOT 等 bitwise 算子,且支持基于分桶的并发计算。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_Graph_06

3.3 Graph Fabric

传统的 Data Fabric(数据编织)大多是基于数据冗余实现的,这通常意味着跨集群之间数据拷贝。在 KGFabric 中我们实现了一套 Graph Fabric 框架,在避免冗余拷贝的同时实现了多域图谱融合。只需通过选取待融合的实体类型,再指定链指或融合算子,Graph Merge Tree(GMT)便可自动构造出虚拟类型 FuseType,用户可透明地使用该虚拟类型实现基于 Fuse-On-Write(FOW)或 Fuse-On-Read(FOR)的图谱融合。

GMT 是实现 Graph Fabric 的核心数据结构,在逻辑上它是一棵多叉树,FOR 的过程实际上可以抽象为对树的后序遍历。在后序遍历中,我们还集成了 AntPrivacy API,在 Graph Fabric 执行之前,对数据进行属性粒度的加密,能够有效的在图谱融合过程中确保用户数据安全。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_Graph_07

3.4 图分析系统集成

为了优化金融场景下的负载性能,KGFabric 可以作为图分析系统的存储后端,提供原生图检索和图加载能力,避免了分布式构图场景下 shuffle 的额外开销。KGFabric 实现了以下优化:

  • **分区图加载:**实现了分布式图谱数据加载,支持多种图切分方式,包括按照 VertexID 切分、按照存储 BlockSize 切分等。相较于 ODPS 或 Hive 省去了数据 shuffle 环节,大幅提升了读取性能
  • **Backend Cache:**主要包含 meta cache 和 data cache。
  • meta cache:RelationGroup 的 meta 缓存和 BlockIndex 缓存,为常驻任务优化
  • data cache:包含两级缓存,常驻磁盘的全量缓存和内存中的 Block 缓存,为延迟敏感的任务优化
  • **算子下推:**支持 filter/aggregate/window 等图算子的下推。其中:
  • filter 算子支持实体/关系/属性类型的下推,支持将算子下推到 GMT 的叶子结点上(即 RelationGroup 的读取)
  • aggregate 支持 sum/max/min/count 等统计下推
  • window 算子支持基于时间切片的事件和索引的 filter 算子的下推
  • **零拷贝序列化/反序列化:**实现了内存数据结构和磁盘数据结构的同构,降低了序列化和反序列化的开销。

04、实验评测

为了评估系统性能,我们进行了存储空间,图分析效率和 Graph Fabric 扩展性实验。

4.1 数据集

我们主要选用了 LDBC-Finbench 作为属性图(LPG)数据集,并且通过为 LDBC-Finbench 添加语义关系,扩展了新的数据集 LDBC-Finbench-X 作为语义图(SPG)数据集。另外我们从生产场景选取了用户图谱、商户图谱和资金图谱作为真实数据集。数据集规格如下:

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_08

各数据集的度数分布如下:

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_09

4.2 存储空间

对属性图数据集,KGFabric 的存储空间占用仅有 Neo4j 的 43.7%,为 RocksDB 的91.7%。对语义图数据集,KGFabric 得益于对强 schema 建模,大幅优化了语义关系的存储开销,空间占用仅为 RocksDB 的 7%,Neo4j 的 1.9%。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_10

4.3 图分析效率

我们主要选用了 pairwise path 和 cycle pattern 两种典型的图分析任务,主要对比对象是 ODPS、Neo4j 和 RocksDB。在 pairwise path 实验中,随着分析任务跳数的增多,KGFabric 提供的 backend 可以大幅度提升图计算的扩展性。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_Graph_11

在 cycle pattern 实验中,受益于低构图成本,KGFabric 最多可以将 3 跳环路分析的耗时降低 67.8%。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_12

4.4 Graph Fabric 扩展性

对于默认链指策略(IDE),随着数据源的增多,相较于 ODPS,KGFabric 表现出了良好的扩展性。为了优化性能用户自定义链指策略(UDL)的性能,我们实现了 rindex,对数据的预排序,进一步降低了延迟。

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读_数据_13

文章推荐

OpenSPG 首个 Release 版本发布,提供成熟可靠的知识构建解决方案

蚂蚁知识图谱管理系统研究成果获国际顶会认可,KGFabric 论文入选 VLDB 2024

手把手教程,改造 GraphRAG 支持自定义 LLM

标签:KGFabric,存储,OpenSPG,图谱,语义,Paper,数据,属性
From: https://blog.51cto.com/u_16470786/12046052

相关文章

  • 【Paper Reading】结合 NanoFlow 研究,优化大语言模型服务效率的探索
    作者王伟PAI引擎团队近年来,人工智能领域的快速发展推动了大型语言模型的广泛应用,随之而来的是对其服务效率的迫切需求。论文《NanoFlow:TowardsOptimalLargeLanguageModelServingThroughput》提出了一种突破性的新型服务框架,旨在提高大语言模型在实际应用中的服务吞吐量。这......
  • 芝士AI(paperzz)写作助手:智能文章创作与编辑,一站式论文查重降重
    写一篇论文是一个复杂的过程,涉及多个步骤,包括选题、研究、撰写、编辑和校对。好不容易论文完成了,还要准备答辩PPT,这对于没有思路或者容易紧张的同学们说又是一大难题。说到这里,就不得不说到AI了。芝士AI(paperzz)写作助手:智能文章创作与编辑,一站式论文查重降重。不仅能提高写......
  • paper 管理
    这些文章放到这里我估计我也就不会读了。移动端agenthttps://arxiv.org/pdf/2406.11896DigiRL:TrainingIn-The-WildDevice-ControlAgentswithAutonomousReinforcementLearningagent相关的环境https://arxiv.org/pdf/2308.04026Anopen-sourcesandboxforlargel......
  • [Paper Reading] Sapiens: Foundation for Human Vision Models
    名称link时间:24.08机构:MetaRealityLabsTL;DR放出一个human-centric视觉任务的fundationmodel,该模型在3亿样本(Humans-300M)上进行无监督预训练,实验证明在human-centric视觉任务(2dpose估计/深度估计/body-part-seg等)效果相对于没有预训练有明显提升。MethodHuman300M数......
  • 芝士AI(paperzz)一天搞定!论文降重神话,75%到3%的秘密!
    在快节奏的现代生活中,写作往往伴随着挑战:时间的紧迫、灵感的枯竭、质量的要求……如何在这样的环境中,保持写作的质量和效率?今天,让我们揭开芝士AI(paperzz)的神秘面纱,探索这款智能写作工具如何帮助我们克服写作难题,激发无限创意。芝士AI(paperzz)论文写作是一款专业满足你的论文写......
  • 芝士AI(paperzz)|论文写作必备指南,一文讲清楚,大学生进!
      众多资深研究人士达成一致的看法是,论文的最艰难一步往往在于启动这个过程。许多学子常常发现自己在精神上并未做好准备来面对这个挑战,因为大多数培训侧重于研究方法和进行实际研究,而很少涉及如何娴熟地书写论文这一方面。这种心理准备上的不足可能成为阻碍他们迈出第一步......
  • 如何高效的阅读paper--三遍阅读法
    第一遍1.阅读文章的标题、摘要和介绍2.阅读每一节的标题和副标题3.阅读总结4.浏览参考文献,看看是否有曾经读过的文章在完成第一遍后,应该做到:1.能够说出该篇论文的类型2.能够说出文章的大概内容与什么相关,基于什么理论解决了什么问题3.文章中的所有假定是否是正确有效的4.......
  • Paper Reading: Multi-class imbalance problem: A multi-objective solution
    目录研究动机文章贡献本文方法问题定义多分类多目标选择集成框架多类样本的客观建模理论分析实验结果数据集和实验设置对比实验结果运行时间优化边界的有效性优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具......
  • [Paper Reading] ControlNet: Adding Conditional Control to Text-to-Image Diffusio
    ControlNet:AddingConditionalControltoText-to-ImageDiffusionModelslink时间:23.11机构:StandfordTL;DR提出ControlNet算法模型,用来给一个预训练好的text2image的diffusionmodel增加空间条件控制信息。作者尝试使用5w-1M的edges/depth/segmentation/pose等信息训练Co......
  • [Paper Reading] Transfusion: Predict the Next Token and Diffuse Images with One
    Transfusion:PredicttheNextTokenandDiffuseImageswithOneMulti-ModalModellink时间:24.08机构:Waymo&UniversityofSouthernCaliforniaTL;DR提出一种使用混合模态token来训练transformer,名为transfusion,是一种生成式AI模型。主要工作使用了2T的tokens结合语言......