AtlasKV: Augmenting LLMs with Billion-Scale Knowledge Graphs in 20GB VRAM

发表时间: 2026-04 · arXiv:2510.17934 (ICLR 2026)

原文: https://arxiv.org/abs/2510.17934

Haoyu Huang, Hong Ting Tsang, Jiaxin Bai, Xi Peng, Gong Zhang, Yangqiu Song / The Hong Kong University of Science and Technology, Theory Lab, Huawei

速读

一句话结论 本文提出了一种名为 AtlasKV 的参数化知识注入方法,能在单张显卡不到 20GB 显存的极低消耗下,将 10亿 规模的知识图谱三元组直接注入大语言模型的注意力层,无需外部检索器或长上下文即可实现高效准确的知识增强。

要解决什么问题 现有大模型知识增强方案主要卡在推理延迟与扩展性瓶颈上。以 RAG 为代表的非参数化方法强依赖外部检索器,且必须将检索文本拼接在提示词中,长上下文前置在面对超大规模知识库时会带来极高的搜索成本与推理延迟。传统参数化方法在引入新知识时又必须重新训练模型。近期以 KBLaM 为代表的新型参数化方法试图通过将外部知识编码为键值对(Key-Value)并直接注入模型的自注意力层来免除长上下文依赖,但面临两个致命卡点:一是训练数据质量差,用固定模板合成的数据缺乏多样性,导致模型在面对分布外(OOD)提问时泛化能力极差;二是扩展性极差,其计算和显存开销随知识库大小 $M$ 呈线性增长,即 $\mathcal{O}(M)$,当知识图谱规模达到 10万 级别时就会耗尽 40GB 显存,无法扩展到真实世界动辄 10亿 规模的场景中。

怎么做的 AtlasKV 的核心思路是将知识图谱三元组转化为高质量的查询-键-值(Q-K-V)格式,并通过层次化剪枝算法将其以亚线性复杂度动态注入大模型的注意力机制中。该方法由两个关键部件构成。首先是数据层面的 KG2KV 模块,它巧妙利用了三元组 $(h, r, t)$ 的天然结构:将其中一个实体掩码作为需要预测的 Value,利用大模型将关系 $r$ 改写为名词短语作为 Key 的属性描述,并加上多样化的提问前缀构成 Query。这种转换极大丰富了查询属性的语义分布,解决了模型泛化性差的问题。其次是算法层面的层次化键值剪枝(HiKVP)模块,专门解决扩展性卡点。它事先用 UMAP 降维和高斯混合模型(GMM)将所有知识的 Key 聚类成根节点、中间层和叶子节点的三层树状结构。推理时,模型仅将根节点的 Key 驻留在 GPU 显存中,计算当前 Query 与根节点的注意力得分并选出 Top-K 个最相关分支后,再从 CPU 内存加载对应的下一层 Key 到 GPU 中,逐层剪枝直到叶子节点。最终,大模型在每一层的注意力输出变为知识图谱部分和原始序列部分的动态加权求和:

$$ \tilde{\mathbf{y}}_n^{(l)} = \lambda_{kg} \cdot \mathrm{Softmax}(\mathrm{logits}_{kg}) \cdot \bar{\tilde{\mathbf{v}}}^{(l)} + \lambda_{seq} \cdot \mathrm{Softmax}(\mathrm{logits}_{seq}) \cdot \mathbf{v}^{(l)} $$

其中 $\lambda_{kg}$ 和 $\lambda_{seq}$ 是根据两者 logits 动态计算的归一化权重。通过分层剪枝与按需加载,HiKVP 成功将时间复杂度降至 $\mathcal{O}((C_t \sqrt[3]{M} + N) \cdot N \cdot D)$,显存复杂度降至 $\mathcal{O}((C_m \sqrt[3]{M} + N) \cdot (N + D))$,彻底绕开了线性增长的显存墙。

效果如何 实验基于 LLaMA3.1-8B-Instruct 模型搭建,使用 all-MiniLM-L6-v2 和 text-embedding-3-large 作为句子编码器,在单张 48GB 显卡上仅用 2万 条三元组数据训练了 3000步。对比基线主要包括代表非参数化检索路线的 ICL(上下文学习,即标准 RAG 范式)和代表参数化注意力注入路线的 KBLaM。在极具挑战的 ATLAS-Pes2o-QKV 分布外测试集(1万 条三元组规模)下,AtlasKV 的 Top-1 知识命中率达到了 49.0%,而 KBLaM 因泛化失效命中率仅为 0.0%。扩展性方面,AtlasKV 注入 10亿 条三元组仅需不到 20GB 显存,而 KBLaM 在 10万 条时就已发生内存溢出。此外,GPT-4o 的量化评分显示,AtlasKV 生成回答的准确度远超 KBLaM,且逼近直接拼接全部知识的 ICL 上限。作者也坦诚了该方法的局限与代价:KG2KV 模块将图谱展平为独立事实,破坏了原有的图结构,阻碍了模型的多跳推理能力;同时 HiKVP 算法在各层级间频繁的 CPU 与 GPU 数据搬运会带来一定的硬件 I/O 延迟,需要在准确率与扩展性之间做出权衡。

主要贡献

检索增强生成(RAG)在利用外部知识增强大型语言模型(LLMs)方面取得了一定成功。然而,作为LLMs的非参数化知识集成范式,RAG方法严重依赖于外部检索模块和检索到的文本上下文先验。特别是在超大规模知识增强场景下,由于昂贵的搜索开销和极长的相关上下文,它们会引入巨大的推理延迟。与此相对,传统的参数化方法在适应新知识时需要重新训练模型,成本高昂。KBLaM等新型参数化方法虽然解决了免训练适应的问题,但面临缺乏高质量训练数据和极大规模下扩展性差的两大挑战。

为了解决上述问题,本文提出了AtlasKV,这是一种可扩展、有效且通用的参数化知识集成方法,能够使用极少的GPU内存(例如不到20GB VRAM)将十亿级知识图谱(KGs,例如10亿个三元组)增强到LLMs中。在AtlasKV中,引入了KG2KV和HiKVP两个核心模块,以亚线性时间和内存复杂度将KG三元组大规模集成到LLMs中。该方法利用LLMs固有的注意力机制保持了强大的知识基础和泛化性能,在适应新知识时不需要外部检索器、长上下文先验或重新训练。

图1:两种流行的LLMs知识增强范式与AtlasKV采用的新型参数化知识增强范式的简单图示:(a) 非参数化方法通常依赖外部检索器和长上下文先验,存在检索器性能受限和推理延迟大的问题。(b) 传统参数化方法在适应新知识时需要重新训练模型,成本高昂。(c) AtlasKV能够高效、大规模地注入外部知识,无需外部检索器或长上下文先验,且具有强大的泛化能力。
图1:两种流行的LLMs知识增强范式与AtlasKV采用的新型参数化知识增强范式的简单图示:(a) 非参数化方法通常依赖外部检索器和长上下文先验,存在检索器性能受限和推理延迟大的问题。(b) 传统参数化方法在适应新知识时需要重新训练模型,成本高昂。(c) AtlasKV能够高效、大规模地注入外部知识,无需外部检索器或长上下文先验,且具有强大的泛化能力。

背景知识与设计原则

知识图谱的定义
正如现有大多数基于图的RAG系统所做的那样,本文使用文本三元组 $(h, r, t)$ 作为知识图谱(KGs)的基本知识单元,这些三元组可以通过任何现有的KG提取方法从非结构化文本中提取。随后,KGs可以定义为 $\mathcal{G} = \{(h, r, t) | h, t \in \mathcal{E}, r \in \mathcal{R}\}$,其中 $\mathcal{E}$ 是实体集,$\mathcal{R}$ 是关系集。需要注意的是,$h, t$ 可以是命名实体,也可以是其他类型的实体,如概念、事件等。在本文中,$\mathcal{G}$ 将作为LLMs的外部事实知识被集成,以用于事实溯源和回答问题,而从文档中提取KGs的过程并非本文的重点。

自注意力层机制
在每个注意力层中,输入一个长度为 $N$ 的查询 $\boldsymbol{x} \in \mathbb{R}^{N \times 1}$,其嵌入向量可以表示为 $\mathbf{\bar{x}}^{(l)} \in \mathbb{R}^{N \times \bar{D}}$。$D$ 是注意力层的嵌入维度,$l \in \{1, .., L\}$,其中 $L$ 是注意力层的数量。同时存在三个注意力头 $\mathbf{W}_Q^{(l)}, \mathbf{W}_K^{(l)}, \mathbf{W}_V^{(l)} \in \mathbb{R}^{D \times D}$,旨在将每个输入token投影为Q-K-V嵌入 $\mathbf{q}^{(l)}, \mathbf{k}^{(l)}, \mathbf{v}^{(l)} \in \mathbb{R}^{N \times D}$。接着,第 $l$ 层第 $n$ 个token的输出计算如下:

$$ \mathbf{y}_n^{(l)} = \frac{\sum_{i=1}^n \exp(\langle \mathbf{q}_n^{(l)}, \mathbf{k}_i^{(l)} \rangle / \sqrt{D}) \mathbf{v}_i^{(l)}}{\sum_{i=1}^n \exp(\langle \mathbf{q}_n^{(l)}, \mathbf{k}_i^{(l)} \rangle / \sqrt{D})} $$


其中 $\langle \cdot, \cdot \rangle$ 表示两个向量的内积。这种标准的自注意力实现具有 $\mathcal{O}(N^2 \cdot D)$ 的时间复杂度和 $\mathcal{O}(N \cdot (N + D))$ 的内存复杂度,随着输入长度 $N$ 的增加,会导致显著的计算开销和时间延迟。

KBLaM中的矩形注意力
KBLaM中的知识库(KB)是一个键值对集合,在第 $l$ 个注意力层表示为 $\mathcal{M} = \{(\pmb{k}^{(l)m}, \pmb{v}^{(l)m})\}_{m=1}^M$,其中 $\pmb{k}^{(l)m}, \pmb{v}^{(l)m} \in \mathbb{R}^{M \times D_E}$ 是第 $m$ 个键值对的基础嵌入向量。$M$ 是KB的大小,$D_E$ 是句子编码器的输出维度。随后,第 $l$ 个注意力层和第 $n$ 个token的知识增强输出计算如下:

$$ \tilde{\mathbf{y}}_n^{(l)} = \frac{\sum_{m=1}^M \exp(\langle \tilde{\mathbf{q}}_n^{(l)}, \tilde{\mathbf{k}}^{(l)m} \rangle / \sqrt{D}) \tilde{\mathbf{v}}^{(l)m} + \sum_{i=1}^n \exp(\langle \mathbf{q}_n^{(l)}, \mathbf{k}^{(l)i} \rangle / \sqrt{D}) \mathbf{v}^{(l)i}}{\sum_{m=1}^M \exp(\langle \tilde{\mathbf{q}}_n^{(l)}, \tilde{\mathbf{k}}^{(l)m} \rangle / \sqrt{D}) + \sum_{i=1}^n \exp(\langle \mathbf{q}_n^{(l)}, \mathbf{k}^{(l)i} \rangle / \sqrt{D})} $$


其中 $\tilde{\mathbf{q}}_n^{(l)} = \tilde{\mathbf{W}}_Q^{(l)} \mathbf{x}_n^{(l)}$, $\tilde{\mathbf{k}}^{(l)m} = \tilde{\mathbf{W}}_K^{(l)} \mathbf{k}^{(l)m}$, $\tilde{\mathbf{v}}^{(l)m} = \tilde{\mathbf{W}}_V^{(l)} \mathbf{v}^{(l)m}$ 表示KB部分投影后的Q-K-V嵌入向量。$\tilde{\mathbf{W}}_Q^{(l)} \in \mathbb{R}^{D \times D}, \tilde{\mathbf{W}}_K^{(l)}, \tilde{\mathbf{W}}_V^{(l)} \in \mathbb{R}^{D \times D_E}$ 是KB的Q-K-V向量的特定投影头。这种矩形注意力具有 $\mathcal{O}((M + N) \cdot N \cdot D)$ 的时间复杂度和 $\mathcal{O}((M + N) \cdot (N + D))$ 的内存复杂度。其计算开销随 $M$ 线性增长,比标准自注意力更高效。然而,当KB大小 $M$ 剧烈扩展时,线性增长的时间和内存复杂度仍然是一个关键问题。AtlasKV通过将时间复杂度降低至 $\mathcal{O}((C_t \sqrt[3]{M} + N) \cdot N \cdot D)$ 和内存复杂度降低至 $\mathcal{O}((C_m \sqrt[3]{M} + N) \cdot (N + D))$ 进一步提高了KG增强LLM的可扩展性,其中 $C_t$ 和 $C_m$ 是远小于 $M$ 的常数。

方法细节

AtlasKV架构概览
将包含数十亿三元组的通用KGs等超大且复杂的外部知识增强到LLMs中,通常面临泛化能力低下以及难以承受的计算和内存开销问题。为了克服这些根本性挑战,本文提出了AtlasKV,这是一种通过两项关键创新将海量KGs集成到LLMs中的可扩展、有效且通用的方法:(1) KG2KV,一种新的KG集成范式,它将KG三元组自然转换为Q-K-V数据,使LLMs能够同时实现增强的泛化性能和高效的知识集成;(2) HiKVP,一种分层键值剪枝算法,在推理期间显著降低了计算和内存开销,同时保持了较高的知识基础准确性。

从KG三元组到Q-K-V数据的转换 (KG2KV)
基于观察到KG中的每个三元组都可以自然地分解为Q-K-V字符串【文献:Facts as experts: Adaptable and interpretable neural memory over symbolic knowledge, 2020, arXiv】,这与LLMs中自注意力网络的Q-K-V向量结构非常相似,本文引入了KGKV的概念,并采用了KG2KV管道将每个KG三元组转换为Q-K-V字符串及其对应的句子嵌入向量。

图2:如何将KG三元组转换为Q-K-V数据的示例。
图2:如何将KG三元组转换为Q-K-V数据的示例。

KG2KV的处理流程
对于给定的KG三元组 $(h, r, t)$,首先掩码其头部 $h$ 或尾部实体 $t$(可以是命名实体、事件或概念实体)。此时被掩码的实体即为该三元组中所需的“值(value)”。接着,根据掩码的位置,通过LLMs将关系 $r$ 重写为名词词汇,该名词可被视为未掩码实体的属性。例如,如果掩码三元组中的尾部实体,关系“because”可以直接通过LLMs重写为其名词形式“cause”。这个尾部掩码三元组的键(key)字符串可以表示为“the cause of John founded http://StockLemon.com”。如果掩码头部实体,则需要将关系重写为其反向名词词汇“result”。这个头部掩码三元组的键字符串可以表示为“the result of John has made profits ...”。在这个KG2KV管道中,被掩码的实体作为value数据,而未掩码的实体和关系作为key数据,从而构成完整的KGKV数据。需要注意的是,对于训练数据,通常选择命名实体作为掩码的key,并选择事件实体和关系作为value。随后通过句子编码器,KGKVs可以被压缩并编码为句子嵌入 $\mathbf{k}^m, \mathbf{v}^m$,以集成到LLMs的注意力层中。

训练查询数据的构建
同时还需要每个三元组的查询(query)句子作为训练数据。查询字符串可以通过在键字符串前添加各种提问前缀来获得。例如,提问前缀可以是“What is ...”,“Tell me ...”,或“Provide details on ..”。这种设计可以确保模型不会对特定的提问方式产生过拟合。

KG2KV的多样性与成本优势
与使用有限的人工定义模式直接从文档中合成Q-K-V数据相比,KG中海量的关系保证了使用KG2KV方法构建的训练数据中查询属性的多样性。此外,由于KG2KV中需要输入LLMs的字符串仅为掩码位置和关系,因此KG2KV比直接合成方法需要更少的token开销。KG2KV具有7.864%的显著更高的多样性比率(唯一查询属性的数量除以三元组的总数),以及低于合成方法的平均token成本(165.7)。

KGKVs的层次化聚类
受多项通过在文本块上组织层次化知识结构取得成功的工作的启发,本文采用层次聚类将KGKVs的键聚类成层次结构。这种设计旨在分担推理期间每一层层次化知识键的计算和内存负担。具体而言,首先采用均匀流形近似和投影(UMAP)对知识键进行降维,然后采用高斯混合模型(GMMs)将知识键聚类成层次结构。较高层中的每个键向量是较低层中键向量的池化。在AtlasKV中,将层数设置为3,这也可以根据实际情况设置得更大。选择3层是因为这是包含AtlasKV中所需所有定义的最小层数。为了平均分担计算和内存负担,将每层中簇的大小设置为相同,即 $S = \lceil \sqrt[3]{M} \rceil$。由此可以得到三层知识键的基础嵌入 $\pmb{k}_L^m \in \mathbb{R}^{M_L \times D_E}$, $\pmb{k}_I^m \in \mathbb{R}^{M_I \times D_E}$, $\pmb{k}_R^m \in \mathbb{R}^{M_R \times D_E}$,其中 $M_L = M, M_I = [M^{\frac{2}{3}}], M_R = \lceil \lceil M^{\frac{2}{3}} \rceil M^{-\frac{1}{3}} \rceil$。$D_E$ 是句子编码器的嵌入维度。

等效注意力机制的知识增强
在AtlasKV的微调过程中,不需要修剪KGKV对。因为AtlasKV具有泛化能力,在微调过程中不需要如此大规模的KGKVs。此处使用等效注意力方法来替代KBLaM中的矩形注意力进行知识增强。在第 $l$ 个注意力层和第 $n$ 个token处,计算公式为:

$$ \tilde{\mathbf{y}}_n^{(l)} = \lambda_{kg} \cdot \mathrm{Softmax}(\mathrm{logits}_{kg_L}) \cdot \tilde{\mathbf{v}}^{(l)} + \lambda_{seq} \cdot \mathrm{Softmax}(\mathrm{logits}_{seq}) \cdot \mathbf{v}^{(l)} $$


其中 $\mathrm{logits}_{kg_L}$ 是注意力输出的KG部分,$\mathrm{logits}_{seq}$ 是注意力输出的序列部分。对于这两个softmax结果的权重 $\lambda_{kg}$ 和 $\lambda_{seq}$,有:

$$ \lambda_{kg} = \frac{\sum_{i=1}^M \exp(\mathrm{logits}_{kg_L}^i)}{\sum_{i=1}^M \exp(\mathrm{logits}_{kg_L}^i) + \sum_{i=1}^n \exp(\mathrm{logits}_{seq}^i)}, \lambda_{seq} = \frac{\sum_{i=1}^n \exp(\mathrm{logits}_{seq}^i)}{\sum_{i=1}^M \exp(\mathrm{logits}_{kg_L}^i) + \sum_{i=1}^n \exp(\mathrm{logits}_{seq}^i)} $$
并且有:
$$ \mathrm{logits}_{kg_L}^i = \langle \tilde{\mathbf{q}}_n^{(l)}, \tilde{\mathbf{k}}_L^{(l)i} \rangle / \sqrt{D}, \mathrm{logits}_{seq}^i = \langle \mathbf{q}_n^{(l)}, \mathbf{k}^{(l)i} \rangle / \sqrt{D} $$
其中 $\tilde{\mathbf{k}}_L^{(l)i} = \tilde{\mathbf{W}}_K^{(l)} \mathbf{k}_L^i$ 且 $\mathbf{k}^{(l)i} = \mathbf{W}_K^{(l)} \mathbf{k}^i$。唯一的可学习变量 $\theta$ 是KG特定的查询头 $\tilde{\mathbf{W}}_Q$ 和KG投影头 $\tilde{\mathbf{W}}_K, \tilde{\mathbf{W}}_V$。然后使用LLMs原始的自回归训练目标优化 $\theta$:
$$ p(\boldsymbol{v} | \mathcal{M}, q) = \prod_{i=1}^L p_\theta(x_i | \mathcal{M}, q_{<i}, v_{<i}) $$</div> 其中 $L$ 是查询 $q$ 和答案 $v$ 的总长度。$i$ 表示 $q$ 和 $v$ 组合中的第 $i$ 个token。$q_{<i}$ 和 $v_{<i}$ 是当前预测token $x_i$ 之前所有轮次中的查询和答案token。注意力的输出在预填充过程和每个解码步骤中都是KG部分和序列部分值的加权组合,权重根据KG和序列部分的logits动态确定。</p>

分层键值剪枝 (HiKVP) 推理
在推理期间,通常只需要查询相关的少数KG值。注入不相关的知识也会引入噪声。因此,采用分层键值剪枝(HiKVP)管道来高效且可扩展地为查询找到最相关的KGKVs。注意力将计算为:

$$ \tilde{\mathbf{y}}_n^{(l)} = \bar{\lambda_{kg}} \cdot \mathrm{Softmax}(\mathrm{logits}_{kg}) \cdot \bar{\tilde{\mathbf{v}}}^{(l)} + \lambda_{seq} \cdot \mathrm{Softmax}(\mathrm{logits}_{seq}) \cdot \mathbf{v}^{(l)} $$


其中 $\mathrm{logits}_{kg}$ 和 $\bar{\tilde{\mathbf{v}}}^{(l)}$ 是叶层中剪枝后的KG logits和值。$\bar{\lambda_{kg}}$ 是基于剪枝后KG logits的权重。

图3:在第 $l$ 个注意力层具有三层知识键的分层键值剪枝(HiKVP)概述。灰色背景表示该部分在GPU内存中存储和计算。
图3:在第 $l$ 个注意力层具有三层知识键的分层键值剪枝(HiKVP)概述。灰色背景表示该部分在GPU内存中存储和计算。

HiKVP的执行步骤
- 步骤1:最初,只有根层投影键向量 $\tilde{\mathbf{k}}_R^{(l)}$ 上传到GPU内存中,而其他层的键和值向量保持在CPU内存中。首先计算查询与根层键之间的注意力权重:$\mathrm{logits}_{kg_R} = \langle \tilde{\mathbf{q}}_n^{(l)}, \tilde{\mathbf{k}}_R^{(l)} \rangle / \sqrt{D}$。在计算其softmax之后,通过选择具有Top-$k_R$最高分数的键来剪枝根键,并使用映射获得包含的中间层键 $\bar{\tilde{\mathbf{k}}}_I^{(l)} \in \mathbb{R}^{(k_R S) \times D}$。根层键将被卸载回CPU内存。
- 步骤2:对选定的中间层键执行与步骤1类似的过程。将选定的中间层键上传到GPU内存,并计算注意力权重:$\mathrm{logits}_{kg_I} = \langle \tilde{\mathbf{q}}_n^{(l)}, \bar{\tilde{\mathbf{k}}}_I^{(l)} \rangle / \sqrt{D}$。然后可以剪枝选定的中间层键并以相同方式获得选定的叶层键 $\bar{\tilde{\mathbf{k}}}_L^{(l)} \in \mathbb{R}^{(k_I S) \times D}$。选定的中间层键将被卸载到CPU内存。
- 步骤3:最后,将选定的叶层键从CPU上传到GPU内存。计算softmax后的注意力权重,并通过直接选择具有Top-$k_L$最高softmax分数的对应logits来剪枝叶层键:$\mathrm{logits}_{kg} = \mathrm{TopK\_logits}(\mathrm{Softmax}(\mathrm{logits}_{kg_L}), k_L) \in \mathbb{R}^{k_L \times 1}$,其中 $\mathrm{logits}_{kg_L} = \langle \tilde{\mathbf{q}}_n^{(l)}, \tilde{\mathbf{k}}_L^{(l)} \rangle / \sqrt{D}$。通过映射索引,还可以获得剪枝后的值 $\bar{\tilde{\mathbf{v}}}^{(l)} \in \mathbb{R}^{k_L \times D}$ 并将它们上传到GPU内存。然后可以获得 $\mathrm{logits}_{kg}, \bar{\tilde{\mathbf{v}}}^{(l)}$ 和 $\bar{\lambda_{kg}}$,并在推理期间最终计算出注意力输出。所有这些HiKVP步骤可以在 $\mathcal{O}((C_t \sqrt[3]{M} + N) \cdot N \cdot D)$ 时间复杂度和 $\mathcal{O}((C_m \sqrt[3]{M} + N) \cdot (N + D))$ 内存复杂度内完成。

实验环境

实验结果

实验一:GPU显存开销与扩展性对比
- 实验内容:在1到10亿个三元组的KG规模范围内,对比AtlasKV、ICL、KBLaM、CAG等方法在推理时的GPU显存使用情况。
- 实验结果:随着KG规模增加,AtlasKV的显存使用量仅略高于零样本生成。在增强10亿个三元组时,AtlasKV所需的VRAM不到20GB;而KBLaM在处理10万个三元组时就需要超过40GB的VRAM。基于ICL的RAG方法在相关三元组规模扩大时,由于长上下文依赖,显存和延迟大幅增加,且受“迷失在中间”问题影响。(图表引用:Figure 4, Table 2)
- 分析结论:得益于HiKVP算法将KBLaM的时间和内存复杂度从线性显著降低到亚线性,AtlasKV具有极强的可扩展性,能以极低的显存成本处理十亿级KG。

实验二:知识基础准确性 (Knowledge Grounding Accuracy)
- 实验内容:在三个OOD数据集(Enron, ATLAS-Pes2o-QKV, ATLAS-CC-QKV)上,跨不同KG大小,对比AtlasKV与KBLaM的Top-1和Top-5知识基础准确率。准确率通过提取第15层注意力层的KG部分softmax后注意力分数获得。
- 实验结果:AtlasKV在所有数据集和KG规模上均显著高于KBLaM。特别是在查询属性复杂多样的ATLAS-Pes2o-QKV和ATLAS-CC-QKV数据集上,KBLaM表现极差,而AtlasKV仅需2万个KGKV样本(3000步训练)即可实现高准确率。此外,即使使用了HiKVP剪枝,AtlasKV的性能下降也很小,依然优于KBLaM。(图表引用:Table 3)
- 分析结论:KGKVs训练数据显著提升了模型的准确性和泛化能力,使训练过程更高效。AtlasKV训练出的特定注意力头具备在不同语义粒度层级进行模糊检索的能力。

实验三:生成结果的相关性评估
- 实验内容:使用GPT-4o作为评估器,对AtlasKV、KBLaM、ICL和零样本生成的答案与真实答案的相关性进行打分(0-1分)。
- 实验结果:AtlasKV取得了显著高于KBLaM的GPTScore。尽管ICL能生成超过0.9分的高准确度结果,但当KG超过100个三元组时,需要超过48GB的VRAM,无法在有限显存上运行。KBLaM在困难数据集上表现不佳。(图表引用:Figure 5)
- 分析结论:AtlasKV由于KG2KV方法构建的训练数据具有更高的查询属性多样性,能够更好地泛化到复杂场景中未见过的查询属性。

实验四:实体类型对模型学习的消融实验
- 实验内容:在不使用HiKVP的情况下,对比包含命名实体和事件实体的完整KG2KV训练数据,与仅包含命名实体或仅包含事件实体的变体(AtlasKV w/o HiKVP & Event, AtlasKV w/o HiKVP & Entity)的准确率。
- 实验结果:缺失任何一种实体都会导致性能下降。仅有事件实体时,由于语义复杂,特定头难以从头学习,导致性能大幅下降。仅有命名实体时,性能下降较小,但仍不及两者结合。(图表引用:Table 4)
- 分析结论:在KG2KV过程中将命名实体和事件实体结合使用,通过事件实体的复杂语义和命名实体的简单语义互补,有助于模型更好地学习。

结论

本文提出了AtlasKV,这是一个可扩展、有效且通用的框架,能够在极低的GPU内存预算下利用十亿级知识图谱增强LLMs。与非参数化方法相比,AtlasKV不需要外部检索器,也不依赖于会导致巨大推理延迟的长上下文先验。与传统的参数化方法相比,AtlasKV可以以无需训练的方式适应新知识。该方法通过以下两点实现:(1) KG2KV,它将KG三元组自然地转化为Q-K-V数据,使LLMs能够同时实现增强的泛化性能和高效的知识集成;(2) HiKVP,它执行分层键值剪枝,在推理期间显著降低了计算和内存成本,同时保持了高性能。
未来的工作需解决KG2KV“扁平化”KGs导致的图结构丢失(阻碍多跳推理)问题,优化HiKVP中的准确率与可扩展性权衡,并引入系统调度算法以减少CPU-GPU I/O开销。

附录细节补充

不同编码器下的知识基础性能
在使用输出维度更大的 text-embedding-3-large ($D_E=3072$) 作为句子编码器时,将AtlasKV的训练步数从3K增加到10K以确保收敛。实验表明,在该编码器下,AtlasKV在大多数情况下仍能实现比KBLaM更高的知识基础准确率,进一步证明了AtlasKV对各种句子编码器的适应性。

KG2KV中关系重写的影响
对KG2KV中关系重写(消耗token的步骤)的敏感性进行了分析。在训练数据中移除关系重写(直接组合原始关系和未掩码实体,记为AtlasKV-Ntrain),或在测试数据中移除关系重写(记为AtlasKV-Ntest)。实验表明,不进行关系重写会导致轻微的性能下降,但模型仍能保持较高的知识基础准确率。这说明简单的关系和实体组合也能帮助区分键,可作为准确率、token消耗和KG规模之间的权衡。

知识注入频率的影响
测试了知识注入频率 $K$ 为1、3、10时对准确率的影响。结果表明,过于频繁($K=1$)或不频繁($K=10$)的知识注入都会导致次优性能。$K=3$ 是最佳选择,因为过于频繁的注入会在早期注意力层引入噪声,而频率较低则会导致模型因知识注入不足而无法准确定位三元组。

HiKVP中Top-K选择的分析
在HiKVP中,改变 $k_R, k_I, k_L$ 的设置会影响准确率。增加根层 $k_R$ 会显著提高准确率;而增加 $k_I$ 或 $k_L$ 时,性能先提高后略微下降。这表明AtlasKV的精确检索能力强于模糊检索能力,上层选择的噪声候选键会影响下层的检索准确性。层间相关性分析进一步证实,适当增加上层Top-k值,下层准确率会不断提高,但上层选择过多键时,下层准确率可能会下降。

知识覆盖的益处
在解答仅存在于较大子KG中的问题时,对比了包含100个三元组和10000个三元组的子KG。结果显示,较大KG生成的回复的GPTScore远高于较小KG,证明扩大KG规模对知识增强LLMs是有价值的,且知识覆盖的好处远大于大规模KG引入噪声带来的缺点。

训练动态观察
观察AtlasKV的训练过程发现,在使用正确配对和随机配对的KGKVs训练时,在特定训练步数之前,两者的训练损失几乎相同。然而在此之后,正确数据集上的训练损失显著下降,而随机数据集上的损失继续缓慢下降。这表明AtlasKV从特定步数开始,通过从外部KG三元组中检索相关知识来进行泛化,而不是通过神经参数进行暴力过拟合。