没有知识就没有智能。尽管大型语言模型(LLM)具有惊人的能力,但它们仍然在缺乏领域知识方面存在显着困难,这可能导致它们生成过时、不完整或不准确的回答。这个缺点成为企业在采用领域特定的LLM时面临的最大挑战之一,因为它直接影响这些模型在实际业务场景中的效力和可靠性。
RAG
为了克服这一挑战,“检索增强生成”(Retrieval-Augmented Generation, RAG) 已成为提供领域知识给LLMs最流行的解决方案。使用RAG,我们从外部知识库中检索相关信息,并通过提示语的上下文窗口将其提供给LLM。例如,如果我们想询问雇主的假期政策,我们可以使用RAG从数据库中检索相关的人力资源政策文件,并将该信息作为上下文提供给LLM。
这个RAG工作流程是我喜欢称之为:概念上简单但实际上困难。
实施RAG的实际挑战通常体现在数据处理、选择和整合的细微之处。为了能够有效地检索和利用正确的信息,系统必须精确地浏览大量的数据源,理解每一条数据的上下文和相关性。
向量数据库
RAG显著增强了LLM的性能,但它在数据的复杂管理和检索方面依赖非常重。这就是向量数据库发挥作用的地方。
向量数据库通过向量相似性搜索,索引和存储向量嵌入以实现快速信息检索。这些嵌入由LLM等AI模型生成,并携带丰富的语义信息,可以通过向量数据库进行查询。通常,该过程涉及将用户的问题转化为嵌入,然后使用向量搜索将其与文档文本块嵌入进行匹配。根据高的向量相似性分数(如余弦相似度),检索到最相关的文本块。
以我们之前的例子为例,问题“假期政策是否有变化?”可以转化为一个查询嵌入。然后我们对人力资源政策文档嵌入进行向量相似性搜索,以确定与假期政策相关的文档。
尽管使用向量数据库的关系图(RAG)是为LLM提供领域知识的基准,但仍然面临一些严峻挑战,这些挑战对其整体有效性产生影响。实践中最常见的挑战包括:
-
文本分块策略:确定分块文档的最佳方式是一道重要的难题。每个分块的大小必须在提供足够的细节和保留更广泛上下文之间取得微妙平衡。较大的分块可能提供更多上下文,但可能稀释特定的相关信息;而较小的分块侧重于细节,但可能忽视必要的语境细微差别。
-
Top K参数:与矢量数据库一起使用的 RAG 需要一个 top k 参数来选择检索并输入 LLM 的文本分块数量。选择适当的 top k 值是复杂的;它通常是一个固定的数字,但其有效性取决于文本分块策略。如果分块过小或缺乏足够的语境,LLM 可能无法检索到所有必要的信息以生成准确的响应。
-
冗余与重复:如果文本分块包含类似信息,我们面临着检索到的 top k 分块中的冗余和重复问题。这种冗余不仅会影响提供给 LLM 的信息多样性,还可能导致倾斜或不平衡的响应。检测和减少这种重叠的有效机制对于确保 LLM 获取到全面且多样化的数据以生成准确和具有上下文丰富性的答案至关重要。
-
查询理解:向量搜索的有效性高度依赖于用户查询和文档之间的语义相似性。含糊不清或表达不清晰的问题可能导致次优的检索结果。这是因为问题和文档都表示为高维空间中的向量,而模糊的问题可能导致一个向量,它与相关的文档向量没有紧密的对齐。查询-文档不匹配现象对确保准确的信息检索构成了重大挑战。
除了这些常见的挑战之外,还有另一个微妙而深远的问题常常被忽视:向量相似性不满足传递性。
向量相似性不具有传递性
在向量空间中:
-
如果向量A与向量B相似
-
而向量B与向量C相似
-
这并不意味着向量A与向量C相似。
缺乏传递性对于我们如何解释和回应AI系统中的查询具有重要影响。当用户的查询以向量A表示,并寻求与向量C对齐的信息时,由于中间向量B,直接的相似性可能不会立即显现。实质上,A与C的联系是间接的,通过它与B的相似性来介导。
这意味着查询向量与相关文档向量之间的直接连接可能会被忽略,从而可能导致检索到的信息的缺失或不准确。理解和解决这一差距,是开发更有效和细致的以AI驱动的搜索和检索系统的机会。
为了说明这一概念,考虑一个移动网络提供商的客户支持场景:
为了展示向量相似性的非传递性,我们使用“gte-large”嵌入模型为问题A、文档B和文档C生成向量嵌入。然后,我们计算每对向量的余弦相似度。下表显示了这些分数,从数量的角度分析了向量A、B和C之间的关系。
-
直接的相似性A和B:顾客问了一个关于他们家经常掉线的问题 A。这个问题与文件 B 非常相似,文件 B 提到网络拥塞可能导致这些问题。
-
直接的相似性B和C:讨论网络拥塞的文件 B 与文件 C 密切相关。虽然文件 B 概述了这个问题,文件 C 描述了电信公司的长期解决方案,比如推出 5G 网络。
-
A和C的间接相似性:虽然文件 C 主要关注 5G 网络的推出,似乎没有解决顾客关于掉线问题的当下问题(问题 A),但这仍然是间接相关的。这个文件概述了能最终解决类似连接性问题的长期解决方案。理解这种间接的连接是关键的,因为关于未来网络改进的信息提供了有价值的背景和解决持续问题的希望,尽管没有提供即时修复。
这个例子突显了准确地将用户查询映射到最相关信息的复杂性。在开发人工智能系统时,尤其是用于客户支持的系统,不仅需要考虑直接的相似性,还需要考虑更广泛的上下文以及信息对用户的最终效用。考虑到这些细微之处的先进算法和方法对于提高这些系统的性能和可靠性至关重要。
在这其中存在一个问题:如何使人工智能系统能够有效地发现和绘制这些微妙的连接,使它们能够连接不同的知识点并提供全面的、有上下文的丰富答案?
引入知识向量图谱:在向量空间中连接数据点
在 Chanko,我们正在构建一种全新的RAG架构,将向量数据库与图形数据库相结合,以协调获得两者的最佳优势:向量搜索和图遍历。我们将这种架构称为知识向量图。
想象把您的业务文件中的所有信息片段作为节点存储在一个图形中,通过连接节点的边来表示它们之间的关系。现在,当用户提出问题时,我们可以进行一个两阶段的“向量图”搜索操作:
-
节点向量相似度搜索:根据向量相似度在图中搜索相关节点。
-
图遍历:从初始检索到的节点开始,沿着相互连接的知识路径进行多次跳转,以探索和检索其他上下文相关的节点。
总体上说,这是我们为了向人工智能提供完整领域知识的解决方案,帮助人工智能连接不同的知识点,以提供最有用的答案。
这个思路在概念上很简单,但实际上很困难。在Chanko,我们正在构建一个平台,使企业客户能够轻松实现这一点。我们使用专有的生成式人工智能来创建您业务数据的知识向量图表示,利用我们的智能文本分块、关系提取和语义增强来处理繁琐的细节。
总结
在AI对领域知识追求的探索中,我们从大型语言模型(LLM)的挑战到检索增强生成(RAG)和向量数据库提供的创新解决方案经历了复杂的路径。这一旅程将我们带到了一种新的RAG方法,即知识向量图谱。通过将向量搜索与图遍历无缝集成,我们正处于释放AI全面潜力以理解、连接和利用广阔知识领域的前沿。AI的未来不仅仅是信息的处理,而是将其编织成一幅相互连接的理解图谱,可以改变企业运营和决策的方式。知识向量图谱是我们朝着这个未来迈出的一步。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。