微信扫码
与创始人交个朋友
我要投稿
随着大型语言模型 (LLM) 和检索增强生成 (RAG) 技术的兴起,将它们部署在资源受限的边缘设备上成为一项挑战,因为边缘设备的内存和计算能力有限。传统的 RAG 系统需要将整个嵌入向量数据库加载到内存中,这在边缘设备上是不现实的,会导致内存抖动和性能下降。
为了解决这个问题,EdgeRAG 提出了一种内存高效的 RAG 系统,通过选择性存储,不是所有向量都存储,只有在检索过程中真正需要的嵌入向量才会被生成和存储,此外,还采用自适应缓存策略,以减少冗余计算并进一步优化延迟。
实验结果表明,EdgeRAG 在保持检索和生成质量的同时,显著降低了检索延迟,并能够支持比内存容量更大的数据集。
与传统方法不同,EdgeRAG并未存储所有文本块的嵌入,而是通过修剪嵌入并在检索过程中动态生成,仅存储计算成本较高的集群索引,以此优化性能并降低延迟。为了进一步提升效率,EdgeRAG采用选择性缓存策略:对于检索中生成的嵌入,系统优先缓存计算成本较高的嵌入,利用缓存命中显著提高性能;而对于生成成本较低、不会影响服务水平目标(SLOs)的嵌入,则避免缓存,为高成本嵌入腾出更多空间。
以下是EdgeRAG方法的详细流程总结,包括索引的构建、检索、插入和删除的全过程:
文本分块
将文本语料库分割成较小的数据块,便于管理和处理。
生成嵌入
为每个数据块生成嵌入向量,用于后续的聚类和检索。
聚类嵌入
将生成的嵌入向量进行聚类,以减少索引的复杂度和查询时间。
存储质心
将集群的质心嵌入存储到第一层索引中,并记录对第二层索引的引用。
分配嵌入到集群
将每个数据块的嵌入分配到其所属的集群,并存储数据块的引用。
计算生成成本
对每个数据块嵌入的生成成本进行计算,判断是否超过预定义的服务等级目标 (SLO)。
优化存储
EdgeRAG 结合了高效的嵌入加载与智能缓存策略,实现了快速检索,其过程如上图所示。具体步骤如下:
查询最相似的质心
根据查询嵌入,找到与其最相似的集群质心。
检查预存嵌入
检查该集群是否已有预计算的嵌入。
查找嵌入缓存
查看缓存中是否存储了相关嵌入。
重新生成嵌入
如果缓存未命中且没有预计算的嵌入,则动态生成嵌入向量,并将其存储在缓存中,以便后续查询使用。
加载嵌入并检索数据块
加载嵌入后,查找最匹配的嵌入,并检索相关的文本数据块。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-07-18
2024-09-04
2024-05-05
2024-06-20
2024-05-19
2024-07-09
2024-07-09
2024-06-13
2024-07-07
2024-07-07
2025-01-09
2025-01-09
2025-01-09
2025-01-06
2025-01-04
2024-12-30
2024-12-27
2024-12-26