当前位置: 首页 > news >正文

LLM大规模数据的组织检索方法

数据是GB级别的文档,量级远超LLM的上下文窗口,例如,128K、1M tokens。

核心的解决思路,不要试图把整个数据塞进模型窗口,而是要在数据组织和检索方法发力。

目前的方案可以分为三大流派:RAG检索增强生成、长文本模型优化以及Agentic代理式架构。

这里基于网络资料,尝试探索这些组织检索方法。

1. RAG检索增强

RAG是目前解决超长上下文最成熟、最通用的方案。其核心在于先筛选,后阅读。

当数据量极大时,索引和检索阶段的效率与准确性决定了整个系统的上限。

1.1 索引阶段优化-如何组织数据

不能简单地把文档切碎了扔进向量库,需要进行结构化处理:

1)多层次文档分块

- 小颗粒度块用于检索:256-512 tokens。保证检索的精度,避免无关信息混入。

- 大颗粒度块用于合成:在检索到相关的小块后,通过块ID关联将所在的大章节,如 2000 tokens,一并返回给LLM。这解决了上下文碎片化的问题。

- 元数据与结构化索引:为每个数据块打上标签,如日期、作者、类别、章节)。在检索时,先通过SQL-like过滤缩小范围,例如:`时间 > 2024年` 且 `部门 = 法务`,再进行向量相似度搜索。这被称为预过滤。

- 图索引:对于高度互联的数据,如社交网络、技术文档,使用图数据库如Neo4j存储实体关系。先找到核心实体,再检索其关联信息。

1.2 检索阶段优化-如何找到数据

一种有效的方式就是混合搜索,融合向量搜索、关键词搜索,并采用重排序处理搜索后的数据。

1)向量搜索

处理语义相似性,“苹果手机” vs “iPhone”。

2)关键词搜索

利用BM25等算法,处理精确匹配,如合同编号、专业术语“心肌梗死”。

3)重排序

先用速度快的模型粗筛出Top 100,再用更精准的交叉编码器模型对结果进行重新排序,确保最相关的结果排在最前面。

2 长文本优化

当单纯分级检索依然难以应对现实问题,比如有的问题,在分级检索后,依然不能拿到所有回答问题必须的必要信息,这次可能需要从模型信息和回答机制出发,设计问题解决方案。

2.1 长文本模型优化

针对一些上下文窗口已扩展到百万甚至千万级别的模型,单纯靠窗口大小硬塞是不现实的。

通常结合以下策略:

1)信息压缩

在将数据喂给模型之前,先用一个小模型对长文本进行摘要或提取关键实体。

例如,将冗长的聊天记录压缩为用户诉求变化线,再将压缩后的摘要输入给大模型。

详情参考如下链接

https://blog.csdn.net/liliang199/article/details/158767962

2)注意力机制优化

利用模型内置注意力掩码技术,跳过不重要的部分,如停用词、HTML标签,只关注关键实体。

详情参考如下链接

https://blog.csdn.net/liliang199/article/details/158767966

3)滑动窗口与记忆机制

模型每次只处理一个窗口的数据,但会将重要的历史信息,总结或关键向量,保留在缓存中,作为后续分析的上下文。

详情参考如下链接

https://blog.csdn.net/liliang199/article/details/158767969

2.2 Agentic RAG与数据管道

当数据量达到数亿条记录且需要深度分析时,单次检索已无法满足需求。

此时,LLM作为思考者,调用各种工具来组织数据。

1)多跳检索

假设问题:“特斯拉2023年在中国市场的竞争对手有哪些?”

step1:检索“特斯拉2023年中国销量报告”。

Agent分析报告后,发现提到了“比亚迪”和“蔚来”。

step2:分别检索“比亚迪2023年财报亮点”和“蔚来2023年车型销量”。

最后整合信息回答。

这种方式能够处理复杂逻辑,但响应时间较长。

2)数据预处理管道

对于无法直接检索的超大数据集,先进行ETL操作。

例如,当用户提问时,Agent先查询数据库API,生成SQL语句从数据仓库中聚合统计结果,如总销售额、平均值,再将这个数字作为上下文送给LLM进行解读。

3. 不同场景的选择

1)聊天机器人/客服问答

首选RAG + 混合搜索,确保回复能引用具体来源,且能实时更新知识库。

2)财报分析/长篇内容总结

首选长文本模型 + 压缩技术,使用Map-Reduce式的总结模式,先分段总结,再汇总总结。

3)研究分析/竞品调研

首选Agentic Graph RAG。构建知识图谱,让Agent在多篇文档中反复穿梭,查找联系。

当然,现实问题可能不是以上某一个单一场景,有可能多个场景同时混合,或者间断出现。

单一机制有可能还是不能解决问题,不要试图单次解决问题,尝试通过多次迭代的思考-检索-再思考过程完成复杂任务。

reference

---

LLM基于注意力掩码的机制优化

https://blog.csdn.net/liliang199/article/details/158767966

LLM滑动窗口与记忆机制的应用探索

https://blog.csdn.net/liliang199/article/details/158767969

LLM的信息压缩技术的探索

https://blog.csdn.net/liliang199/article/details/158767962

http://www.cnnetsun.cn/news/1330892.html

相关文章:

  • Simulink仿真漂移机理分析(二):相图分析
  • 全球爆火的龙虾杀入科研智能体赛道,字节跳动、微软以及英伟达等巨头也早已布局AI4Science领域
  • leetcode 1395. Count Number of Teams 统计作战单位数
  • 数字:从物理化学的研究工具到现代科学的通用语言
  • C语言-Day1
  • 告别绘图软件!Paperxie AI 科研绘图:10 次免费额度,让理工科论文可视化一步到位
  • Day1 | 704、35
  • CLIP ViT-H-14开源大模型部署教程:630M参数图像特征提取实战
  • ESP32-S3桌面数字看板设计:硬件选型与双端协同架构
  • 探秘RestTemplateBuilder:为何连接超时设置频频‘失效’及最佳实践
  • 海康SDK实战:视频通道编码ID配置与优化指南
  • 告别论文焦虑:Paperxie 如何用四大降重神器破解毕业论文重复率与 AIGC 难题
  • 【力扣-42. 接雨水】Python笔记
  • 从零开始:基于Anything V5的Stable Diffusion二次元绘画环境配置
  • 从规范到高效:GitLab MR流程的团队协作实战指南
  • OpenHarmony智能WiFi开关:Hi3861嵌入式设计与分布式控制实现
  • 华为路由器实战:OSPF NSSA区域配置避坑指南(附完整拓扑实验)
  • 从被欺凌者到守护者:为什么受伤的你,更适合成为技术世界的“监管者”?
  • 《全球芯片图鉴》:全球最值得了解的芯片厂商清单
  • 计算机毕业设计源码:Python旅游评论数据采集分析平台 可视化 SnowNLP Selenium爬虫 旅游 旅行 出游 大数据 大模型 agent(建议收藏)✅
  • 基于卷积神经网络U-Net实现生物医学影像分割(PyTorch框架)
  • Comsol 二维光子晶体计算:缺陷模 BIC 的探索之旅
  • 智能音箱设计必看:LTK5209双声道功放的7大实战技巧(含EMI优化方案)
  • OpenHarmony SELinux实战:如何为SA服务配置安全策略(附避坑指南)
  • 游戏AI实战:基于有限状态机的蚂蚁生存模拟
  • Thinkphp和Laravel框架微信小程序的 畅玩安阳旅游网站平台的景点门票民宿预订-
  • Flowise容器化:Kubernetes集群部署AI工作流平台
  • HG-ha/MTools参数详解:--gpu-mode、--onnx-provider、--max-workers配置说明
  • 结合C++高性能服务框架,构建企业级LiuJuan模型推理网关
  • Autoware实战:深度相机与激光雷达融合标定全流程(附松灵小车代码解析)