LLMs之RAG:《EdgeRAG: Online-Indexed RAG for Edge Devices》翻译与解读

LLMs之RAG:《EdgeRAG: Online-Indexed RAG for Edge Devices》翻译与解读

导读:这篇论文针对在资源受限的边缘设备上部署检索增强生成 (RAG) 系统的挑战,提出了一种名为 EdgeRAG 的高效方法。EdgeRAG 通过巧妙地结合预计算在线生成缓存策略,有效地解决了在边缘设备上部署 RAG 系统的内存和延迟问题,为在资源受限的设备上运行更强大的 LLM 提供了一种可行方案。

>> 背景痛点:在边缘设备上部署 RAG 系统面临两大主要挑战:

内存限制:边缘设备的内存有限,无法容纳大型向量数据库,导致内存抖动和性能下降,即使使用两级倒排文件 (IVF) 索引,也可能出现这个问题。

计算能力限制:边缘设备的计算能力有限,在线生成嵌入向量会带来高延迟,特别是对于大型集群,延迟会非常显著,形成长尾延迟。

>> 具体的解决方案:EdgeRAG 提出了一种针对边缘设备的内存高效 RAG 系统,通过以下策略解决上述问题:

选择性索引存储:对 IVF 索引的第二级嵌入向量进行剪枝,只存储计算成本高的集群的嵌入向量,其余嵌入向量在检索时在线生成。

自适应成本感知缓存:对在线生成的嵌入向量进行缓存,优先缓存生成成本高的嵌入向量,避免重复计算,提高效率。

>> 核心思路步骤:EdgeRAG 的核心思路包含以下步骤:

索引阶段:对文本数据进行分块、生成嵌入向量,使用 K-means 聚类算法进行聚类,存储第一级索引(聚类中心)和第二级索引(数据块引用以及嵌入向量生成延迟)。如果一个集群的嵌入向量生成延迟超过预设阈值 (SLO),则预先计算并存储该集群的嵌入向量;否则,只存储数据块引用,在检索时在线生成嵌入向量。

检索阶段:收到查询后,先查找最相似的聚类中心,然后检查该集群的嵌入向量是否已预先计算并存储。如果已存储,则直接加载;否则,检查缓存,如果命中则加载;如果未命中,则在线生成嵌入向量,并更新缓存。最后,检索相关数据块并传递给 LLM 生成答案。

>> 优势:EdgeRAG 的主要优势在于:

● 内存效率:通过剪枝第二级嵌入向量,减少了内存占用,使大型数据集能够在边缘设备上运行。

● 低延迟:通过预计算大型集群的嵌入向量和缓存生成的嵌入向量,降低了检索延迟,特别是长尾延迟。

● 保持生成质量:虽然进行了优化,但 EdgeRAG 保持了与基线系统相似的生成质量。

>> 结论和观点:

● 论文通过在 Nvidia Jetson Orin Nano 上的实验结果表明,EdgeRAG 平均将检索延迟提高了 1.8 倍,对于大型数据集,提高了 3.82 倍,同时保持了与基线系统相似的生成质量。

● EdgeRAG 成功地将多个超过边缘设备内存容量的数据集加载到内存中,避免了内存抖动

● 论文讨论了 EdgeRAG 与其他 RAG 系统的集成以及利用硬件加速器的潜力。

● 论文认为 EdgeRAG 提供了一种在边缘设备上高效部署 RAG 系统的方法,尤其适用于那些内存和计算能力受限的场景。

目录

《EdgeRAG: Online-Indexed RAG for Edge Devices》翻译与解读

Abstract

1、Introduction

Figure 1:RAG Pipelines

Figure 2:Retrieval process of Inverted File Index

Conclusion


《EdgeRAG: Online-Indexed RAG for Edge Devices》翻译与解读

地址

论文地址:https://arxiv.org/abs/2412.21023

时间

2024年12月31日

作者

弗吉尼亚大学、滑铁卢大学、Google

Abstract

Deploying Retrieval Augmented Generation (RAG) on resource-constrained edge devices is challenging due to limited memory and processing power. In this work, we propose EdgeRAG which addresses the memory constraint by pruning embeddings within clusters and generating embeddings on-demand during retrieval. To avoid the latency of generating embeddings for large tail clusters, EdgeRAG pre-computes and stores embeddings for these clusters, while adaptively caching remaining embeddings to minimize redundant computations and further optimize latency. The result from BEIR suite shows that EdgeRAG offers significant latency reduction over the baseline IVF index, but with similar generation quality while allowing all of our evaluated datasets to fit into the memory.

在资源受限的边缘设备上部署检索增强生成(RAG)具有挑战性,因为这些设备的内存和处理能力有限。在本研究中,我们提出EdgeRAG,它通过在簇内修剪嵌入以及在检索期间按需生成嵌入来解决内存限制问题。为避免为大型尾部簇生成嵌入时的延迟,EdgeRAG 会预先计算并存储这些簇的嵌入,同时自适应地缓存其余嵌入以减少冗余计算并进一步优化延迟。BEIR 套件的结果表明,EdgeRAG 相较于基线 IVF 索引显著降低了延迟,同时生成质量相似,并且使我们评估的所有数据集都能适配内存。

1、Introduction

Large Language Models (LLMs) enable new applications such as smart assistants (Google, 2024; Microsoft,). The processing of these powerful LLMs is usually offloaded to the datacenter due to the enormous resources required. However, the latest mobile platforms enable smaller LLM to run locally. These lightweight models cannot directly compare with the state-of-the-art hundred-billion parameter LLMs. To enhance these models to process users’ custom data and applications, a promising solution is to build a compounding system. By integrating LLMs with Retrieval Augmented Generation (RAG), these smaller models can leverage local personal data to generate high-quality responses.

Even though RAG removes the requirement for a heavy-weight LLM for generation, retrieval still has a high overhead. The core of a RAG system is a vector database that enables vector similarity search. Different from LLMs, the overhead of RAG mainly comes from its memory footprint. For example, a Flat Index stores and sequentially searches every vector representation of the data chunks to identify the closest match to the query. For example, in fever(Thorne et al., 2018) dataset, a vector database that holds 5.23 million records has an index size of 18.5 GB. In comparison, mobile devices tend to have 4-12 GB of main memory (Wiens, 2024; Sam, 2024). Thus even using the whole memory on a mobile platform is not sufficient to run a large vector database. On the other hand, storing the vector database on disk introduces substantial access latency, impacting performance.

Our research focused on the challenges of implementing Retrieval Augmented Generation (RAG) on edge systems—mainly the overhead of the vector similarity search. We find that naively keeping the entire index in the main memory would not fit into the memory of mobile platforms. A Flat index which performs sequential search of all embeddings not only expensive in term of computation, but also trash memory leading to poor performance. On the other hand, Two-level Inverted File (IVF) index clusters embeddings of data chunks into centroids. The retrieval process first searches for the closest centroid and then performs a second search within the cluster. Thus, avoid expensive sequential search of all embeddings. However, keeping all embeddings in memory still leads to excessive memory thrashing and increased latency. Thus, keeping the first-level centroid in memory and generating the second level online can be a promising solution. Through further profiling the RAG on mobile platforms using widely-used RAG benchmarks (Thakur et al., 2021), we find that both the data access pattern and the access latency are highly skewed. First, most of the embedding vectors are not searched during the retrieval process. Second, the cost of generating the embedding vector is not the same for all clusters and has an extreme tail distribution. These skewness leave space for further optimizations.

大型语言模型(LLMs)催生了诸如智能助手(谷歌,2024 年;微软)等新应用。由于这些强大的 LLM 需要大量资源,其处理过程通常被转移到数据中心。然而,最新的移动平台使得较小的 LLM 能够在本地运行。这些轻量级模型无法与最先进的百亿参数 LLM 相提并论。为了增强这些模型以处理用户的自定义数据和应用,一个有前景的解决方案是构建一个复合系统。通过将 LLM 与检索增强生成(RAG)相结合,这些较小的模型能够利用本地个人数据生成高质量的响应。

尽管 RAG 消除了生成过程中对重型 LLM 的需求,但检索仍具有较高的开销。RAG 系统的核心是一个向量数据库,它支持向量相似度搜索。与 LLM 不同,RAG 的开销主要来自其内存占用。例如,平面索引会存储并按顺序搜索每个数据块的向量表示,以确定与查询最接近的匹配项。例如,在 Fever(Thorne 等人,2018 年)数据集中,一个包含 523 万条记录的向量数据库的索引大小为 18.5GB。相比之下,移动设备通常只有 4 至 12GB 的主内存(Wiens,2024 年;Sam,2024 年)。因此,即使使用移动平台上的全部内存也不足以运行大型向量数据库。另一方面,将向量数据库存储在磁盘上会引入大量的访问延迟,从而影响性能。

我们的研究重点在于在边缘系统上实现检索增强生成(RAG)所面临的挑战——主要是向量相似性搜索的开销。我们发现,简单地将整个索引保留在主内存中无法适应移动平台的内存。执行所有嵌入的顺序搜索的平面索引不仅计算成本高昂,而且浪费内存,导致性能不佳。另一方面,两级倒排文件(IVF)索引将数据块的嵌入聚类到质心。检索过程首先搜索最近的质心,然后在聚类内进行第二次搜索。因此,避免了对所有嵌入进行昂贵的顺序搜索。然而,将所有嵌入都保留在内存中仍会导致过多的内存抖动和增加的延迟。因此,将第一级质心保留在内存中,并在线生成第二级质心可能是一个有前景的解决方案。通过在移动平台上使用广泛使用的 RAG 基准(Thakur 等人,2021 年)对 RAG 进行进一步的性能分析,我们发现数据访问模式和访问延迟都高度倾斜。首先,在检索过程中,大多数嵌入向量未被搜索。其次,生成嵌入向量的成本对于所有簇来说并不相同,并且具有极端的尾部分布。这些倾斜性为进一步的优化留下了空间。

In this work, we develop a mobile RAG system, EdgeRAG that enables RAG-based LLM on mobile platforms, by fitting the vector database in the limited mobile memory while ensuring that the response time meets the service level objectives (SLOs) of mobile AI assistant applications. Based on these observations, our key ideas are the following: First, we prune the vector embedding of the data embeddings within centroid clusters which are only used for second-level search to save the memory capacity. EdgeRAG then generates the vector embedding online during the retrieval process. However, due to limited computing on edge systems, generating vector embedding online could suffer from long embedding generation latency from large tail clusters. To overcome this challenge, our second solution is to pre-compute and store the embeddings of large tail clusters to avoid long tail latency of generating vector embeddings of data within those tail clusters. Then, EdgeRAG can adaptively cache the remaining vector embeddings to minimize redundant computation and improve overall latency, based on the spare memory capacity and SLO requirements.

We evaluate EdgeRAG on a mobile platform based on Nvidia Jetson Orin Nano equipped with 8 GB of shared main memory, similar to a mobile edge platform that has neural processing capabilities (Sam, 2024). We use 6 workloads from the BEIR benchmark suite (Thakur et al., 2021) and tune the retrieval hyperparameters to normalize the recall against the Flat index baseline. We also evaluate the generation quality using GPT-4o (OpenAI,) LLM as an LLM evaluator (Saad-Falcon et al., 2023). We use the time-to-first-token (TTFT) latency as the main metric. The result shows that EdgeRAG offers 1.8 × faster TTFT over the baseline IVF index on average and 3.82 × for larger datasets. At the same time, EdgeRAG maintains a similar generation quality with recall and generation scores within 5 percent of the Flat Index baseline while allowing all of our evaluated datasets to fit into the memory and avoid memory thrashing.

在本工作中,我们开发了一个移动 RAG 系统 EdgeRAG,它能够在移动平台上实现基于 RAG 的 LLM,通过在有限的移动内存中适配向量数据库,同时确保响应时间满足移动 AI 助手应用程序的服务水平目标(SLO)。基于这些观察结果,我们的关键思路如下:首先,我们修剪质心簇内仅用于第二级搜索的数据嵌入的向量嵌入,以节省内存容量。EdgeRAG 在检索过程中在线生成向量嵌入。然而,由于边缘系统计算能力有限,在线生成向量嵌入可能会因大型尾部簇而导致嵌入生成延迟过长。为克服这一挑战,我们的第二个解决方案是预先计算并存储大型尾部簇的嵌入,以避免生成这些尾部簇内数据的向量嵌入时出现长尾延迟。然后,EdgeRAG 可以根据空闲内存容量和 SLO 要求自适应地缓存剩余的向量嵌入,以减少冗余计算并降低整体延迟。

我们在基于英伟达 Jetson Orin Nano 的移动平台上对 EdgeRAG 进行评估,该平台配备 8GB 共享主内存,类似于具备神经处理能力的移动边缘平台(Sam,2024)。我们使用来自 BEIR 基准测试套件(Thakur 等人,2021)的 6 个工作负载,并调整检索超参数以将召回率与 Flat 索引基线进行标准化。我们还使用 GPT-4o(OpenAI)LLM 作为 LLM 评估器(Saad-Falcon 等人,2023)来评估生成质量。我们采用首次生成标记的时间(TTFT)延迟作为主要指标。结果表明,EdgeRAG 的 TTFT 平均比基线 IVF 索引快 1.8 倍,对于较大的数据集则快 3.82 倍。同时,EdgeRAG 保持了相似的生成质量,其召回率和生成得分与 Flat 索引基线相差在 5%以内,同时使所有评估的数据集都能适配内存,避免了内存碎片化。

In summary, the contributions of this work are the following:

• We identify two key challenges of implementing RAG on edge devices: First, limited memory capacity does not allow loading large embedding vector database in the memory leading to memory thrashing and poor performance. Although only a small subset of embeddings are searched for two-level IVF index. Second, limited computing power of edge devices which slows down online embedding generation especially on few large tail and repeatedly used clusters.

• To enable scalable and memory-efficient RAG on edge systems, we propose EdgeRAG which improves upon IVF index by pruning second-level embeddings to reduce memory footprint and generate the embedding online during retrieval time. EdgeRAG mitigates long tail latency from generating the embeddings of heavy cluster by pre-computing and storing those tails. To further optimize latency, EdgeRAG selectively caches generated embeddings to reduce redundant computation while minimizing memory overhead.

• We implement EdgeRAG on Jetson Orin edge platform and evaluate our system with datasets from BEIR benchmark. The results show that EdgeRAG significantly improves the retrieval latency of large datasets with embedding sizes larger than the memory capacity by 131% with slight reduction in retrieval and generation quality.

总之,本工作的贡献如下:

• 我们指出了在边缘设备上实现 RAG 的两个关键挑战:首先,有限的内存容量无法将大型嵌入向量数据库加载到内存中,从而导致内存抖动和性能不佳。尽管在两层 IVF 索引中仅搜索嵌入的小子集。其次,边缘设备的计算能力有限,这会减慢在线嵌入生成的速度,尤其是在少数大型尾部和频繁使用的簇上。

• 为了在边缘系统上实现可扩展且内存高效的 RAG,我们提出了 EdgeRAG,它通过修剪第二层嵌入来改进 IVF 索引,以减少内存占用,并在检索时在线生成嵌入。EdgeRAG 通过预先计算并存储这些尾部来缓解生成重尾簇嵌入的长尾延迟。为了进一步优化延迟,EdgeRAG 选择性地缓存生成的嵌入,以减少冗余计算,同时将内存开销降至最低。

• 我们在 Jetson Orin 边缘平台上实现了 EdgeRAG,并使用来自 BEIR 基准的 数据集对我们的系统进行了评估。结果表明,EdgeRAG 显著降低了嵌入尺寸大于内存容量的大数据集的检索延迟,提高了 131%,但检索和生成质量略有下降。

Figure 1:RAG Pipelines

Figure 2:Retrieval process of Inverted File Index

Conclusion

In this work, we propose EdgeRAG, a novel RAG system designed to address the memory limitations of edge platforms. EdgeRAG optimizes the two-level IVF index by pruning unnecessary second-level embeddings, selectively storing or regenerating them during execution, and caching generated embeddings to minimize redundant computations. This approach enables efficient RAG applications on datasets that exceed available memory, while preserving low retrieval latency and without compromising generation quality. Our evaluation results show that EdgeRAG improves retrieval latency by 1.22× on average and by a substantial 3.69× for large datasets that cannot fit in the memory.

在这项工作中,我们提出了 EdgeRAG,这是一种新型的检索增强生成(RAG)系统,旨在解决边缘平台的内存限制问题。EdgeRAG 通过修剪不必要的二级嵌入、在执行期间有选择地存储或重新生成它们以及缓存生成的嵌入来优化两级 IVF 索引,从而最大限度地减少冗余计算。这种方法使得在超出可用内存的数据集上也能高效运行 RAG 应用程序,同时保持低检索延迟且不降低生成质量。我们的评估结果表明,EdgeRAG 平均将检索延迟提高了 1.22 倍,对于无法完全装入内存的大数据集,检索延迟更是大幅提高了 3.69 倍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953333.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索网络安全:浅析文件上传漏洞

前言 在数字化时代,网络安全已成为我们每个人都需要关注的重要议题。无论是个人隐私保护,还是企业数据安全,网络威胁无处不在。了解网络安全的基本知识和防护措施,对我们每个人来说都至关重要。 网络安全 网络安全并非只是对网…

Therabody 与Garmin联手,共同推进运动恢复与健康科技新突破

本次合作以数据整合、人工智能驱动的数字教练与科学研究为重点,旨在更好地了解科学恢复对运动表现的影响 (2025年1月13日,中国上海)全球健康领导者Therabody宣布与智能手表品牌Garmin佳明建立战略合作关系,共同致力于…

Cloudflare中转Gemini API,国内免费爽用,Gemini编程,音视频,多模态能力测试

视频版: Cloudflare中转顶级大模型API,国内免费爽用,Gemini编程,音视频,多模态能力测试 谷歌Gemini是所有一线顶级大模型当中唯一一个API可以免费白嫖的。本期视频,我们借助互联网大善人Cloudflare来中转一…

腾讯云AI代码助手编程挑战赛-算法小助手

作品简介 一个可以帮助学习计算机各种算法的AI小助手,提升工作效率。 技术架构 使用Html语言完成图形化页面的样式,使用JavaScript语言来操作对应的逻辑代码。 实现过程 1、创建一个界面 2、获取数据 3、添加按钮与功能 4、程序优化调试 开发环境…

网络安全实验之钓鱼网站的制作及技巧

在红队攻击中,除漏洞以外最简洁高效的攻击方式无疑是钓鱼攻击,通过不同的钓鱼方式可达到不同的攻击效果,本次我会分享最常见的钓鱼手段之一的网站钓鱼技术,同时对可实现的攻击操作进行演示。 更多网站钓鱼实验科普,可…

用户注册模块用户校验(头条项目-05)

1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…

linux-28 文本管理(一)文本查看,cat,tac,more,less,head,tail

之前提到过linux的几个重要哲学思想,使用纯文本文件保存软件的配置信息是其中之一,所以大多数情况下,我们对整个系统的操作,都是通过编辑它的配置文件来完成,那也就意味着,处理文本文件是我们作为系统管理员…

JVM面试相关

JVM组成 什么是程序计数器 详细介绍Java堆 什么是虚拟机栈 能不能解释一下方法区? 直接内存相关 类加载器 什么是类加载器,类加载器有哪些 什么是双亲委派模型 类加载过程 垃圾回收 对象什么时候可以被垃圾回收器回收 JVM垃圾回收算法有那些 JVM的分代…

【Unity3D】利用IJob、Burst优化处理切割物体

参考文章: 【Unity】切割网格 【Unity3D】ECS入门学习(一)导入及基础学习_unity ecs教程-CSDN博客 【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor_unity ijobparallelfor-CSDN博客 工程资源地址&…

Armv8/Armv9架构从入门到精通-介绍

CSDN学院课程连接:https://edu.csdn.net/course/detail/39573 1 讲师介绍 拥有 12 年手机安全、汽车安全、芯片安全开发经验,擅长 Trustzone/TEE/ 安全的设计与开发,对 ARM 架构的安全领域有着深入的研究和丰富的实践经验,能够…

Cesium小知识:pointPrimitive collection 详解

Cesium.PointPrimitiveCollection 是 Cesium 中用于高效管理和渲染大量点(points)的一个类。它允许你创建和管理大量的 PointPrimitive 实例,这些实例可以用来表示地理空间中的点数据,如传感器位置、车辆位置、兴趣点等。与直接使用 Cesium.Entity 相比,PointPrimitiveCol…

Threejs实现 区块链网络效应

大家好!我是 [数擎 AI],一位热爱探索新技术的前端开发者,在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:前端开发 | A…

GitCode G-Star 光引计划终审前十名获奖项目公示

在技术的浩瀚星空中,GitCode 平台上的 G-Star 项目熠熠生辉。如今,“光引计划” 已圆满落幕,众多 G-Star 项目作者,一同分享项目在 GitCode 平台托管的宝贵体验,并深入挖掘平台的多样玩法。 众多投稿纷至沓来&#xf…

VRRP技术

堆叠 堆叠指将支持堆叠特性的交换机通过堆叠线缆连接到一起,解决交换机问题 (物理多台交换机变成逻辑上的一台交换机 去进行一个数据转发)聚合解决链路问题在不同的厂商中堆叠的技术: 思科:stackwise 思科智能堆叠VSS Virt…

primitive 的 Appearance编写着色器材质

import { nextTick, onMounted, ref } from vue import * as Cesium from cesium import gsap from gsaponMounted(() > { ... })// 1、创建矩形几何体,Cesium.RectangleGeometry:几何体,Rectangle:矩形 let rectGeometry new…

31_搭建Redis分片集群

Redis的主从复制模式和哨兵模式可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题、高并发写的问题。由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Red…

快速上手 INFINI Console 的 TopN 指标功能

背景 在分布式搜索引擎系统(如 Easysearch、Elasticsearch 和 OpenSearch)中,性能监控至关重要。为了确保系统的高效运行和资源的合理分配,我们通常需要关注一段时间内关键资源的使用情况,特别是索引、节点和分片的内…

风水算命系统架构与功能分析

系统架构 服务端:Java(最低JDK1.8,支持JDK11以及JDK17)数据库:MySQL数据库(标配5.7版本,支持MySQL8)ORM框架:Mybatis(集成通用tk-mapper,支持myb…

探索AGI:智能助手与自我赋能的新时代

目录 1 AGI1.1 DeepMind Levels(2023年11月)1.2 OpenAI Levels(2024年7月)1.3 对比与总结1.4 AGI可能诞生哪里 2 基于AI的智能自动化助手2.1 通用型大模型2.2 专业的Agent和模型工具开发框架2.3 编程与代码生成助手2.4 视频和多模态生成2.5 商…

工具推荐:PDFgear——免费且强大的PDF编辑工具 v2.1.12

PDFgear——免费且强大的PDF编辑工具 v2.1.12 软件简介 PDFgear 是一款 完全免费的 PDF 软件,支持 阅读、编辑、转换、合并 以及 跨设备签署 PDF 文件,无需注册即可使用。它提供了丰富的 PDF 处理功能,极大提升了 PDF 文件管理的便捷性和效…