Loading

EDC rag 学习随笔

edc-rag(Efficient Dynamic Clustering-based document Compression for Retrieval-Augmented Generation)
https://arxiv.org/abs/2504.03165
https://mp.weixin.qq.com/s/AgJMkCeTO9FLjx9MrolKpg

主要解决:

  1. 召回噪声数据,检索冗余
  2. 知识图谱知识更新成本高

当前 RAG 框架主要基于查询与候选文档的相似性进行检索,忽略了文档之间的细粒度关系。这导致检索结果中可能存在大量冗余和噪声,影响 LLMs 的推理质量。例如,当检索到的文档包含多个重复的段落时,LLMs 可能会重复生成相同的信息,浪费计算资源。此外,基于知识图的 RAG 方法虽然提高了检索灵活性,但未能有效解决内容冗余和冲突问题。知识图的构建和维护成本高昂,且在处理大规模文档时效率较低。例如,当面对数百万个实体时,构建一个完整的知识图不仅耗时,还可能导致检索效率下降。

核心思想:
聚类+压缩
通过动态聚类将语义相似的文档分组,然后使用大语言模型(LLM, Large Language Model)进行压缩,提取关键信息:
1. 文档编码:首先,将文档转换为向量表示。这一步类似于我们平时用搜索引擎时,输入的查询会被转化为计算机能理解的数字形式。通过这种方式,文档的内容被编码为高维向量,便于后续的相似性计算。
2. 动态聚类:基于文档与查询的相似性,将文档分组为多个簇。与传统的静态聚类方法不同,动态聚类能够根据查询动态调整簇的大小和数量。比如,当你搜索“人工智能”时,系统会自动将与“机器学习”和“深度学习”相关的文档归为一组,而将与“自然语言处理”相关的文档归为另一组。这种方法确保了检索结果的相关性和信息密度。
3. 压缩:使用大语言模型对每个簇进行查询感知的压缩,去除冗余信息。举个例子,如果你搜索“人工智能的历史”,系统会从相关文档中提取出关键事件和时间节点,而不是把所有细节都呈现给你。这样既节省了时间,又提高了信息的精准度。
4. 生成:将压缩后的内容整合到提示中,生成最终响应。这一步就像是把筛选后的信息打包成一个简洁的答案,直接呈现给用户。

与传统的静态聚类方法相比,动态聚类有以下几个显著优势:
• 灵活性:动态聚类能够根据查询动态调整簇的大小和数量,确保检索结果的相关性和信息密度。比如,当你搜索“人工智能的应用”时,系统会自动将与“医疗”、“金融”、“自动驾驶”等不同领域的应用文档分组,而不是将所有文档混在一起。
• 减少冗余:通过动态聚类,系统能够将相似的文档归为一组,避免重复信息的出现。比如,如果你搜索“深度学习框架”,系统会自动将关于“TensorFlow”和“PyTorch”的文档归为一组,而不是分别呈现多个重复的文档。
• 提高推理效率:动态聚类减少了文档的数量,使得大语言模型在生成答案时更加高效。比如,当你搜索“人工智能的未来趋势”时,系统会从相关文档中提取出关键趋势,而不是让模型处理大量冗余信息。

posted @ 2025-04-08 00:30  踩坑大王  阅读(33)  评论(0)    收藏  举报