从向量搜索到成功

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

在 2022 年之前,如果你想快速回忆起你最喜欢的书中的特定段落或你刚刚看过的电影中的台词,你可能会转向搜索引擎。你会用精心编写的搜索词提示它,浏览返回的结果,访问包含你所需内容的 SparkNotes 或 IMDB 链接,并在页面上找到你要找的文字,这可能需要几分钟的时间。现在,你只需打开 ChatGPT,键入"Terminator 中最著名的台词是什么?"或"写出《双城记》的开篇段落",就能立即得到逐字的答案。

大型语言模型 (LLM) 最简单的用途之一就是作为知识数据库。LLM 已经被训练在广泛的数据集上,这使得 ChatGPT 等接口可以很容易地提取这些信息。当你让 ChatGPT 返回电影或书籍的内容时,你实际上是利用该模型在训练过程中接触到的信息。但是,如果它没有被训练过 Terminator 剧本,或者它的权重没有给予 Dickens 作品以重要性,那会怎样呢? 为了即使在最简单的用例(如基本信息检索)中也能提供最准确和相关的结果,LLM 需要有复杂的索引和检索机制,可以精确地访问广泛的信息。

了解 LLM 内容生成和训练

LLM 内容是通过一个被称为"下一个标记预测"的过程生成的,这确保了响应在上下文中是恰当的、多样的,并且在某种程度上反映了人类般的理解。下面是下一个标记预测的工作原理,分步介绍:

  1. 输入处理:当你键入提示或问题时,该输入被转换为标记:单词或单词片段。

  2. 上下文理解:模型查看你提供的标记,并根据它的训练,试图理解上下文,包括话题以及你可能使用的语气。

  3. 下一个标记预测:利用它所理解的上下文,模型然后预测最可能的下一个标记。它不仅根据紧接在前一个词之后的词进行猜测,而是考虑到对话中截至那一刻的整个上下文。

  4. 标记选择:一旦它预测了一系列可能的下一个标记,它就会选择其中一个。这种选择是基于概率的——根据模型接受过训练的数据,哪个标记最有可能出现在下一个位置。不过,这里也有一些随机性,有助于生成更多样和更自然的响应。

  5. 输出生成:所选的标记然后被转换回人类可读的文本。如果响应还不完整(这通常发生在只有一个标记之后),这个过程会重复。新的标记被添加到序列中,模型根据更新后的上下文预测下一个标记。

  6. 迭代优化:这个预测下一个标记并将其添加到序列中的过程会重复,直到模型达到停止点。这可能是响应达到某个长度、模型预测一个表示句子或段落结束的标记,或者当它满足嵌入在提示中的指令时。

LLM 训练中压缩的局限性

当 LLM 预测一个标记时,它实际上是从其权重中提取和利用被压缩的知识来产生上下文相关的输出。这种方式,LLM 训练类似于数据库压缩。就像数据库被优化以快速检索频繁访问的数据一样,LLM 也被设计为从其权重中快速检索信息 - 特定的插值记忆。这种能力使它能够对它在训练过程中遇到的熟悉材料的具体查询给出精确的响应,就像查询数据库中索引良好的信息一样。然而,当模型遇到不太熟悉或不太常见的内容时,就会出现局限性。例如,当你要求 LLM 引用《圣经》中的特定段落时,它会逐字逐句地引用它们,但它无法逐字逐句地引用它在训练期间没有大量"见证"过的任何概念,因为与该概念相关的权重太微小了。在这个意义上,LLM 也类似于数据库。就像数据库可能只会返回已明确存储在其中的数据一样,LLM 也可能会在生成内容时遇到困难,因为它没有在训练期间广泛接触过。

当然,LLM 已经超越了这种比喻的范围,因为它们在内部有一个世界模型,允许它们"理解"一些纯粹超越查找的事物。然而,这种简化有助于我们理解 LLM 在被训练来生成内容的方式中存在的一些关键局限性。

LLM 训练的进一步局限性

此外,下一个标记预测系统还有其他固有的局限性,源于其生成文本的基本方法:

  1. 上下文窗口大小:一个主要的约束是模型的上下文窗口大小 - 模型在做预测时可以考虑的最大文本量(以标记为单位)。对于许多模型(包括早期版本的 GPT),这个窗口大小不足以在长对话或文档中保持上下文,这可能导致较长文本或需要维持超出紧邻标记上下文的复杂讨论中的连贯性损失。

  2. 概括性vs.特定性:尽管这些模型经过了大量数据集的训练,但它们从这些训练中推广的能力有时可能会导致它们产生泛泛的或只有模糊相关性的内容。它们可能会错过生成高度具体或需要详细理解或训练数据之外的最新知识的细微回应。

  3. 缺乏外部知识访问:下一个标记预测模型仅限于其训练数据集包含的信息。它们无法访问或整合训练后的新信息,这意味着它们可能会很快过时或缺乏当前背景,如最新事件、发现或热门话题。

  4. 重复性和可预测性:下一个标记预测的算法性质有时会导致重复或可预测的文本生成。由于模型

RAG的挑战和必要演化

RAG 本身也面临着一些挑战,特别是延迟和缺乏智能。想象一个基于回合的聊天机器人对话,用户输入一个提示,LLM 输出几个标记表示需要更多上下文,向量搜索数据库通过用户的输入提示检索最近邻上下文,然后再次发送给 LLM 进行推理。然后轮到用户回复,如此循环。

在这个系统中,每个用户提示都会触发一个多步操作,每一步都会增加总处理时间。整个过程的速度也取决于向量搜索数据库能够多快地检索必要的上下文。如果数据库查询复杂或数据库本身很大且索引不够优化,这种检索可能会导致显著的延迟。此外,特别是在更复杂的对话中,这种生成和检索的序列可能需要多次重复来充分完善响应。这种迭代循环可能会累积延迟,导致比依赖内部数据的纯生成模型更慢的交互。

此外,RAG增强版 LLM 的智能程度在很大程度上取决于从向量搜索数据库检索到的信息的质量和相关性。如果数据库内容不全面、过时或维护不善,检索到的信息的效用可能会受限,从而影响响应的整体智能。

即使检索到高质量的外部数据,如何有效地将这些信息整合到 LLM 现有的响应框架中依然是一个挑战。模型不仅必须吸收这些外部数据,还必须以上下文恰当和连贯的方式来做到这一点。模型训练与外部数据性质之间的不匹配可能会导致响应在技术上准确但上下文断裂。

下一代 LLMs

下一代 LLMs 很可能将基于向量搜索的 RAG 和传统的训练/微调方法结合起来,同时加入结构化数据处理(如 TradFi 市场数据及相关金融新闻的 SQL 数据库)。"LLM 提供商在这里,独立的向量搜索数据库在那里"的概念,将通过新模型进行整合,这些模型能够直观地将索引的工作内存扩展到存储有数TB矢量化上下文的本地 SSD。

Space and Time 已经交付了 Proof of SQL - 一种 ZK 证明,验证 SQL 数据库处理的准确性和防篡改性 - 给客户,最近还交付了 Proof of Vector Search,对向量搜索检索做了同样的事情。这些新颖的证明为未来铺平了道路,LLMs 可以集成最新上下文,实时访问更广泛和更细微的数据,并集成结构化数据处理以产生更有见地的分析,所有这些都以可追踪、可验证的方式进行。这些进步最终将扩大 LLMs 的应用范围,提高它们在依赖最新数据的领域(如金融服务、新闻聚合和风险评估)的效用,从而推动 AI 驱动创新的下一波浪潮。