# 矢量搜索成功

By [64568.eth](https://paragraph.com/@64568) · 2024-05-22

---

![](https://storage.googleapis.com/papyrus_images/9c94dce3efcee6c3ea4a7e78ea85516be26a3010d4a2fc30c53cc264215d51af.png)

在 2022 年之前，如果你想快速回忆起你最喜欢的书中的某个特定段落或你刚看过的电影中的一句台词，而又不想让作品本身摆在你面前，你可能会求助于搜索引擎。你会用精心设计的搜索输入提示它，解析返回的结果，访问似乎包含你的答案的 SparkNotes 或 IMDB 链接，并在几分钟内在页面上找到你要查找的文本。现在，你只需打开 ChatGPT，输入“终结者最著名的台词是什么？”或“写出《双城记》的开场白”，几秒钟内就能得到你的逐字答案。

大型语言模型 (LLM) 最简单的用途之一是作为知识数据库。LLM 已在包含丰富信息的海量数据集上进行训练，而 ChatGPT 等接口让检索变得十分简单。例如，当您提示 ChatGPT 返回电影或书籍的内容时，您只是在利用模型回忆训练期间接触过的信息的能力。但如果模型没有接受《终结者》剧本的训练，或者它的权重不重视狄更斯的作品，该怎么办？为了为最简单的用例（例如基本信息检索）提供最准确、最相关的结果，LLM 需要复杂的索引和检索机制，以便精确访问广泛的信息。

### **了解 LLM 内容生成和培训**

\*LLM 内容是通过称为“下一个令牌预测”\*的过程生成的，该过程可确保响应上下文适当、多样化，并且在一定程度上反映了类似人类的理解。以下是下一个令牌预测的工作原理，一步一步：

1.  \*\*输入处理：\*\*当您键入提示或问题时，该输入将转换为标记：单词或单词片段。
    
2.  \*\*上下文理解：\*\*模型会查看您给它的标记，并根据其训练尝试理解上下文，其中包括从当前主题到您可能使用的语气的所有内容。
    
3.  \*\*下一个标记预测：\*\*使用它所理解的上下文，模型然后预测最有可能的下一个标记是什么。这不仅仅是根据前一个单词进行猜测；而是根据前一个单词进行猜测。它正在考虑到目前为止对话的整个背景。
    
4.  \*\*令牌选择：\*\*一旦预测了一系列可能的下一个令牌，它就会选择一个。这种选择基于概率——根据模型训练数据，最有可能出现的标记。然而，值得注意的是，这里也存在一些随机性，这有助于生成更加多样化和听起来更自然的响应。
    
5.  \*\*输出生成：\*\*然后将选定的标记转换回人类可读的文本。如果响应不完整（通常不是仅在一个令牌之后），则该过程会重复。新的标记被添加到序列中，模型根据更新的上下文预测下一个标记。
    
6.  \*\*迭代细化：\*\*重复预测下一个标记并将其添加到序列中的过程，直到模型到达停止点。这可能是当响应达到一定长度时，模型预测一个表示句子或段落结束的标记，或者当它满足提示中嵌入的指令时。
    

**LLM 培训中压缩的局限性**
-----------------

当 LLM 预测一个 token 时，它实际上是在检索和利用嵌入在其权重中的压缩知识来产生适合上下文的输出。通过这种方式，LLM 训练反映了数据库压缩。正如数据库经过优化以快速调用经常访问的数据一样，LLM 旨在从其权重中检索信息（特定的插值记忆）。此功能使其能够对在训练期间遇到的熟悉材料的查询产生精确的响应，就像在数据库中查询索引良好的信息一样。但是，当模型遇到不太熟悉或晦涩难懂的内容时，就会出现限制。例如，当您向 LLM 询问圣经中的特定段落时，它会逐字逐句地引用它们，但它无法逐字逐句地引用它在训练期间没有冗余“见证”的任何概念，因为与该概念相关的权重太小了。从这个意义上讲，LLM 也类似于数据库。正如数据库可能只返回明确存储在其中的数据一样，LLM 可能难以生成在训练期间未广泛看到的主题的内容。

当然，法学硕士超出了这个类比的范围，因为他们内部有一个世界模型，使他们能够“理解”纯粹不仅仅是查找之外的事物。然而，这种过度简化有助于我们理解法学硕士训练生成内容的方式的一些关键限制。

**LLM 培训的进一步限制**
----------------

此外，下一个令牌预测系统还具有其他固有的局限性，这些局限性源于其生成文本的基本方法：

*   \*\*上下文窗口大小：\*\*主要约束之一是模型的上下文窗口大小 - 模型在进行预测时可以考虑的最大文本量（以标记为单位）。对于许多模型（包括早期版本的 GPT）来说，此窗口不够大，无法维护较长对话或文档的上下文，这可能会导致较长文本或复杂讨论失去连贯性，而这些文本或复杂讨论需要维护超出前一个标记的上下文。
    
*   \*\*泛化与特异性：\*\*虽然这些模型是在大量数据集上进行训练的，但它们从训练中泛化的能力有时会导致它们产生通用或模糊相关的内容。他们可能无法生成高度具体或细致入微的响应，这些响应需要详细的理解或训练数据之外的最新知识。
    
*   \*\*缺乏外部知识访问：\*\*下一个令牌预测模型仅限于其训练数据集中包含的信息。他们无法在培训后访问或整合新信息，这意味着它们可能很快就会过时或缺乏当前背景，例如最近的事件、发现或热门话题。
    
*   \*\*重复性和可预测性：\*\*下一个标记预测的算法性质有时会导致重复或可预测的文本生成。由于该模型通常倾向于在给定上下文的情况下在统计上更有可能遵循的标记，因此它可能会陷入循环或更喜欢常见短语，从而减少输出的可变性。
    

### **检索增强生成 (RAG) 详解**

如上所述，法学硕士根据训练期间分配给数据不同方面的权重生成响应。这些权重反映了模型感知输入数据的各种元素的重要性或重要性。如果用户的提示包含训练数据中未显着表示的元素，则模型可能无法生成准确或相关的响应。

当对话超出 LLM 的上下文窗口时，或者当提示超出 LLM 自己的训练数据集中的重要权重限制时（意味着它无法准确回忆起用户正在寻找的答案），该模型通常依赖于外部矢量搜索数据库，这使得它能够搜索可以附加到用户提示中的相关上下文或新数据。此过程称为检索增强生成 (RAG)。

#### **“矢量搜索成功”**

RAG 流程通过向量搜索数据库实现：这是一种将数据存储和管理为向量的高级数据库。这些向量表示高维空间中的数据，其中每个维度捕获数据含义的某些方面，从而可以表示复杂的关系和属性。在文本和语言环境中，向量搜索数据库使用嵌入等技术将文本转换为数字向量。通过这种转换，系统可以通过计算此多维空间中相应向量之间的距离来测量不同文本之间的语义相似性。

在 RAG 期间，查询（即用户对 LLM 的输入）和存储的数据（例如文章、文档或句子）都使用文本嵌入转换为向量。这些嵌入将文本数据转换为数值向量，其中相似的含义被映射到向量空间中的近似点。然后，数据库计算查询向量与存储数据的向量之间的距离，以确定文本含义的相关程度。数据库检索向量最接近查询向量的数据点（文本内容），即语义上与输入最相似的数据点。这些数据点在上下文和含义方面被视为“最近邻居”。

这些最近的邻居提供了基础法学硕士在其自己的训练数据中可能无法访问的上下文相关的附加信息，这可以显着提高法学硕士输出的准确性、相关性、丰富性和多样性。 Sam Altman 等人提倡“向量搜索成功”方法，即依靠 RAG 来开发代理，而不是单独进行模型微调。

#### **RAG 作为微调的替代方案**

微调法学硕士涉及根据特定数据集的额外训练来调整模型的权重，以提高特定任务的性能或增进对某些领域的理解。这个过程不仅慢于创新的速度，这意味着经过微调的模型几乎和更新一样快地过时，而且它也没有解决新数据的问题。

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

RAG 有效地弥合了深度学习和传统信息检索技术之间的差距。通过这样做，它充分利用了深度学习强大的上下文理解和信息检索的精确性的优势。这种混合方法使法学硕士能够做出更准确、更详细、上下文更丰富的回答。

#### **解决法学硕士的进一步限制**

除了微调之外，RAG 还解决了之前提到的与标准法学硕士相关的挑战：

*   **扩展上下文理解：** RAG 通过获取增强模型响应的最新或详细信息来扩展传统法学硕士的上下文窗口。
    
*   **提高特异性和准确性：** RAG 允许模型将检索到的文档中的特定详细信息注入到其响应中，而不是仅仅依赖于训练期间学习的模式，从而使它们不仅更加准确，而且可以针对当前的特定查询进行定制。
    
*   \*\*降低重复性和可预测性：\*\*通过动态提取每个查询的不同信息集，RAG 可以显著改变模型的响应。这种可变性有助于降低纯生成模型中经常出现的重复性和可预测性，因为外部数据会将新的措辞和细节引入对话中。
    

#### **RAG 面临的挑战和必要的演进**

然而，RAG 也有其自身的挑战，即延迟和缺乏智能。考虑一个基于回合的代理聊天机器人对话，其中用户提交提示，LLM 吐出一些标记表明它需要更多上下文，矢量搜索数据库通过用户的输入提示检索最近邻居上下文，然后最终发送两者再次向LLM进行推理。然后，轮到用户回复，等等。

在此系统中，每个用户提示都会启动一个多步骤操作，其中每个步骤都会增加总处理时间。整个过程的速度还取决于矢量搜索数据库检索必要上下文的速度。如果数据库查询很复杂或者数据库本身很大并且没有最佳索引，则此检索可能会导致严重的延迟。此外，特别是在更复杂的对话中，这种生成和检索的顺序可能需要重复多次才能充分细化响应。这种迭代循环会增加延迟，导致交互速度比仅依赖内部数据的纯生成模型慢。

此外，富含 RAG 的法学硕士的智力在很大程度上取决于从矢量搜索数据库检索到的信息的质量和相关性。如果数据库内容不全面、不最新或维护良好，则检索到的信息的效用可能会受到限制，从而影响响应的整体智能。

即使检索到高质量的外部数据，挑战仍然在于如何有效地将这些信息整合到法学硕士现有的响应框架中。该模型不仅必须包含这些外部数据，而且必须以适合上下文和连贯的方式进行。模型的训练与外部数据的性质之间的不一致可能会导致技术上准确但上下文脱节的响应。

### **下一代法学硕士**

下一代法学硕士可能会将基于矢量搜索的 RAG 和传统的培训/微调方法以及结构化数据处理（例如 TradFi 市场数据和相关金融新闻的 SQL 数据库）混合在一起。 “这里”有一个法学硕士提供商，“那里”有一个单独的向量搜索数据库的概念将通过新模型进行整理，该模型直观地将其索引工作内存扩展到具有 TB 向量化上下文的本地 SSD。

Space and Time 已经向客户提供了 Proof of SQL（一种 ZK 证明，用于验证 SQL 数据库处理的准确性和防篡改性），并且最近还提供了 Proof of Vector Search（矢量搜索检索），它对矢量搜索检索具有相同的作用。这些新颖的证明为未来开辟了道路，法学硕士可以集成新的背景，实时访问更广泛、更细致的数据范围，并集成结构化数据处理以产生更有洞察力的分析，所有这些都以可追踪、可验证的方式进行。这些进步最终将扩大法学硕士的应用范围，扩大其在金融服务、新闻聚合和风险评估等严重依赖最新数据的领域的效用，从而推动下一波人工智能浪潮——驱动创新。

---

*Originally published on [64568.eth](https://paragraph.com/@64568/zt1ABTPZROPjCQU8VO1N)*
