论文状态:已完成

Accelerating Retrieval-Augmented Generation

发表:2025/02/06
原文链接
价格:0.100000
已有 4 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文探讨了检索增强生成(RAG)在缓解大型语言模型(LLMs)幻觉和准确性问题上的应用。作者提出通过设计智能知识存储(IKS),实现了一种新型近内存加速架构,IKS在512GB向量数据库上的精确检索速度比传统CPU快13.4-27.9倍,显著提升了推理效率。

摘要

An evolving solution to address hallucination and enhance accuracy in large language models (LLMs) is Retrieval-Augmented Generation (RAG), which involves augmenting LLMs with information retrieved from an external knowledge source, such as the web. This paper profiles several RAG execution pipelines and demystifies the complex interplay between their retrieval and generation phases. We demonstrate that while exact retrieval schemes are expensive, they can reduce inference time compared to approximate retrieval variants because an exact retrieval model can send a smaller but more accurate list of documents to the generative model while maintaining the same end-to-end accuracy. This observation motivates the acceleration of the exact nearest neighbor search for RAG. In this work, we design Intelligent Knowledge Store (IKS), a type-2 CXL device that implements a scale-out near-memory acceleration architecture with a novel cache-coherent interface between the host CPU and near-memory accelerators. IKS offers 13.4–27.9 × faster exact nearest neighbor search over a 512GB vector database compared with executing the search on Intel Sapphire Rapids CPUs. This higher search performance translates to 1.7–26.3 × lower end-to-end inference time for representative RAG applications. IKS is inherently a memory expander; its internal DRAM can be disaggregated and used for other applications running on the server to prevent DRAM – which is the most expensive component in today’s servers – from being stranded.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

加速检索增强生成 (Accelerating Retrieval-Augmented Generation)

1.2. 作者

Derrick Quinn (康奈尔大学), Mohammad Nouri (康奈尔大学), Neel Patel (康奈尔大学), John Salihu (堪萨斯大学), Alireza Salemi (马萨诸塞大学阿默斯特分校), Sukhan Lee (三星电子), Hamed Zamani (马萨诸塞大学阿默斯特分校), Mohammad Alian (康奈尔大学)。

1.3. 发表期刊/会议

第30届 ACM 国际编程语言和操作系统架构支持会议 (ASPLOS '25),2025年3月30日至4月3日,荷兰鹿特丹。ASPLOS 是计算机体系结构、编程语言和操作系统领域的顶级会议之一,具有极高的声誉和影响力。

1.4. 发表年份

2025年。

1.5. 摘要

大型语言模型 (LLMs) 中的幻觉 (hallucination) 和准确性问题,正在通过检索增强生成 (RAG) 这一不断演进的解决方案来解决。RAG 通过从外部知识源(如网络)检索信息来增强 LLMs。本文剖析了几种 RAG 执行管道,并阐明了其检索和生成阶段之间复杂的相互作用。作者发现,尽管精确检索 (exact retrieval) 方案成本高昂,但与近似检索 (approximate retrieval) 变体相比,它可以减少推理时间,因为精确检索模型可以向生成模型发送更小但更准确的文档列表,同时保持相同的端到端准确性。这一观察结果促使作者加速 RAG 的精确最近邻搜索 (exact nearest neighbor search)。

在这项工作中,作者设计了智能知识存储 (Intelligent Knowledge Store, IKS),这是一种 Type-2 CXL 设备,它实现了一种具备新型缓存一致性 (cache-coherent) 接口的近内存加速 (near-memory acceleration) 架构,该接口位于宿主 CPU (host CPU) 和近内存加速器 (near-memory accelerators) 之间。IKS 在 512GB 向量数据库 (vector database) 上的精确最近邻搜索速度比在英特尔 Sapphire Rapids CPU 上执行搜索快 13.4-27.9 倍。这种更高的搜索性能使得代表性 RAG 应用程序的端到端推理时间降低了 1.7-26.3 倍。IKS 本质上是一个内存扩展器 (memory expander);其内部 DRAM 可以解耦并用于服务器上运行的其他应用程序,以防止 DRAM(当今服务器中最昂贵的组件)被“闲置 (stranded)”。

1.6. 原文链接

/files/papers/692998d14241c84d8510f9f7/paper.pdf (本地文件,发布状态为已接受 ASPLOS '25 会议发表)。


2. 整体概括

2.1. 研究背景与动机

2.1.1. LLMs的局限性

大型语言模型 (LLMs) 作为最先进的自然语言处理 (Natural Language Processing, NLP) 系统,其性能高度依赖于深度 Transformer 网络 [93]。LLMs 通过在训练语料库中“记忆 (memorized)”信息,形成了参数化知识库 (parametric knowledge base),并在生成响应时依赖这些知识。然而,参数化知识存在几个关键挑战:

  • 静态性 (Static Nature): 知识一旦训练完成就无法更新,除非进行昂贵的模型重训练或微调 (fine-tuning)。这在非静态领域(新内容不断产生)中尤为突出 [108]。
  • 记忆限制 (Limited Memorization): LLMs 对不常见实体 (less frequent entities) 的记忆能力有限 [29]。
  • 幻觉 (Hallucination): LLMs 容易生成不准确、不连贯或捏造的事实 [83]。
  • 时间性退化 (Temporal Degradation): 随着时间推移,LLMs 的知识会变得过时 [31]。

2.1.2. RAG作为解决方案

为了克服上述挑战,研究人员提出了通过非参数化知识 (non-parametric knowledge) 来增强 LLMs 的方法,即从外部知识源(如文本文档)中检索信息来辅助 LLM 生成。这种方法被称为检索增强生成 (Retrieval-Augmented Generation, RAG),在机器学习社区中受到了广泛关注 [22; 26; 41; 49; 58; 73; 83],并已应用于 Google Gemini [90]、Microsoft Copilot [86] 和 OpenAI ChatGPT with Retrieval Plugins [56] 等突破性商业应用中。

RAG 应用程序包含两个主要组件:一个检索模型 (retrieval model) 和一个用于文本生成的 LLM(称为生成模型 (generative model))。当接收到查询时,检索模型会搜索相关项目(例如文档),并将检索到的顶部 (top K) 项目连同输入一起发送给生成模型。图 1 提供了 RAG 应用程序的概述。

Fig. 1. Overview of the Retrieval-Augmented Generation (RAG) pipeline. 该图像是一个示意图,展示了检索增强生成(RAG)管道的整体结构。从输入到输出的流程中,知识源提供信息给检索模型,检索出 K 项目后再由生成模型处理以产生最终输出。

Fig. 1. Overview of the Retrieval-Augmented Generation (RAG) pipeline.

2.1.3. 精确检索的性能瓶颈与动机

目前最先进的检索方法使用双编码器神经网络 (bi-encoder neural networks),即密集检索 (dense retrieval) [30],为查询和文档学习最优嵌入 (embedding)。每个项目都被编码成高维向量(称为嵌入向量 (embedding vectors)),并存储在向量数据库中。这些方法使用 K-最近邻 (K-nearest neighbor, KNN) 算法从向量数据库中检索顶部 K 个项目。

RAG 生成输出的准确性取决于检索到的项目列表的质量。执行精确最近邻搜索 (Exact Nearest Neighbors Search, ENNS) 以检索精确的顶部 K 个相关项目需要扫描向量数据库中的所有嵌入向量,这在当今内存带宽受限的系统中成本高昂。例如,在一个具有 50GB 向量数据库的 RAG 应用程序中,ENNS 占用高达 97% 的端到端推理时间 (§3)。

2.1.4. 近似检索的局限性

为了缓解检索成本,一种策略是采用近似最近邻搜索 (Approximate Nearest Neighbor Search, ANNS)。ANNS 提供更快的搜索速度,但检索质量较低。作者的实验表明,虽然低质量检索可以提高搜索时间,但为了匹配 ENNS 或更高质量 ANNS 的端到端 RAG 准确性,低质量搜索方案需要向语言模型提供显著更多的项目。这几乎抵消了检索阶段获得的任何好处,甚至增加了端到端推理时间。

2.1.5. 论文的切入点

鉴于 RAG 对高质量检索的需求,以及现有系统在成本和性能上的局限性,本文的动机是加速 ENNS。作者观察到,虽然 ENNS 本身计算密集,但其简单、数据并行、内存带宽受限的特性使其非常适合近内存加速。

2.2. 核心贡献/主要发现

本文的主要贡献包括:

  • RAG 执行管道的深入剖析: 揭示了 RAG 应用程序在不同硬件和软件配置下的性能和准确性,强调了检索阶段对整体性能和准确性的关键影响。

  • 强调高质量检索的重要性: 实验结果表明,RAG 应用程序需要高质量的检索才能有效运行,而当前的高质量检索阶段是性能瓶颈。

  • 提出智能知识存储 (IKS): 设计并实现了 IKS,一个基于 CXL 的专用内存扩展器,配备了低功耗加速器,用于向量数据库搜索。IKS 利用 CXL.cache 实现了 CPU 和近内存加速器之间无缝高效的接口。

  • 端到端加速 RAG 应用程序: 使用 IKS 实现了端到端加速的 RAG 应用程序。

    • IKS 将 512GB 知识存储的 ENNS 速度提高了 13.4-27.9 倍。
    • 对于代表性 RAG 应用程序,这带来了 1.7-26.3 倍的端到端推理时间加速。
  • 内存扩展器特性: IKS 本质上也是一个内存扩展器,其内部 DRAM 可以解耦并用于服务器上运行的其他应用程序,防止内存资源闲置。


3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 大型语言模型 (LLMs)

大型语言模型 (Large Language Models, LLMs) 是基于深度学习的神经网络模型,通常采用 Transformer [93] 架构,拥有数亿甚至数千亿参数。它们通过在海量文本数据上进行预训练来学习语言的模式、语法和语义,从而能够执行文本生成、摘要、翻译、问答等多种自然语言处理 (Natural Language Processing, NLP) 任务。LLMs 的知识主要存储在其模型参数中,被称为参数化知识 (parametric knowledge)。

3.1.2. 幻觉 (Hallucination)

幻觉 (Hallucination) 是指 LLMs 在生成内容时,产生看似合理但实际上是虚构、不真实或与提供信息不符的文本。这可能导致模型提供错误的事实、捏造引用或产生逻辑不连贯的回答,是 LLMs 在实际应用中面临的一个主要挑战。

3.1.3. 检索增强生成 (Retrieval-Augmented Generation, RAG)

检索增强生成 (Retrieval-Augmented Generation, RAG) 是一种结合了信息检索 (Information Retrieval) 和文本生成的技术。它通过从外部、非参数化知识源(如文档数据库、网页或知识图谱)中检索相关信息,并将这些信息作为上下文输入给 LLMs,以增强模型的生成能力,减少幻觉,并提高生成内容的准确性和时效性。RAG 系统的核心思想是让 LLM 不仅依赖其内部的参数化知识,还能利用外部的最新、准确的非参数化知识。

3.1.4. 密集检索 (Dense Retrieval)

密集检索 (Dense Retrieval) 是一种现代的信息检索方法,它使用深度学习模型(通常是双编码器神经网络 (bi-encoder neural networks))将查询 (query) 和文档 (document) 都编码成高维的密集向量(称为嵌入向量 (embedding vectors))。在检索时,通过计算查询嵌入向量与文档嵌入向量之间的相似度(例如点积 (dot product) 或余弦相似度 (cosine similarity))来找到最相关的文档。这种方法克服了传统稀疏检索(如 BM25)无法捕捉语义相似性的局限性。

3.1.5. 嵌入向量 (Embedding Vectors)

嵌入向量 (Embedding Vectors) 是通过机器学习模型(如 BERT [30])将文本、图像或其他数据项转换成的低维或高维实数向量。这些向量捕获了原始数据项的语义信息,使得语义上相似的项在向量空间中距离更近。在密集检索中,查询和文档都被转换成嵌入向量,以便进行相似度计算。

3.1.6. 向量数据库 (Vector Database)

向量数据库 (Vector Database) 是一种专门用于存储、管理和搜索高维向量数据的数据库。它允许用户通过向量相似度搜索(如 K-最近邻搜索)来快速查找与给定查询向量最相似的向量,从而支持密集检索等应用。

3.1.7. K-最近邻搜索 (K-Nearest Neighbor, KNN)

K-最近邻搜索 (K-Nearest Neighbor Search, KNN) 是一种在给定数据集中查找与查询点最相似的 K 个数据点(即最近邻)的算法。在密集检索中,K-最近邻搜索用于查找与查询嵌入向量最相似的 K 个文档嵌入向量。

3.1.8. 精确最近邻搜索 (Exact Nearest Neighbor Search, ENNS)

精确最近邻搜索 (Exact Nearest Neighbor Search, ENNS) 是一种保证找到与查询点在给定度量空间中距离最近的 K 个点的算法。它通常通过暴力 (brute-force) 搜索,即计算查询向量与数据库中所有向量之间的距离并排序来实现。ENNS 能够提供最高质量的检索结果,但其计算成本随着数据库规模的增加而呈线性增长,因此在大型数据集上通常非常耗时。

3.1.9. 近似最近邻搜索 (Approximate Nearest Neighbor Search, ANNS)

近似最近邻搜索 (Approximate Nearest Neighbor Search, ANNS) 是一种在保证一定查询速度的同时,牺牲少量搜索准确性来查找 K 个近似最近邻的算法。ANNS 不保证找到真正的 K 个最近邻,但通常比 ENNS 快几个数量级。常见的 ANNS 算法包括:

  • 乘积量化 (Product Quantization, PQ) [28]: 通过将高维向量分解为子向量并对每个子向量进行量化来压缩数据,从而加速相似度计算。
  • 倒排文件与乘积量化 (Inverted File with Product Quantization, IVFPQ) [7]: 结合了倒排文件索引结构和 PQ,通过预先将数据划分到不同的聚类中,只在相关聚类中进行搜索,进一步提高效率。
  • 分层可导航小世界图 (Hierarchical Navigable Small World, HNSW) [52]: 构建一个多层图结构,在搜索时从顶层(稀疏)开始,逐步导航到下层(密集)以找到最近邻。

CXL (Compute Express Link) 是一种开放标准的互连协议,旨在提供处理器和加速器之间的高速、低延迟、缓存一致性 (cache-coherent) 连接。CXL 建立在 PCIe 物理层之上,并扩展了三种主要协议:

  • CXL.io: 提供与 PCIe 类似的 I/O 连接,用于设备发现、配置和标准 I/O 接口。

  • CXL.cache: 允许连接的设备(如加速器)高效地访问和缓存主机 CPU 的内存,并保持缓存一致性。

  • CXL.mem: 允许主机 CPU 访问连接设备上的内存,将其作为额外的内存资源。

    论文中提到 IKS 是一个 Type-2 CXL 设备。CXL 定义了三种设备类型:

  • Type 1: 专门用于加速器(如智能网卡),不包含本地内存。

  • Type 2: 包含自身内存的加速器(如 GPU),可以作为内存扩展器,也能进行计算,并与主机 CPU 共享内存。IKS 属于此类型。

  • Type 3: 纯内存扩展器,用于增加系统内存容量。

3.1.11. 近内存加速 (Near-Memory Acceleration, NMA)

近内存加速 (Near-Memory Acceleration) 是一种将计算逻辑放置在尽可能靠近内存芯片的位置(甚至集成在内存芯片内部或其附近)的架构范式。其核心思想是减少数据在处理器和内存之间传输的距离,从而降低数据传输延迟和能耗,尤其适用于内存带宽密集型 (memory-bandwidth bound) 的工作负载。论文中的 Intelligent Knowledge Store (IKS) 使用的就是近内存加速器 (Near-Memory Accelerator, NMA)。

3.1.12. LPDDR5X DRAM

LPDDR (Low Power Double Data Rate) DRAM 是一种低功耗的同步动态随机存取存储器,主要用于移动设备和嵌入式系统。LPDDR5X 是 LPDDR 家族的最新标准之一,相比 DDR (Double Data Rate) DRAM,它通常具有更低的功耗、更高的带宽和更短的互连。论文选择 LPDDR5X 是为了实现成本效益和高容量。

3.1.13. SIMD 处理器 (GPUs, Intel AMX)

SIMD (Single Instruction, Multiple Data) 处理器是一种能够同时对多个数据元素执行相同指令的处理器架构。

  • GPU (Graphics Processing Unit): 图形处理器是高度并行的 SIMD 处理器,最初设计用于图形渲染,但现在广泛用于通用计算 (GPGPU),尤其是在深度学习等数据并行任务中表现出色。它们拥有大量的计算单元和高带宽内存 (HBM),适合处理大规模数据并行计算。
  • Intel AMX (Advanced Matrix Extensions): 英特尔先进矩阵扩展是英特尔 CPU 上的一种指令集架构,旨在加速矩阵乘法运算,特别是在人工智能和深度学习工作负载中。AMX 使用 bfloat16 数据格式,可以提供比标准 CPU SIMD 指令(如 AVX-512)更高的矩阵乘法吞吐量。

3.1.14. 屋脊线模型 (Roofline Model)

屋脊线模型 (Roofline Model) 是一种用于分析计算性能和识别性能瓶颈的图表工具。它将程序的浮点运算性能(以 GFLOPS 为单位)与内存带宽(以 GB/s 为单位)和计算强度(浮点运算数/字节访问数)联系起来。通过将程序的性能点绘制在屋脊线图上,可以直观地看出程序是受限于计算能力 (compute-bound) 还是内存带宽 (memory-bandwidth bound)。

3.1.15. Top-K 聚合 (Top-K Aggregation)

Top-K 聚合 (Top-K Aggregation) 是指在分布式或并行计算环境中,从多个子任务或加速器返回的局部 Top-K 结果列表中,合并并找出全局的 Top-K 结果的过程。在本文的 IKS 架构中,多个近内存加速器 (NMA) 会并行计算其本地数据分片上的 Top-K 相似度得分,然后由主机 CPU 负责将这些局部 Top-K 列表聚合成一个最终的全局 Top-K 列表。

3.2. 前人工作

3.2.1. RAG 应用程序

作者引用了多项关于 RAG 在不同 NLP 任务中的应用,包括:

  • 对话响应生成 (Dialogue Response Generation) [2; 8; 10; 83; 91; 92; 96; 97; 99]
  • 机器翻译 (Machine Translation) [18; 21; 102; 109]
  • 基于事实的问答 (Grounded Question Answering) [25; 26; 41; 66; 67; 76-78; 85; 107]
  • 抽象摘要 (Abstractive Summarization) [58; 64]
  • 代码生成 (Code Generation) [20; 49]
  • 改写生成 (Paraphrase Generation) [32; 89]
  • 个性化 (Personalization) [37; 72; 73; 75]
  • 多模态数据任务 (Multi-modal Data Tasks) (如图像描述、图像生成和视觉问答) [11; 12; 15; 19; 70; 71; 80] 这些工作证明了 RAG 作为一个通用范式在多个领域的有效性。本文的实现方法与 Meta AI 的 Izacard 和 Grave [26] 以及 Lewis 等人 [41] 的方法类似,都采用密集文档检索模型作为检索器,并使用语言模型进行答案生成。

3.2.2. 密集检索

文章强调了密集检索 (dense retrieval) 在 RAG 中相较于其他方法(如稀疏检索)的优越性 [25; 26; 41; 19; 71; 74]。特别提到了 Karpukhin 等人 [30] 的工作,其提出了用于开放域问答的密集通道检索 (Dense Passage Retrieval, DPR)。本文的检索模型使用 BERT-base (uncased) 来生成嵌入向量,并利用 Faiss [27] 库进行高效向量搜索,这与这些前人工作保持一致。

3.2.3. ANNS 加速器

针对 ANNS 的挑战,已有一些硬件加速器被提出:

  • ANNA [40]: 专注于加速基于乘积量化 (PQ-based) 的 ANNS 算法。
  • NDSearch [95]: 专注于加速基于图 (Graph-based) 的 ANNS 算法(如 HNSW)。 这些加速器通常是任务特定的,由于 ANNS 算法的复杂性和多变性,很难设计一个通用的 ANNS 加速器。

3.2.4. CXL 近内存计算解决方案

  • Sim 等人 [84]: 实现了用于近内存处理的计算 CXL 内存解决方案,并展示了 CXL 内存内部的 ENNS 加速。然而,该工作使用 DDR DRAM 实现 CXL 内存,这可能无法满足 RAG 中大型语料库的 ENNS 对功耗和带宽的要求。
  • Ke 等人 [33]: 提出了在三星 AxDIMM 上加速 DLRM (Deep Learning Recommendation Model) 的近内存加速。AxDIMM 基于 DIMM 外形尺寸,这限制了每通道内存容量,并可能在用作加速器时影响宿主 CPU 的内存容量 [S4]。

3.3. 技术演进

LLMs 的发展首先是 Transformer [93] 架构的提出,随后是大规模预训练模型的兴起。然而,LLMs 固有的知识静态性、幻觉问题以及对长尾知识的记忆不足,促使了 RAG 范式的出现。RAG 的核心思想是将 LLMs 的生成能力与外部、可更新的知识库相结合,通过检索最相关的信息片段来指导 LLM 的生成过程。

在检索阶段,从传统的稀疏检索(如 TF-IDF, BM25)演进到基于深度学习的密集检索 (dense retrieval),使得语义匹配的能力大大增强。密集检索依赖于高效的向量相似度搜索,从而推动了向量数据库技术和相应的加速方法(如 ANNS 和 ENNS 的硬件加速)的发展。

本文的工作正处于这一演进路径上,旨在通过专门的硬件加速器 (IKS) 解决 RAG 中 ENNS 的性能瓶颈,从而进一步提升 RAG 系统的端到端性能和准确性。IKS 利用了 CXL 协议提供的缓存一致性内存扩展能力,将计算逻辑推向内存,以应对数据密集型 ENNS 的挑战。

3.4. 差异化分析

本文提出的 IKS 方法与相关工作的主要区别和创新点在于:

  • ENNS 加速的专注性: 尽管 ANNS 算法在某些情况下可以提供速度优势,但作者的实验表明,对于追求高准确性的 RAG 任务,ENNS 或高质量 ANNS 往往是必要的,而高质量 ANNS 的加速挑战大且其性能提升有限。IKS 专注于加速 ENNS,利用其简单、数据并行且内存带宽受限的特性,使其更易于高效加速,且搜索质量不依赖于数据集特性。

  • CXL Type-2 设备的创新性:

    • 不同于 DDR/DIMM-based PMEM: IKS 采用 CXL 协议,而非基于 DDR 或 DIMM 的近内存处理架构。CXL 能够提供更完善的共享地址空间机制,无需复杂的共享机制 [61],且能够独立扩展本地和远端内存容量,避免了 DIMM-based 方案对主机 CPU 内存容量的妥协 [4; 35; 62; 111]。
    • 新型缓存一致性接口: IKS 在 CXL.cache 协议之上实现了一个新颖的、缓存一致的接口,用于 CPU 和近内存加速器之间的通信。这消除了 DMA (Direct Memory Access) 设置和缓冲区管理的需求,并显著降低了中断或轮询 (polling) 的开销 [105]。
  • LPDDR5X DRAM 的选择: IKS 使用 LPDDR5X DRAM,相较于 HBM (昂贵) 或 DDR (通用),LPDDR5X 提供了成本效益、高容量和高带宽的平衡,更适合大型向量数据库的需求。

  • 规模化近内存加速架构 (Scale-Out NMA Architecture): IKS 采用分布式的 NMA 架构,将 NMA 逻辑分布在多个芯片上,每个芯片都紧邻 LPDDR5X 内存。这种设计旨在控制单个 NMA 芯片的面积,提高良率,并有效利用芯片边缘的 PHY 面积,避免了构建一个巨大的单片加速器。

  • 成本效益: 相比于 GPU 方案,IKS 在存储容量上更大(单 IKS 单元是 H100 GPU 的 6.4 倍),但预计制造成本更低,因为它避免了 HBM 的高成本,并且 NMA 芯片面积小于 GPU,从而实现了更高的成本效益。


4. 方法论

4.1. 方法原理

本文提出的智能知识存储 (Intelligent Knowledge Store, IKS) 是一种 Type-2 CXL 设备,它结合了内存扩展器功能和近内存加速器架构,专门为加速 RAG 应用中的精确最近邻搜索 (ENNS) 而设计。IKS 的核心原理是利用 ENNS 固有的数据并行性、内存密集性以及规则的内存访问模式,将向量相似度计算(特别是点积操作)卸载 (offload) 到靠近 LPDDR5X DRAM 模块的低功耗加速器阵列上。这种设计旨在解决传统 CPU 在 ENNS 上无法饱和内存带宽的问题,并避免 GPU 因计算资源过剩和 HBM 成本高昂而导致效率低下和成本高企的问题。

IKS 的设计基于三个核心要求:

  1. 成本效益和可扩展的内存容量: RAG 应用的向量数据库通常是数百 GB 级别,且未来可能继续增长。IKS 采用 LPDDR5X DRAM,在容量和成本之间取得平衡。

  2. 用户空间管理近内存加速器: 为了降低上下文切换 (context switch) 和内核开销 (kernel overhead),加速器的管理和卸载应尽可能在用户空间 (userspace) 完成。

  3. 主机 CPU 与近内存加速器共享地址空间: 避免显式的数据移动,并允许主机 CPU 管理除了 ENNS 之外的其他数据操作(如更新),从而简化应用开发。

    IKS 通过 CXL.mem 和 CXL.cache 协议满足了这些要求,实现了共享地址空间、低开销的用户空间卸载接口,并消除了 PCIe 附带 IKS 卡在计算和散热容量上的限制。

4.2. 核心方法详解 (逐层深入)

4.2.1. RAG 管道概述

RAG 应用的核心在于其双阶段管道:检索 (Retrieval) 和生成 (Generation)。

  1. 检索阶段: 当接收到用户查询 qq 时,检索模型首先将 qq 编码成一个查询向量。然后,通过与存储在向量数据库中的大量文档嵌入向量进行相似度搜索(本文采用 ENNS),识别出与 qq 最相关的 K 个文档。

  2. 生成阶段: 检索到的 K 个文档(或其内容片段),与原始查询 qq 一起,作为上下文输入给大型语言模型 (LLM),LLM 利用这些增强信息生成最终的答案或响应。

    下图(原文 Figure 1)展示了 RAG 管道的概览:

    Fig. 1. Overview of the Retrieval-Augmented Generation (RAG) pipeline. 该图像是一个示意图,展示了检索增强生成(RAG)管道的整体结构。从输入到输出的流程中,知识源提供信息给检索模型,检索出 K 项目后再由生成模型处理以产生最终输出。

Fig. 1. Overview of the Retrieval-Augmented Generation (RAG) pipeline.

4.2.2. 密集检索中的相似度计算

在密集检索中,查询 qq 和文档 dd 分别通过查询编码器 EqE_q 和文档编码器 EdE_d 映射到高维向量空间。这两个编码器是双编码器神经网络,经过训练以学习最优嵌入。文档 dd 和查询 qq 之间的相似度得分 Sd\mathcal{S}_d 通过它们的嵌入向量的点积来计算:

Sd=Eq(q)Ed(d) \mathcal{S}_d = E_q(q) \cdot E_d(d)

其中:

  • Eq(q)RhE_q(q) \in \mathbb{R}^h: 查询 qq 经过查询编码器 EqE_q 编码后得到的 hh 维查询向量。

  • Ed(d)RhE_d(d) \in \mathbb{R}^h: 文档 dd 经过文档编码器 EdE_d 编码后得到的 hh 维文档向量(嵌入向量)。

  • hh: 查询和文档编码器的隐藏维度 (hidden dimension)。

  • \cdot: 表示两个向量的点积运算。

    在离线阶段,所有文档都被编码成嵌入向量并存储在向量数据库中。在线阶段,检索模型通过 K-最近邻算法根据这些相似度得分对文档进行排序,并检索出顶部 K 个文档。ENNS 正是需要穷尽式地计算所有嵌入向量与查询向量之间的点积。

4.2.3. IKS 架构概览

IKS (Intelligent Knowledge Store) 的架构旨在实现可扩展的近内存加速。它是一个 Type-2 CXL 设备,集成了八个 LPDDR5X 存储器包,每个存储器包都直接连接到一个近内存加速器 (Near-Memory Accelerator, NMA)。

下图(原文 Figure 5)展示了 IKS 的系统集成和架构概览:

Fig. 5. (a) IKS internal DRAM, scratchpad spaces, and configuration registers are mapped to the host address space. The scratchpad and configuration register address ranges are labeled as Context Buffers (CB). (b) IKS is a compute-enabled CXL memory expander that includes eight LPDDR5X packages with one near-memory accelerator (NMA) chip near each package. (c) Each NMA includes 64 processing engines. (d) Dot-product units reuse the query vector (QV) dimension across 68 MAC units. 该图像是示意图,展示了近内存加速器(NMA)的内部架构,包括处理引擎0和63的组成部分,以及点积单元和Top-K单元的结构。图中详述了内存控制器与查询缓冲区的连接,显示了各个MAC单位的工作方式和数据流向。点积单元和Top-K单元的设计旨在优化查询向量和嵌入向量之间的运算,以提升数据处理性能。

Fig. 5. (a) IKS internal DRAM, scratchpad spaces, and configuration registers are mapped to the host address space. The scratchpad and configuration register address ranges are labeled as Context Buffers (CB). (b) IKS is a compute-enabled CXL memory expander that includes eight LPDDR5X packages with one near-memory accelerator (NMA) chip near each package. (c) Each NMA includes 64 processing engines. (d) Dot-product units reuse the query vector (QV) dimension across 68 MAC units.

  • 系统地址空间 (System Address Space) (图 5a): IKS 的内部 DRAM、暂存器空间 (scratchpad spaces) 和配置寄存器 (configuration registers) 都被映射到宿主 CPU 的地址空间中。暂存器和配置寄存器的地址范围被标记为上下文缓冲区 (Context Buffers, CB)。这意味着 CPU 和 IKS 可以在统一的地址空间中缓存这些地址。
  • IKS 系统集成与架构 (System Integration and Architecture Overview) (图 5b):
    • IKS 通过 CXL.mem/cache 协议连接到宿主 CPU。
    • IKS 内部包含 8 个 LPDDR5X 内存包,每个内存包旁边都部署一个 NMA 芯片。
    • 每个 NMA 通过 x2 PCIe 5.0 连接到 CXL 控制器,提供 8 GBps 的上行带宽。
    • LLM 嵌入向量存储在 IKS 的 LPDDR5X 内存中,而实际文档则存储在宿主内存(DDR 或 CXL 内存)中。
  • NMA 内部架构 (NMA Internal Architecture) (图 5c): 每个 NMA 内部包含 64 个处理引擎 (processing engines),用于并行执行相似度得分计算。
  • 点积单元 (Dot-product Unit) (图 5d): 点积单元在 68 个 MAC (Multiply-Accumulate) 单元之间重用查询向量 (QV) 的维度,以进行高效的并行计算。

4.2.4. 卸载模型 (Offload Model)

IKS 的地址空间与宿主 CPU 共享。宿主 CPU 将具有特定数据布局(见 §4.2.7)的嵌入向量存储在 IKS 内部的连续物理地址中,而实际文档则存储在宿主内存中。向量数据库应用程序运行在 CPU 上,并通过 iks_search(query) 这个阻塞式 (blocking) API 卸载相似度计算(即查询向量与嵌入向量之间的点积)。这个 API 不需要系统调用 (system call) 或上下文切换 (context switch)。每次更新操作后,向量数据库应用程序会刷新 CPU 缓存,以确保 iks_search(query) 调用时 IKS 不包含任何陈旧值。

iks_search(query) 通过将一个卸载上下文 (offload context) 写入 IKS 并写入一个门铃寄存器 (doorbell register) 来发起卸载,从而隐藏了与 IKS 硬件交互的复杂性。卸载上下文和门铃通过内存映射区域(称为上下文缓冲区)传达给 IKS。卸载上下文包括查询向量、向量维度以及存储在每个 LPDDR5X 内存包中的第一个嵌入向量的基地址。宿主进程随后使用 umwait() 指令阻塞在门铃寄存器上,以实现暂停的 CPU 进程和近内存加速器之间的高效通知。

由于 IKS 采用分布式近内存处理架构,嵌入向量分布在不同 NMA 的本地 DRAM 中。因此,当所有 NMA 完成卸载后,等待 umwait() 的 CPU 进程会收到通知,并执行一个聚合例程 (aggregation routine) 来构建一个单一的 Top-K 列表。这个 Top-K 列表随后用于从宿主内存中检索实际的 Top-K 文档。CPU 将根据 Top-K 嵌入向量的物理地址定位文档,因为存储在 IKS 中的嵌入向量的地址是预先已知的。

4.2.5. 缓存一致性接口 (Cache Coherent Interface)

IKS 利用 CXL.cache 提供的缓存一致互连 (cache-coherent interconnect),通过共享内存实现近内存加速器与宿主进程之间的高效接口。下图(原文 Figure 6)展示了通过 CXL.cache 接口发起和结束卸载的事务流程:

Fig. 6. CPU-IKS interface through cache coherent CXL interconnect. 该图像是一个示意图,展示了CPU与IKS(Intelligent Knowledge Store)之间通过CXL缓存一致性互连的接口。图中详细描绘了在上下文缓冲区之间传递参数和查询的过程,包括多个步骤和相应的缓存一致性活动。

Fig. 6. CPU-IKS interface through cache coherent CXL interconnect.

  1. 宿主写入卸载上下文: 宿主进程将卸载上下文写入预定义的上下文缓冲区地址范围,该范围在 NMA 和宿主 CPU 之间共享。上下文缓冲区是可缓存的,CPU 使用时序写入 (temporal writes) 来填充缓冲区。

  2. 宿主写入门铃寄存器: 宿主进程接下来写入一个门铃寄存器,该寄存器映射到一个由 NMA 共享并保持缓存一致的缓存行。

  3. 宿主 umwait(): 宿主更新门铃寄存器后,调用 umwait() 来监控该寄存器,等待 IKS 端的更改。

  4. NMA 轮询门铃: NMA 轮询门铃寄存器,一旦有变化,卸载就开始。

  5. NMA 读取上下文: NMA 从 IKS 缓存中读取卸载上下文,宿主写入的上下文被移动到 NMA 的暂存器中。

  6. NMA 计算: NMA 执行相似度计算。

  7. NMA 更新上下文缓冲区: 计算完成后,NMA 用部分相似度得分列表和对应嵌入向量的物理地址更新上下文缓冲区。

  8. NMA 写入门铃寄存器: 最后,NMA 写入门铃寄存器。

  9. 宿主收到通知: 宿主通过 umwait() 机制收到卸载完成的通知。

    通过缓存一致的共享内存进行上下文通信比使用模拟 PCIe MMIO (CXL.io) 的非时序写入 (non-temporal writes) 提供了 1.6×1.6 \times 更高的吞吐量。这种生产者/消费者模式的门铃寄存器机制消除了对昂贵中断或轮询机制的需求。

4.2.6. NMA 架构 (NMA Architecture)

每个 NMA 内部都包含 64 个处理引擎 (processing engines),以支持高达 64 个查询向量的并行相似度计算。

  • 处理引擎组成: 每个处理引擎包括一个查询暂存器 (query scratchpad)、一个点积单元 (dot-product unit)、一个 Top-K 单元 (Top-K unit) 和一个输出暂存器 (output scratchpad)。
  • 中央控制单元: 每个 NMA 都有一个中央控制单元,负责生成内存访问、控制 NMA 内部数据移动,并根据宿主 CPU 提供的查询向量数量激活处理引擎。
  • 片上网络 (Network-on-Chip): 片上网络实现了一个从 DRAM 到所有处理引擎的固定广播网络,以便在多个处理引擎激活并评估针对不同查询向量的相似度得分时,重用数据。
  • 点积单元详解 (图 5d):
    • 每个点积单元包含 68 个 MAC (Multiply-Accumulate) 单元,每个单元以 1 GHz 频率运行,提供 68 GFLOPS (16 位浮点乘累加) 的计算吞吐量,足以饱和 LPDDR5X 通道 136 GBps 的内存带宽。
    • 每个 MAC 单元评估查询(存储在查询暂存器中)与从 DRAM 读取的嵌入向量之间的相似度得分。
    • 所有处理引擎都在从 DRAM 读取的相同数据上操作;即,每个处理引擎评估不同查询向量与同一组嵌入向量之间的相似度得分。这样,就可以在不同批处理大小 (batch sizes) 下重用从 DRAM 读取的嵌入向量。
    • 一个点积单元需要 VD (Vector Dimension) 个周期来评估 68 个嵌入向量块的相似度得分。得分计算完成后,在下一个时钟周期加载到得分寄存器中,MAC 单元立即开始评估下一个 68 个嵌入向量块的相似度得分。得分寄存器(每个处理引擎 68 个)随后在接下来的 68 个时钟周期内流式传输到 Top-K 单元。
  • Top-K 单元: Top-K 单元通过将传入的相似度得分与有序列表的头部进行比较来维护一个有序得分列表。如果传入值更大,则忽略;否则,插入到有序列表中。由于向量维度远大于 68,因此有序列表的串行插入与相似度得分评估重叠,不构成 NMA 卸载的关键路径。
  • 卸载完成: 当 DRAM 中存储的所有嵌入向量都被评估后,控制单元通过将有序的 Top-K 列表加载到输出暂存器并写入门铃寄存器来发出卸载结束信号。宿主 CPU 随后通过 CXL.cache 协议收到通知,并可以读取输出暂存器的内容。查询暂存器和输出暂存器都映射到宿主内存地址空间。当前 NMA 中,每个处理引擎的查询暂存器大小为 2KB,硬件维护一个包含 32 个得分的有序列表(即 K=32K=32)。

4.2.7. DRAM 和查询暂存器中的数据布局

为了优化内存访问和加速器处理,宿主 CPU 需要按照特定的数据布局存储嵌入向量和查询向量。

  • DRAM 中的嵌入向量数据布局 (原文 Figure 7): 宿主 CPU 必须将嵌入向量存储为 68 个向量的块 (blocks),布局在 DRAM 中。

    Figure 7. Data layout inside each LPDDR5X package. The host CPU communicates the base address "BB", vector dimension "VD", and the number of vectors "NN" to the NMAs for each offload. Four embedding vectors (EVs) are highlighted in this layout.

    由于每个嵌入向量维度为 2 字节(16 位浮点数),每个块在 DRAM 中占用 136×VD136 \times VD 字节,其中 VD 是向量维度。在一个块内部,嵌入向量以列主序 (column-major order) 存储。这种布局允许高效地批处理语料库向量,因为每个向量可以逐维度读取和处理。因此,每个 NMA 将从内存控制器读取队列中每个周期访问最多 136 字节,其中包括来自 68 个不同嵌入向量的一个元素。

  • 查询暂存器中的查询向量数据布局 (原文 Figure 8): 宿主 CPU 在卸载开始前,需要用查询向量填充查询暂存器。查询向量在查询暂存器内部以顺序地址存储。

    Figure 8. Data layout inside the query scratchpads mapped to host memory address at query scratchpad base address "QS_BQS\_B". As we increase the batch size, more query scratchpads are populated with distinct query vectors.

    当批处理大小 (batch size) 增加时,更多的查询暂存器会被填充不同的查询向量。这种 DRAM 和查询暂存器内部的数据布局简化了地址生成以及 NMA 的片上网络架构。作者修改了向量数据库应用程序中的内存分配方案,以实现 IKS DRAM 内部嵌入向量的块数据映射。


5. 实验设置

5.1. 数据集

实验使用了以下数据集和模型:

  • Google Natural Questions (NQ) 数据集 [38; 39]: 这是一个用于问答任务的基准数据集,由真实的用户问题及其来自维基百科的真实答案和支持文档组成。Meta 的 KILT 基准 [65] 将 NQ 数据集分为训练集 (nq-train) 和验证集 (nq-dev)。
    • 特点: 包含真实世界的复杂问题,答案通常需要从长文本中抽取或综合。
    • 选择原因: 能够有效评估 RAG 系统在开放域问答任务中的检索和生成能力。
  • 维基百科 (Wikipedia): 作为所有工作负载的知识源 (knowledge source)。
  • BERT base (uncased) 模型: 用于生成文档的嵌入向量。这是一个在大量文本上预训练的 Transformer 模型,能够生成高质量的文本嵌入。

5.2. 评估指标

对论文中出现的每一个评估指标,进行详细说明:

5.2.1. 检索准确性 (Retrieval Accuracy) - 召回率 (Recall)

  • 概念定义: 检索准确性主要通过召回率 (Recall) 来衡量。它关注检索模型找到所有相关文档的能力。在本文中,ENNS 被认为是完美的检索,因此 ANNS 算法的召回率是与 ENNS 算法检索到的相关文档总数相比,ANNS 算法和 ENNS 算法都检索到的相关文档的比例。
  • 数学公式: Recall=Relevant Documents Retrieved by ANNSRelevant Documents Retrieved by ENNSRelevant Documents Retrieved by ENNS \text{Recall} = \frac{|\text{Relevant Documents Retrieved by ANNS} \cap \text{Relevant Documents Retrieved by ENNS}|}{|\text{Relevant Documents Retrieved by ENNS}|}
  • 符号解释:
    • Recall\text{Recall}: 召回率。
    • Relevant Documents Retrieved by ANNSRelevant Documents Retrieved by ENNS|\text{Relevant Documents Retrieved by ANNS} \cap \text{Relevant Documents Retrieved by ENNS}|: 由 ANNS 和 ENNS 都检索到的相关文档的数量。
    • Relevant Documents Retrieved by ENNS|\text{Relevant Documents Retrieved by ENNS}|: 由 ENNS 检索到的相关文档的总数。

5.2.2. 生成准确性 (Generation Accuracy) - 精确匹配 (Exact Match)

  • 概念定义: 用于评估 FiDT5 应用的生成准确性。它衡量生成答案与真实标注答案之间的完全一致性。在评估前,答案会进行标准化处理,以消除格式、标点等差异。如果模型生成的答案与任何一个可接受的真实答案完全相同,则认为回答正确。
  • 数学公式: Exact Match=1Ni=1NI(predicted_answeriacceptable_ground_truthsi) \text{Exact Match} = \frac{1}{N} \sum_{i=1}^{N} \mathbb{I}(\text{predicted\_answer}_i \in \text{acceptable\_ground\_truths}_i)
  • 符号解释:
    • Exact Match\text{Exact Match}: 精确匹配得分。
    • NN: 评估数据集中的问题总数。
    • I()\mathbb{I}(\cdot): 指示函数,如果括号内的条件为真,则返回 1,否则返回 0。
    • predicted_answeri\text{predicted\_answer}_i: 模型对第 ii 个问题生成的答案。
    • acceptable_ground_truthsi\text{acceptable\_ground\_truths}_i: 第 ii 个问题对应的可接受的真实标注答案列表。

5.2.3. 生成准确性 (Generation Accuracy) - Rouge-L 召回率 (Rouge-L Recall)

  • 概念定义: 用于评估 Llama-8B 和 Llama-70B 应用的生成准确性。Rouge-L (Recall-Oriented Understudy for Gisting Evaluation - Longest Common Subsequence) 是一种基于最长公共子序列 (Longest Common Subsequence, LCS) 的指标,用于衡量生成摘要或答案与参考摘要或答案之间的重叠程度。这里特别关注其召回率,即衡量参考答案中有多少内容被生成答案连续覆盖。模型被指示给出简短答案,并且只在“完全确定”时回答,以反映提示遵循 (prompt adherence) 的限制。
  • 数学公式: Rouge-L 召回率的计算基于最长公共子序列的长度。设 XX 为生成的答案序列,长度为 nnYY 为真实参考答案序列,长度为 mmLCS(X, Y) 表示序列 XXYY 的最长公共子序列的长度。 Rouge-L Recall=LCS(predicted_answer,reference_answer)m \text{Rouge-L Recall} = \frac{LCS(\text{predicted\_answer}, \text{reference\_answer})}{m}
  • 符号解释:
    • Rouge-L Recall\text{Rouge-L Recall}: Rouge-L 召回率得分。
    • LCS(predicted_answer,reference_answer)LCS(\text{predicted\_answer}, \text{reference\_answer}): 模型生成的答案序列与真实参考答案序列的最长公共子序列的长度。
    • mm: 真实参考答案序列的长度(通常以词元或单词计)。

5.2.4. 吞吐量 (Throughput)

  • 概念定义: 衡量系统在给定时间内处理查询的数量,通常以每秒查询数 (Queries/sec) 表示。
  • 数学公式: Throughput (Queries/sec)=Number of QueriesTotal Inference Time (seconds) \text{Throughput (Queries/sec)} = \frac{\text{Number of Queries}}{\text{Total Inference Time (seconds)}}
  • 符号解释:
    • Throughput (Queries/sec)\text{Throughput (Queries/sec)}: 系统每秒处理的查询数量。
    • Number of Queries\text{Number of Queries}: 处理的查询总数。
    • Total Inference Time (seconds)\text{Total Inference Time (seconds)}: 处理所有查询所需的总推理时间(以秒为单位)。

5.2.5. 端到端推理时间 (End-to-End Inference Time) / 交互时间 (Time to Interactive)

  • 概念定义: 衡量从接收查询到生成最终完整答案所需的总时间。对于交互式应用,也常称为“首字时间 (time to first token)”或“交互时间”,表示用户开始收到响应所需的时间。在本文中,它指的是从查询开始到最终答案生成完成的整个 RAG 管道的延迟。
  • 数学公式: 无直接数学公式,通常是时间测量值。
  • 符号解释: 衡量 RAG 应用程序的总延迟,包括检索和生成阶段。

5.3. 对比基线

论文将 IKS 方法与多种硬件和算法配置进行了比较:

5.3.1. 硬件平台对比 (针对 ENNS 检索)

  • CPU 基线:
    • 型号: Intel Xeon 4416+ (4代 Xeon Scalable 处理器),16 核 @ 2.00 GHz。
    • 内存: 512 GB DDR5-4000 (8 通道,256 GB/s)。
    • 特性: 48 kB 数据缓存,32 kB 指令缓存,2 MB L2 缓存,37.5 MB 共享 L3 缓存。
    • SIMD: 2x AVX-512 FMA 单元 (每核 164 GFlop/s)。
    • 选择原因: 作为通用计算平台,是衡量 ENNS 性能的常见基准。
  • Intel AMX (Advanced Matrix Extensions):
    • 特性: 英特尔 CPU 上的 BFloat16 矩阵乘法加速指令集,每核 500 GFlop/s。
    • 选择原因: 代表了 CPU 上最新的 AI 特定加速能力。
  • GPU:
    • 型号: NVIDIA H100 SXM。
    • 内存带宽: 3.35 TB/s。
    • 计算能力: 1979 TFlop/s。
    • 选择原因: 当今最强大的 AI 加速器,用于展示高性能计算方案的潜力及其成本问题。
    • 配置: 1、2、4 或 8 个 H100 GPU,以适应不同语料库大小。

5.3.2. 检索算法对比 (针对端到端 RAG 准确性和吞吐量)

  • ENNS (Exact Nearest Neighbor Search):
    • 实现: Faiss 库,使用 Intel OneMKL BLAS 后端优化。
    • 选择原因: 提供最高质量的检索,作为准确性的理想基准。
  • ANNS (Approximate Nearest Neighbor Search):
    • 算法: 状态最先进的 HNSW (Hierarchical Navigable Small World) [52] 算法。
    • 配置 1 (ANNS-1): HNSW 参数 M=32M=32, efConstruction=128efConstruction=128, efSearch=2048efSearch=2048
    • 配置 2 (ANNS-2): HNSW 参数 M=32M=32, efConstruction=128efConstruction=128, efSearch=10000efSearch=10000
    • 选择原因: 代表了性能与准确性之间的权衡,以及当前 ANNS 算法在 RAG 应用中的实际表现。

5.3.3. 生成模型对比 (RAG 应用)

  • FiDT5:
    • 生成模型: 基于 T5 的 Fusion-in-Decoder [26; 68]。
    • 特点: 将文档通过编码器阶段编码,然后组合这些表示供解码器使用。
  • Llama-8B:
    • 生成模型: 4-bit 量化的 Llama-3-8B-Instruct [3]。
    • 特点: 检索到的文档以纯文本形式呈现在提示 (prompt) 中。
  • Llama-70B:
    • 生成模型: 4-bit 量化的 Llama-3-70B-Instruct [3]。
    • 特点: 检索到的文档以纯文本形式呈现在提示中。
  • 选择原因: 代表了不同规模和架构的 LLMs,以评估 IKS 在不同生成模型下的通用性。

5.4. 硬件配置与仿真设置

5.4.1. IKS 仿真器

  • 开发了一个循环近似 (cycle-approximate) 性能模型来模拟 IKS。
  • 仿真器利用 RTL (Register Transfer Level) 综合数据、LPDDR5X 访问时序、PCIe/CXL 时序 [43; 81] 以及实际软件栈开销(Top-K 聚合和 umwait() 开销)来获取 IKS 的检索时间。
  • 它模拟一个运行在远程 CPU socket 上的 CXL 设备。

5.4.2. 实验服务器

  • 两台服务器,配备 Intel Xeon 第四代 CPU 和一台 NVIDIA H100 GPU。

  • 系统配置(原文 Table 2)如下:

    PlatformParameterDescription
    CPUCPU modelIntel Xeon 4416+ 16 cores @ 2.00 GHz
    L1 Cache48 kB dcache, 32kB icache
    L2 Cache2MB
    L3 Cache37.5 MB shared
    AVX2x AVX-512 FMA units (164 GFlop/s/core)
    Kernel MemoryUbuntu 22.04.3 Linux 5.15.0-88-generic 512 GB DDR5-4000 across 8 channels (256 GB/s)
    AMX-Intel AMX (BFloat16, 500 GFlop/s/core)
    IKS (emulated)-1.1 TB/s, 69.9 TFlop/s
    GPUGPU ModelNVIDIA H100 SXM: 3.35 TB/s, 1979 TFlop/s

5.4.3. NMA 硬件设计

  • IKS 中使用的近内存加速器 (NMA) 的 RTL 设计已实现,并使用 Synopsys Design Compiler 针对 TSMC 的 16nm 技术节点进行了综合。
  • 收集了面积、功耗和时序等关键指标,确保设计能以 1 GHz 运行。
  • 内存控制器和 PHY 的面积估算基于 Apple M2 芯片 (LPDDR5, 5nm) 的芯片照片 [50],并考虑到混合信号组件面积缩放的特点 [23; 88]。
  • 功耗模型通过评估 RTL 级别的处理操作能耗,并纳入暂存器和 LPDDR 内存访问能耗来开发 [13; 79]。

5.5. 软件配置

  • Faiss [27]: 用于索引管理,支持 ENNS 和 ANNS。

  • Intel OneMKL BLAS: 对于 ENNS,作者发现使用 Intel 的 OneMKL BLAS (Basic Linear Algebra Subprograms) 后端对于所有批处理大小都提供了比默认 Faiss 搜索方案更好的性能。

  • 文档语料库: 根据 [30] 中描述的方法构建。

  • 批处理大小 (Batch Size): 考虑了 1 (用于延迟敏感应用) 和 16 (用于吞吐量优化应用)。批处理大小不影响生成准确性,只影响执行时间。

  • 文档数量 (K): 检索并馈送给语言模型的文档数量。增加 K 会显著影响生成时间,因为 Transformer 推理的计算量至少与输入大小呈线性关系 [93]。


6. 实验结果与分析

6.1. 核心结果分析

6.1.1. RAG 软件参数调优与 ANNS 局限性

图 2 比较了基于 ANNS 和 ENNS 的 RAG 应用程序(FiDT5, Llama-8B, Llama-70B)在不同检索算法和文档数量 (K) 下的生成准确性 (Generation accuracy) 和吞吐量 (Throughput)。

Fig. 2. Generation accuracy vs. throughput (Queries/sec) of representative RAG applications for various retrieval algorithms and document counts (K). The corpus size is set to \(5 0 \\mathrm { G B }\) and batch size to 16. 该图像是一个图表,展示了不同检索算法和文档计数 (K) 对代表性 RAG 应用生成准确率和吞吐量 (Queries/sec) 的影响。图中包含准确率和吞吐量的关系,数据点反映了不同文档数量的变化。主轴表示生成准确率,副轴表示吞吐量。

Fig. 2. Generation accuracy vs. throughput (Queries/sec) of representative RAG applications for various retrieval algorithms and document counts (K). The corpus size is set to 50GB50 \mathrm{GB} and batch size to 16.

  • 检索质量对生成准确性的影响: 检索质量对端到端生成准确性有显著影响。当检索文档数量 K=1 时,与 ENNS 相比,ANNS-1 和 ANNS-2 的生成准确性大幅下降:FiDT5 分别下降 22.6% 和 34.0%,Llama-8B 分别下降 52.8% 和 53.4%,Llama-70B 分别下降 51.0% 和 51.5%。即使 K=16,准确性下降趋势依然存在。这表明检索质量越差,对生成准确性的负面影响越大。
  • ANNS 的权衡: 尽管 ANNS 旨在通过牺牲少量准确性来提高搜索速度,但作者的实验发现,低质量的 ANNS 方案需要提供显著更多的文档 (K) 才能匹配 ENNS 的准确性,这反而会增加生成时间,从而抵消了检索阶段的加速优势,甚至可能降低端到端吞吐量。例如,对于 FiDT5,ANNS-2 (K=16) 比 ANNS-1 (K=128) 具有 3% 更高的准确性和 128% 更高的吞吐量,这表明在 ANNS 中,更高质量但较慢的搜索方案可能通过允许更小的 K 值(从而减少生成时间)来提供更好的整体性能。
  • ENNS 的优势: 在高准确性要求下(例如,FiDT5 约 43%,Llama-8B 约 27%,Llama-70B 约 14% 的准确性阈值之上),基于 ENNS 的 RAG 表现出帕累托最优 (Pareto-superiority),即在同等甚至更高准确性下,ENNS 提供了更好的吞吐量。
  • ANNS 性能提升有限: 尽管低质量 ANNS 算法可能比 ENNS 快几个数量级,但高质量 ANNS 算法(例如图 2 中性能最佳的 ANNS-2)仅提供 2.5 倍的加速。这证实了高质量 ANNS 的加速挑战。

6.1.2. ENNS 下的端到端 RAG 性能瓶颈

图 3 展示了 FiDT5、Llama-8B 和 Llama-70B RAG 应用程序在 ENNS 检索(运行在 CPU 上)和生成(运行在 NVIDIA H100 GPU 上)下的端到端延迟分解。所有配置均使用批处理大小为 1。

Fig. 3. Latency breakdown of FiDT5, Llama-8B, Llama-70B for various values of K, corpus sizes. All configurations use batch size 1. Retrieval is ENNS and runs on CPU, generation runs on a single NVIDIA H100 (SXM) for all generative models. The value in each bar shows the absolute retrieval time. 该图像是图表,展示了FiDT5、Llama-3-8B和Llama-3-70B在不同语料库大小及K值下的延迟分解。图表中,黑色柱子表示检索时间(ENNS在CPU上),白色柱子表示生成时间(H100)。每个条形的值表示绝对检索时间。

Fig. 3. Latency breakdown of FiDT5, Llama-8B, Llama-70B for various values of K, corpus sizes. All configurations use batch size 1. Retrieval is ENNS and runs on CPU, generation runs on a single NVIDIA H100 (SXM) for all generative models. The value in each bar shows the absolute retrieval time.

  • 检索阶段成为瓶颈: 即使对于大型模型,ENNS 的检索阶段也可能迅速成为 RAG 应用程序的端到端瓶颈。例如,对于 50GB 语料库和 K=1,检索时间(蓝色部分)在 FiDT5 中占主导地位,而 Llama-8B 和 Llama-70B 中检索时间也相当显著。当语料库大小增加到 512GB 时,检索时间成为所有模型的主要瓶颈。
  • 增加 K 的代价: 虽然可以通过增加 K 值来弥补 ANNS 的检索准确性,但图 3b 清楚地显示,增加 K 会显著增加生成时间(橙色和绿色部分),从而增加了“首字时间 (time to first token)”的成本。
  • 异构工作负载: ENNS 检索是内存带宽密集型 (memory bandwidth-bound),而生成是计算密集型 (compute-bound)。然而,当前 AI 系统的加速主要集中在生成阶段 [1; 5; 17; 34; 48; 53; 63; 82; 100; 101; 104],对检索阶段的加速关注不足。

6.1.3. 高质量搜索加速的挑战

表 1 比较了 Intel AMX 和 GPU 相对于 CPU 基线在 ENNS 上的加速比。

Batch Size Corpus Size116
50 GB512 GB50 GB512 GB
CPU1111
AMX1.051.021.101.09
GPU5.236.96.043.7

Table 1. Speedup of Intel AMX and GPU for ENNS, relative to a CPU baseline. AMX speedup is flat for very small batch sizes, due to the memory-bound nature of similarity search. For 50GB and 512GB corpus size, 1 and 8 H100 GPUs are used, respectively.

  • AMX 性能受限: AMX 的加速比非常有限(1.02-1.10倍),因为相似度搜索本质上是内存密集型的,而不是纯计算密集型的,导致 AMX 的计算能力未能充分利用。

  • GPU 性能与成本: GPU 可以显著加速 ENNS (5.2-43.7倍),但随着语料库大小增加,成本急剧上升。例如,50GB 语料库需要 1 个 H100 GPU,而 512GB 语料库需要 8 个 H100 GPU。GPU 的高带宽内存 (HBM) 比 DDR 或 LPDDR 内存昂贵数倍 [54]。此外,GPU 提供了巨大的计算能力,但对于主要受内存限制的 ENNS 工作负载来说,其计算单元利用率很低 [24],造成资源浪费。

    图 4 展示了 ENNS 在批处理大小为 1 和 16 时的屋脊线模型。

    Fig. 4. Roofline model for ENNS using Batch Size 1 and 16. See Section 6 for the experimental setup. 该图像是图表,展示了16核Roofline模型中批量大小为1和16的性能。图表中显示了在操作强度(Flops/Byte)与性能(GFlops/s)之间的关系,标注了峰值DRAM带宽和峰值计算能力。相关数据定义为 P=extPerformanceP = ext{Performance}O=extOperationalIntensityO = ext{Operational Intensity}

Fig. 4. Roofline model for ENNS using Batch Size 1 and 16. See Section 6 for the experimental setup. 屋脊线模型进一步证实,ENNS 运行在 CPU 上无法饱和可用的 DRAM 带宽,表明其是内存带宽受限的工作负载,并且现有 CPU 架构的缓存层次结构对 ENNS 助益不大,反而可能因缓存维护和一致性操作引入开销。

6.1.4. IKS 检索的有效性和可扩展性

图 9 比较了 CPU、AMX、GPU(1、2、4 和 8 个设备)和 IKS(1 和 4 个设备)在不同语料库大小下的 ENNS 检索时间。Y 轴采用对数刻度。

Fig. 9. Comparison of ENNS retrieval time for CPU, AMX, GPU (1, 2, 4, and 8 devices), and IKS (1, and 4 devices) for various corpus sizes. The absence of bars in specific GPU and IKS configurations indicates that the corpus exceeds the capacity of the accelerator memory. The Y-axis is in log-scale. 该图像是图表,展示了不同设备(CPU、AMX、GPU 和 IKS)在各种数据集大小(50GB、200GB、512GB、1024GB、2048GB)下的检索时间比较。X轴为批处理大小(Batch Size),Y轴为检索时间(秒),呈现出随着数据集增大,各设备的检索性能差异。

Fig. 9. Comparison of ENNS retrieval time for CPU, AMX, GPU (1, 2, 4, and 8 devices), and IKS (1, and 4 devices) for various corpus sizes. The absence of bars in specific GPU and IKS configurations indicates that the corpus exceeds the capacity of the accelerator memory. The Y-axis is in log-scale.

  • IKS 性能优势: 单个 IKS 单元在 50GB 语料库上,对于批处理大小 1 和 16,分别比单个 GPU 快 2.6 倍和 4.6 倍。这种反直觉的加速优势归因于 IKS 专门的 Top-K 单元和更高的内存带宽利用率,而 GPU 在 Top-K 追踪和聚合上效率不高,且其 HBM 带宽利用率受限于流式多处理器 (streaming multiprocessors) 和张量核 (tensor cores) 的并行内存访问能力。

  • IKS 可扩展性: IKS 展现了强大的可扩展性。通过增加 IKS 单元数量,检索时间显著降低。例如,对于 50GB 语料库,使用 1 个 IKS 单元和 4 个 IKS 单元的检索时间分别减少 1 倍和 3.9 倍。IKS 几乎实现了完美的弱扩展 (weak scaling),例如,4 个 IKS 单元处理 2TB 语料库的时间仅比 1 个 IKS 单元处理 512GB 语料库的时间长 100 微秒。这表明 IKS 的低开销 CPU-IKS 接口以及 ENNS 的高度并行特性使其能够高效地扩展。

  • 容量优势: 4 个 IKS 设备可以容纳高达 2TB 的语料库,而 8 个 H100 GPU 最多只能容纳 640GB。IKS 在容量与成本效益上展现出显著优势。

    表 3 详细列出了 IKS 上 ENNS 检索的绝对时间分解。

    Corpus Size Batch Size50 GB512 GB
    164164
    Write Query Vector0.3 us1 us0.3 us1 us
    Dot-Product45.96 ms45.96 ms470.6ms470.6 ms
    Partial Top-32 Read0.7 us22.4 us0.7 us22.4 us
    Top-K Aggregation19 us540 us23 us390 us
    Total46.0 ms46.5 ms470.6 ms471.0 ms

Table 3. Breakdown of ENNS latency on IKS.

  • 计算和 DRAM 访问是主要瓶颈: 从表中可以看出,IKS 中大部分时间都花在点积计算和 DRAM 访问上。
  • 卸载开销可忽略不计: 通过缓存一致互连启动卸载和在 CPU 上聚合 Top-K 文档的开销非常小,几乎可以忽略不计。这验证了 IKS-CPU 接口的高效性。
  • K 值对 IKS 检索时间的影响: IKS 的检索时间不随 K 值变化(最大 K 值为 32),因为它总是返回 32 个顶部相似度得分,由检索模型决定将其中 1 到 32 个传递给生成模型。

6.1.5. 端到端性能提升

图 10 比较了 FiDT5、Llama-8B 和 Llama-70B 在 CPU 和 IKS 用于 ENNS 检索时,在不同批处理大小、文档数量和语料库大小下的端到端推理时间。

该图像是示意图,展示了不同检索策略下,CPU与IKS检索在多个模型上(FiDT5、Llama-8B、Llama-70B)的生成时间比较。x轴表示每次检索的文档数量k,y轴表示交互时间(秒)。具体显示在512GB和50GB内存配置下,IKS搜索显著降低了生成时间。 该图像是示意图,展示了不同检索策略下,CPU与IKS检索在多个模型上(FiDT5、Llama-8B、Llama-70B)的生成时间比较。x轴表示每次检索的文档数量k,y轴表示交互时间(秒)。具体显示在512GB和50GB内存配置下,IKS搜索显著降低了生成时间。

图 10. CPU 和 IKS 用于 ENNS 检索时,FiDT5、Llama-8B 和 Llama-70B 的端到端推理时间比较。

  • IKS 显著缩短推理时间: 对于大型语料库或大型批处理大小,使用 CPU 检索的 RAG 应用程序推理时间可达数秒,这对于用户交互式问答应用来说是不可接受的。IKS 显著减少了 ENNS 检索时间。
  • 端到端加速比: IKS 提供的端到端推理时间加速比:
    • FiDT5: 5.6 至 25.6 倍。
    • Llama-8B: 5.0 至 24.6 倍。
    • Llama-70B: 1.7 至 16.8 倍。 这些加速比涵盖了各种批处理大小、语料库大小和文档数量。

图 11 比较了 FiDT5、Llama-8B 和 Llama-70B 在四种不同配置下的每秒查询数 (queries per second) 和准确性。这四种配置是:使用 CPU 运行 ENNS 的 RAG、使用 CPU 运行 ANNS(两种配置)、以及使用 IKS 运行 ENNS 的 RAG。所有配置中的生成模型均运行在 GPU 上。

Fig. 11. Comparison of accuracy and throughput of FiDT5, Llama-8B, and Llama-70B for various configurations. ANNS-2 is an HNSW index with \(M _ { ; }\) efConstruction, and efSearch of 32, 128, and 2048, respectively. 该图像是图表,展示了FiDT5、Llama-8B和Llama-70B在不同配置下的准确率与吞吐量的比较。图表中使用了不同的符号表示不同的K值,分别为K=1、K=4、K=16和K=32/128。横轴为生成准确率,纵轴为查询速率(以log比例表示)。不同的曲线代表了不同模型与算法(如ENNS和ANNS-2)的表现,展示了它们在精度与效率上的权衡关系。

Fig. 11. Comparison of accuracy and throughput of FiDT5, Llama-8B, and Llama-70B for various configurations. ANNS-2 is an HNSW index with M;M_{;} efConstruction, and efSearch of 32, 128, and 2048, respectively.

  • IKS 在准确性和吞吐量上均优于 ANNS: 尽管 ANNS-2 配置比 CPU 上的 ENNS 吞吐量更高,但其准确性更低。对于使用 IKS 的 RAG 应用程序,检索不再是瓶颈,吞吐量显著提高,甚至超过 ANNS。IKS 可以在更小的 K 值(即发送给生成模型的上下文更小但更准确)下实现相同的生成准确性,从而减少生成时间。这使得 IKS 在高准确性和高吞吐量方面均表现出色。

6.2. 功耗和面积分析

  • NMA 芯片面积: 每个 NMA 包含 64 个处理引擎(每个引擎包括点积单元、2KB SRAM 查询暂存器、Top-K 单元和输出暂存器),在 16nm TSMC 技术节点下,其面积约为 3.4mm23.4 \mathrm{mm}^2。此外,PHYs 和内存控制器需要 14mm214 \mathrm{mm}^2。然而,NMA 芯片的实际面积由芯片边缘决定,因为每个 NMA 需要 8 个 LPDDR5X 内存通道,这需要 20mm 的芯片边缘,加上 1mm 的 PCIe PHYs,总共 21mm。这使得 NMA 至少需要 27.56mm227.56 \mathrm{mm}^2 的面积。作者指出,NMA 可以使用较旧的技术节点制造,以降低成本并防止面积浪费,因为 PHY 面积的缩放速度不如 SRAM 和逻辑。
  • 功耗:
    • 当批处理大小为 1 且向量维度为 1024 时,处理引擎及其对应的查询暂存器访问消耗约 59mW59 \mathrm{mW},而从 LPDDR 内存访问嵌入向量需要 4.35W4.35 \mathrm{W}。因此,IKS 在批处理大小为 1 时的总功耗为 35.2W35.2 \mathrm{W}
    • 随着批处理大小的增加,数据重用确保 LPDDR 访问功耗保持不变,但处理引擎的功耗会随着更多引擎被激活而线性增加。在批处理大小为 64 时,总功耗增加到 65W65 \mathrm{W}

6.3. 与 GPU 的成本和功耗比较

  • 内存成本: IKS 使用 LPDDR5X 内存存储嵌入向量。假设 HBM 比 LPDDR 贵 3 倍以上 [54]。单个 IKS 单元的板载内存容量是单个 NVIDIA H100 GPU 的 6.4 倍。因此,IKS 的内存成本预计约为 GPU 的 2.5 倍。
  • 计算单元成本: H100 GPU 的芯片面积为 826mm2826 \mathrm{mm}^2,而 IKS 的 NMA 总芯片面积为 220mm2220 \mathrm{mm}^2。由于芯片生产成本随芯片面积呈超线性增长 [55],因此一个 IKS 单元(具有 5 倍大的内存容量)的成本预计仅为 GPU 的一小部分。

6.4. 数据呈现 (表格)

以下是原文 Table 1 的结果:

Batch Size Corpus Size116
50 GB512 GB50 GB512 GB
CPU1111
AMX1.051.021.101.09
GPU5.236.96.043.7

以下是原文 Table 3 的结果:

Corpus Size Batch Size50 GB512 GB
164164
Write Query Vector0.3 us1 us0.3 us1 us
Dot-Product45.96 ms45.96 ms470.6ms470.6 ms
Partial Top-32 Read0.7 us22.4 us0.7 us22.4 us
Top-K Aggregation19 us540 us23 us390 us
Total46.0 ms46.5 ms470.6 ms471.0 ms

7. 总结与思考

7.1. 结论总结

本文深入剖析了 RAG (Retrieval-Augmented Generation) 应用程序的执行管道,揭示了检索阶段在准确性、延迟和吞吐量方面可能成为整个系统的瓶颈。作者强调,对于未来的 RAG 应用程序,精确且高性能、可扩展的检索方案至关重要。

为了解决这一问题,本文设计、实现并评估了智能知识存储 (Intelligent Knowledge Store, IKS)。IKS 是一种 Type-2 CXL 设备,专为精确 K-最近邻搜索 (ENNS) 的近内存加速而设计。IKS 的核心创新在于其硬件/软件协同设计,利用 CXL.cache 提供的缓存一致性共享内存,实现了可扩展的近内存处理架构。

实验结果表明,IKS 在 512GB 向量数据库上的精确最近邻搜索速度比在 Intel Sapphire Rapids 加速器上快 13.4-27.9 倍(摘要中数据为 13.4-27.9倍,正文Conclusion章节为 18-52倍,以摘要为准),这使得代表性 RAG 应用程序的端到端推理时间降低了 1.7-26.3 倍。此外,IKS 作为内存扩展器,其内部 DRAM 可以被其他应用程序解耦使用,避免了内存资源的闲置。IKS 提供了一种成本效益高、高性能且可扩展的 ENNS 加速解决方案,能够显著提升 RAG 应用的用户体验。

7.2. 局限性与未来工作

作者指出了当前 IKS 设计的几个局限性并提出了未来的研究方向:

  • ENNS 的局限性: IKS 的性能优势在于 ENNS 的普遍适用性。然而,如果数据集特别适合聚类,ANNS 算法的准确性差距会缩小,使其更具吸引力。将近似技术集成到 IKS 中可能带来改进,但这会引入重大挑战,因为 IKS 的大部分性能得益于 ENNS 顺序内存访问模式的简单性。
  • 能量效率和内存带宽利用率:
    • IKS 进行穷尽搜索,消耗能量并饱和内存带宽。这可能导致使用 IKS 作为内存扩展器的其他应用程序的外部访问速度减慢。
    • 探索相似度搜索的提前终止 (early termination) [9; 42] 是一个潜在解决方案,可以在不损害搜索准确性的情况下降低内存带宽利用率。
  • 低 NMA 芯片利用率: 对于批处理大小小于 64 的情况,NMA 芯片的利用率较低。虽然作者选择超额配置计算资源以利用 NMA 芯片上“免费”的面积(因外围 PHY 决定芯片最小面积),但可以采用电路级技术(如时钟门控 (clock gating)功耗门控 (power gating))来关闭多余的处理引擎。此外,动态电压和频率调整 (Dynamic Voltage and Frequency Scaling, DVFS) 也可以用于在小批处理大小下降低 NMA 芯片的频率和电压,同时允许多个处理引擎为每个查询向量执行相似度搜索,从而提高能效。

7.3. 个人启发与批判

7.3.1. 个人启发

这篇论文为解决大型 AI 模型在实际部署中面临的瓶颈提供了深刻的见解和创新的硬件/软件协同设计方案。

  • 硬件/软件协同设计的重要性: 论文成功地将硬件架构设计(CXL Type-2 设备、NMA 架构、LPDDR5X 内存)与软件层面的优化(数据布局、缓存一致性接口、用户空间卸载)结合起来,这提醒我们,在性能优化达到极限时,单纯的软件或硬件解决方案往往不足,跨层协同设计才是突破瓶颈的关键。
  • 内存墙 (Memory Wall) 问题的再审视: ENNS 作为典型的内存带宽密集型工作负载,其性能瓶颈再次凸显了“内存墙”问题。将计算能力推向内存的近内存计算 (near-memory computing) 范式,而非一味追求 CPU/GPU 的浮点运算能力,是应对数据密集型任务的有效策略。
  • CXL 协议的巨大潜力: CXL 作为一种新型缓存一致性互连协议,其 Type-2 设备在内存扩展和加速器集成方面的优势得到了充分展示。IKS 的设计证明了 CXL 在构建未来异构计算系统中的巨大潜力,尤其是在 AI/ML 工作负载中。
  • 高质量检索的价值: 论文通过实验数据有力地证明了在 RAG 应用中,高质量的检索(即使成本较高)往往能够带来更好的端到端性能和准确性,这对于设计 RAG 系统时的检索策略选择具有指导意义。

7.3.2. 批判与潜在改进

  • ANNS 的集成与混合策略: 尽管 IKS 专注于 ENNS,但 ANNS 在某些场景下仍有其价值。未来的 IKS 版本可以探索混合检索策略,例如,当查询的实时性要求极高且可容忍一定准确性损失时,可以在 IKS 内部集成某种轻量级的 ANNS 算法,或者结合提前终止技术,在 ENNS 过程中动态切换到近似模式。这需要解决 ENNS 的顺序访问模式与 ANNS 复杂内存访问模式的冲突。
  • 更细粒度的功耗管理: 论文提到了在小批处理大小下 NMA 芯片利用率低的问题及其功耗优化潜力(时钟/功耗门控、DVFS)。未来可以设计更精细的动态功耗管理机制,根据实际负载(批处理大小、查询复杂性)动态调整 NMA 的工作模式,实现更高效的能耗利用。
  • 多节点部署的挑战: 论文没有评估 IKS 跨多节点部署的配置。在超大规模的 RAG 系统中,向量数据库可能分布在多个服务器节点上。如何高效地聚合跨节点的 Top-K 结果,以及 CXL 在多节点环境下的扩展性(例如通过 CXL over PCIe fabric 或未来的 CXL 交换机)将是重要的研究方向。
  • IKS 的通用性: IKS 当前是为 ENNS 优化的,这是一种相对简单的向量相似度计算。对于更复杂的向量操作(如某些 ANNS 算法的图遍历、或其他 AI 工作负载),IKS 的 NMA 架构可能需要进一步的通用性或可编程性扩展。
  • 系统软件栈的成熟度: CXL 生态系统仍在发展中。IKS 的高效性依赖于 CXL.cache 协议的低延迟和高带宽特性以及相应的驱动和运行时支持。随着 CXL 技术的普及和成熟,这些优势将更加明显,但初期部署仍可能面临软件栈的挑战。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。