大语言模型RAG,transformer和mamba

1、RAG技术流总结


第一张图是比较经典的RAG知识图谱,第二张图是更加详细扎实的介绍图。

1.1 索引

坦白来说这部分的技术并不是大模型领域的,更像是之前技术在大模型领域的应用;早在2019年我就做过faiss部分的尝试,彼时索引技术已经在互联网领域得到了广泛的应用。

1、大模型需要通过向量化去建立语义理解。

通过将包含高维信息的知识降维到向量空间里,这些知识就变成了一堆数字串;此时,当用户去提问时,先将提问的知识向量化变成一串数字后,再从知识库中通过余弦计算等方式找出和用户提问数字串最相似的信息出来,这就完成了所谓的语义理解。

2、分块能够有效提升检索效率和缓解上下文长度限制。

理想状态下,在检索时将每个信息都遍历一遍肯定就不会漏信息了,但是当信息量大且不能让用户等待过久的时候,还是需要更高效和更具性价比的方式;同时,大模型一次能输入的上下文有长度限制,虽然已经有大模型将上下文长度延伸至了更高量级,但似乎实验证明更大的上下文窗口不一定对检索结果更有效。

而分块技术,则可以理解为将一篇50w字的书籍文档按照段落或者语义等方式划分成n个块。这样,既能够有效解决上下文长度限制问题,同时也对于检索有一定的效率提升;但同时也存在可能会丢失文档的全局结构、不同块之间的前后逻辑等问题(这些问题在陆续通过建立重叠上下块内容、建立块的类似索引结构等方式进行优化)。

1.2 检索Retrieval

当用户提问后,通过检索技术则可以从知识库中召回相关内容块。检索方式将不局限于关键词检索和向量检索,最终的形态一定是多种检索方式的结合和互补。当混合检索结束后,再通过一个Rerank的机制重新对不同渠道的检索结果做一个最终的整合和排序。

1.3 生成(Generation)

将检索得到的前 K 个文本块和用户问题一起送进大模型,让大模型基于给定的文本块来回答用户的问题。

在整个完整的RAG过程中,索引和检索将极大的影响最终生成的质量。其中索引直接决定语义保存的完整度,检索决定提供给大模型的文本质量,值得注意的是检索过程还存在rerank的过程。

知识库问答,数据越多效果越好吗?中,有道大模型团队提出针对query大连医科大学怎么样,主要原因是第三批加入的某些文档中恰好有大连理工大学 xxx 怎么样?的句子,和 query 大连医科大学怎么样?表面上看起来确实非常像,Embedding 给它打了比较高的分。直接向量检索的情况下因为缺乏语义部分导致

而类似大连医科大学师资介绍这样的片段相关性就稍微低了些。而 LLM 输入 token 有限制,前面两个最相关但是实际并不能回答 query 问题的片段就已经占满了 token 的窗口,只能把他俩送进 LLM 里。结果可想而知,啥都不知道。

RAG知识除了可以参考前面有道团队的介绍,另外也可以参考这一篇:
一文读懂:大模型RAG(检索增强生成)含高级方法

相关推荐
没事勤琢磨1 小时前
如何让 OpenClaw 控制使用浏览器:让 AI 像真人一样操控你的浏览器
人工智能
用户5191495848451 小时前
CrushFTP 认证绕过漏洞利用工具 (CVE-2024-4040)
人工智能·aigc
牛马摆渡人5282 小时前
OpenClaw实战--Day1: 本地化
人工智能
前端小豆2 小时前
玩转 OpenClaw:打造你的私有 AI 助手网关
人工智能
BugShare2 小时前
写一个你自己的Agent Skills
人工智能·程序员
机器之心2 小时前
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
人工智能·openai
后端小肥肠3 小时前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent
爱可生开源社区4 小时前
SCALE | 重构 AI 时代数据库能力的全新评估标准
人工智能
Jahzo4 小时前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Narrastory4 小时前
明日香 - Pytorch 快速入门保姆级教程(一)
人工智能·pytorch·深度学习