原文链接:

https://www.spaceandtime.io/blog/vector-search-to-success

译文:

向量搜索的成功之道

---探索RAG在开发复杂LLM中的作用

作者:

Scott Dykstra Co-Founder & CTO

在2022年之前,如果你想快速回忆起你最喜欢的书中的某一段文字或刚看过的电影中的一句台词,而手边没有作品本身,你可能会求助于搜索引擎。你会输入一个精心设计的搜索请求,浏览返回的结果,访问看似包含答案的SparkNotes或IMDB链接,并在几分钟内找到你要的文字。现在,你只需打开ChatGPT,输入“《终结者》最著名的台词是什么?”或者“写出《双城记》的开篇段落”,即可在几秒钟内得到准确的答案。

大型语言模型(LLM)最简单的用途之一是作为知识数据库。LLMs经过大量丰富数据集的训练,像ChatGPT这样的界面使得检索变得非常简单。例如,当你提示ChatGPT返回一部电影或书中的内容时,你实际上是在利用模型的能力来回忆它在训练过程中接触到的信息。但如果它没有被训练过《终结者》的剧本,或者它的权重未赋予狄更斯作品足够的重视呢?为了在最简单的使用场景中(如基本信息检索)提供最准确和最相关的结果,LLMs需要复杂的索引和检索机制,能够精确地访问广泛的信息。

理解LLM内容生成和训练 LLM的内容生成通过一种称为“下一个令牌预测”(next token prediction)的过程进行,确保响应在上下文上是适当的、多样化的,并且在某种程度上反映了人类的理解。以下是下一个令牌预测的工作步骤:

输入处理:当你输入一个提示或问题时,该输入会被转换成令牌:词语或词的一部分。 上下文理解:模型会根据它的训练,查看你提供的令牌,并尝试理解上下文,包括话题和语气等。 下一个令牌预测:基于它所理解的上下文,模型预测最可能的下一个令牌。这不仅仅是基于前一个词的猜测,而是考虑到整个对话的上下文。 令牌选择:一旦它预测出一系列可能的下一个令牌,它会选择一个。这一选择基于概率——即根据模型训练数据,最有可能出现的下一个令牌。不过,这里也有一定的随机性,有助于生成更自然和多样的响应。 输出生成:选定的令牌会被转换回人类可读的文本。如果响应尚未完成(通常不会只在一个令牌后就完成),过程会重复。新令牌会被添加到序列中,模型会基于更新的上下文预测下一个令牌。 迭代完善:这个预测下一个令牌并添加到序列中的过程会重复,直到模型达到一个停止点。这可能是当响应达到一定长度时,模型预测出一个表示句子或段落结束的令牌,或完成了提示中嵌入的指令。 LLM训练中的压缩限制 当LLM预测一个令牌时,它实际上是检索并利用其权重中嵌入的压缩知识,以生成上下文适当的输出。从这个意义上讲,LLM的训练类似于数据库压缩。就像数据库被优化以快速回忆经常访问的数据一样,LLM被设计用来检索信息——特定的插值记忆——从其权重中。这一能力使其能够对其训练中熟悉的材料做出精确响应,就像查询一个被良好索引的信息数据库一样。然而,当模型遇到较不熟悉或冷门的内容时,就会出现限制。例如,当你让LLM引用《圣经》中的具体段落时,它能逐字引用,但它不能逐字引用它在训练中未曾多次“见过”的概念,因为与该概念相关的权重过于微小。从这个角度来看,LLM类似于数据库。就像数据库可能只返回显式存储的数据一样,LLM在生成其未广泛见过的主题内容时可能会遇到困难。

当然,LLM超越了这个类比,因为它们有一个内部的世界模型,能够“理解”超越简单查询的东西。然而,这种过度简化有助于我们理解LLM在生成内容时训练方式的一些关键限制。

LLM训练的进一步限制 此外,下一个令牌预测系统还有其他固有的限制,源于其生成文本的基本方法:

上下文窗口大小:主要约束之一是模型的上下文窗口大小——模型在进行预测时可以考虑的最大文本量(以令牌计)。对于包括早期版本的GPT在内的许多模型,这个窗口不足以在长对话或文档中保持上下文,这可能导致长文本或需要超越紧邻前置令牌的复杂讨论中出现连贯性丧失。 泛化与具体化:虽然这些模型在庞大的数据集上进行了训练,它们从训练中泛化的能力有时会导致生成的内容泛泛而谈或模糊相关。在生成需要详细理解或超出其训练数据范围的最新知识的高度具体或细微的响应时,它们可能会失准。 外部知识访问的缺乏:下一个令牌预测模型仅限于其训练数据集中的信息。它们无法访问或整合训练后获取的新信息,这意味着它们很快会变得过时,或缺乏当前的上下文,如最新事件、发现或热门话题。 重复性和可预测性:下一个令牌预测的算法性质有时会导致重复或可预测的文本生成。由于模型常常偏爱在上下文中更可能出现的令牌,它可能会陷入循环或偏好常见短语,降低输出的多样性。 检索增强生成(RAG)解释 如前所述,LLMs基于它们在训练过程中对数据不同方面分配的权重生成响应。这些权重反映了模型对输入数据各元素的重要性或显著性的感知。如果用户的提示包含在训练数据中未被显著代表的元素,模型可能无法生成准确或相关的响应。

当对话超过LLM的上下文窗口,或当提示超过了LLM自身训练数据中的显著权重限制(意味着它无法准确回忆用户所需的答案)时,模型通常依赖外部向量搜索数据库,这使其能够搜索相关上下文或新数据,可以从用户的提示中附加。这一过程被称为检索增强生成(RAG)。

“向量搜索成功” RAG过程通过向量搜索数据库实现:这是一种高级数据库,按向量存储和管理数据。这些向量代表数据在高维空间中的位置,每一维度捕捉数据含义的某些方面,从而可以表示复杂的关系和属性。在文本和语言的背景下,向量搜索数据库使用嵌入技术将文本转换为数值向量。这种转换使系统能够通过计算其对应向量之间的距离来衡量不同文本之间的语义相似性。

在RAG过程中,查询(即用户对LLM的输入)和存储的数据(如文章、文档或句子)都通过文本嵌入转换为向量。这些嵌入将文本数据转换为数值向量,其中相似含义被映射到向量空间中的近点。数据库然后计算查询向量与存储数据向量之间的距离,以确定文本含义的相似程度。数据库检索与查询向量最近的那些数据点(文本内容),即在上下文和意义上与输入最相似的那些点。

这些最近的邻居提供了基于上下文的相关附加信息,基础LLM可能在其自身训练数据中无法访问,这显著提高了LLM输出的准确性、相关性、丰富性和多样性。包括Sam Altman在内的许多人提倡“向量搜索成功”方法——依赖RAG来开发智能体,而不仅仅是模型微调。

RAG作为微调的替代方案 微调LLM涉及根据特定数据集的额外训练调整模型的权重,以增强特定任务的性能或提高对某些领域的理解。这一过程不仅比创新的速度更慢,意味着微调后的模型几乎在更新的同时就变得过时,也不能解决新数据的问题。

相比之下,RAG使模型能够实时访问外部数据库,以检索与当前查询相关的最新信息。即使底层模型最近没有更新或微调,它仍然可以生成包含最新数据的响应。通过检索外部信息源,模型可以更长时间保持相关性,适应新数据和变化的上下文。

RAG有效地弥合了深度学习和传统信息检索技术之间的差距。通过这样做,它利用了深度学习的强大上下文理解和信息检索的精确度。这种混合方法使LLMs能够生成更准确、详细和具有上下文丰富性的响应。

解决LLM的进一步限制 除了微调之外,RAG还解决了标准LLM所面临的其他挑战:

扩展上下文理解:RAG通过获取最新或详细的信息来增强模型的响应,从而扩展了传统LLM的上下文窗口。 提高具体性和准确性:RAG不仅依赖于训练中学到的模式,还允许模型将从检索文档中提取的具体细节注入响应,使其不仅更准确,还能针对特定查询进行定制。 减少重复性和可预测性:通过动态获取每个查询的不同信息集,RAG可以显著改变模型的响应。这种变化有助于减少纯生成模型中常见的重复性和可预测性,因为外部数据为对话引入了新的表达和细节。 RAG的挑战和必要演变 然而,RAG也有其自身的挑战,即延迟和缺乏智能。想象一个回合制代理聊天机器人对话,用户提交提示,LLM生成一些令牌表示需要更多上下文,向量搜索数据库通过用户输入提示检索最近邻上下文,然后将两者再次发送给LLM进行推理。然后轮到用户回复,依此类推。

在这个系统中,每个用户提示都会启动一个多步骤操作,每个步骤都会增加总处理时间。整个过程的速度还取决于向量搜索数据库检索必要上下文的速度。如果数据库查询复杂或者数据库本身庞大且未优化索引,这种检索可能会引入显著的延迟。此外,尤其是在更复杂的对话中,这种生成和检索的序列可能需要多次重复以充分优化响应。这种迭代循环可能会加剧延迟,导致互动比单纯依赖内部数据的纯生成模型更慢。

此外,RAG增强的LLM的智能性很大程度上依赖于从向量搜索数据库检索的信息的质量和相关性。如果数据库内容不全面、不过时或未得到良好维护,检索信息的实用性可能有限,影响整体响应的智能性。

即使检索到高质量的外部数据,挑战仍在于如何有效地将这些信息整合到现有的LLM响应框架中。模型不仅需要整合这些外部数据,还需要以上下文适当和连贯的方式进行整合。模型训练与外部数据性质之间的不一致可能导致响应在技术上准确但在上下文上不协调。

下一代LLM 下一代LLM可能会将基于向量搜索的RAG与传统的训练/微调方法相结合,以及结构化数据处理(例如,TradFi市场数据和相关金融新闻的SQL数据库)。“这边有一个LLM提供者”和“那边有一个独立的向量搜索数据库”的概念将通过新的模型结合起来,这些模型直观地将其索引的工作内存扩展到具有数TB向量化上下文的本地SSD。

Space and Time已经向客户交付了Proof of SQL——一种验证SQL数据库处理准确性和防篡改性的零知识证明——最近还发布了Proof of Vector Search,它对向量搜索检索做同样的验证。这些新的证明为LLM未来整合新鲜上下文、实时访问更广泛且更细微的数据谱系、并整合结构化数据处理以产生更有洞察力的分析铺平了道路,所有这些都是可追踪、可验证的。这些进步最终将拓宽LLM的应用范围,扩展其在依赖最新数据的行业(如金融服务、新闻聚合和风险评估)中的实用性,从而推动下一波AI驱动的创新。

Mirror文章信息

Mirror原文:查看原文

作者地址:0xf9a1570b8aAF06dBa721eEcD71776ab615cdfE60

内容类型:application/json

应用名称:MirrorXYZ

内容摘要:zketv4hvQJYbLvm2yJOCsEqXDS4j3-ra29Th4gQBLYA

原始内容摘要:PD1HJ4vl0lvi2mdRCGoFX8rd3aVtXDnk9yWEXTsuuBo

区块高度:1424177

发布时间:2024-05-14 15:24:42