什么是向量嵌入和向量数据库?
为什么 Rememberizer 不仅仅是一个数据库或关键字搜索引擎。
Last updated
为什么 Rememberizer 不仅仅是一个数据库或关键字搜索引擎。
Last updated
Rememberizer 使用向量嵌入在向量数据库中实现对用户知识源的语义相似性搜索。这是一种比通过搜索引擎或数据库简单地查找内容中的关键字更为先进和细致的信息检索形式。
在其最先进的形式中(如 Rememberizer 使用的那样),向量嵌入是由具有类似于支持 OpenAI 的 gpt 模型和 ChatGPT 服务的 AI LLM(大型语言模型)架构的语言模型创建的,以及来自 Google(Gemini)、Anthropic(Claude)、Facebook(LLama 2)等的模型/服务。因此,使用向量嵌入来发现相关知识以纳入 AI 模型提示的上下文是自然的。这些技术是互补的,某种程度上是等价的。因此,大多数作为服务提供 LLM 的供应商也会提供向量嵌入作为服务(例如:来自 Together AI 的博客 或 来自 OpenAI 的另一篇博客)。
向量嵌入是什么样的?考虑二维中的一个坐标 (x,y)。如果它表示从原点到该点的线,我们可以将其视为一个具有方向的线,换句话说,是一个 二维向量。在我们的上下文中,向量嵌入将是一个类似于 768 个数字的列表,表示在 768 维空间中的一个向量。最终,这个数字列表可以表示在 Transformer 模型中定义短语“突如其来的闪电”的意义的权重,范围在零到一之间。这在根本上是 GPT-4 中使用的相同基础意义表示。因此,我们可以期待一个好的向量嵌入能够实现我们在现代 AI 语言模型中看到的同样出色的表面理解。
值得注意的是,向量嵌入不仅可以用于表示文本,还可以用于表示其他类型的数据,如图像或声音。通过适当训练的模型,可以跨媒体进行比较,因此文本块上的向量嵌入可以与图像进行比较,或 反之亦然。今天,Rememberizer 仅支持在用户文档和知识的文本组件中进行搜索。但文本到图像和图像到文本的搜索在规划中。 Google 使用向量嵌入来驱动他们的文本搜索(文本到文本)以及他们的图像搜索(文本到图像) (reference)。Facebook 考虑在其社交网络搜索中使用嵌入 (reference)。Snapchat 使用向量嵌入来理解上下文,以便在正确的时间向正确的用户提供合适的广告 (reference)。
要深入了解向量嵌入和向量数据库的工作原理,可以从 Hugging Face 的 概述 开始。Pinecone(作为服务的向量嵌入数据库)也有一个很好的 概述。
另一个理解向量中的搜索和知识的优秀来源是 Meta/Facebook 关于 FAISS 库的论文和代码。“FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors” 由 Johnson、Douze 和 Jégou(2017)撰写:FAISS 提供了一个全面的概述,介绍了一个旨在高效相似性搜索和密集向量聚类的库。它讨论了在大规模向量数据库中优化索引和搜索过程的方法,包括基于产品量化的方法。了解更多的最佳地方是文档以及 Github 上的代码。
一定要考虑 2017 年 6 月的论文,这篇论文开启了 genAI(生成性人工智能)革命,“Attention Is All You Need。” (reference),它介绍了 GPT 模型及其后续的所有 LLM 背后的 Transformer 架构,包括 OpenAI、Google、Meta(Facebook)、Nvidia、Microsoft、IBM、Anthropic、Mistral、Salesforce、xAI(Elon Musk)、Stability AI、Cohere 和许多其他开源项目。 还要考虑,“近似最近邻:消除维度诅咒的方向” (reference 1998, reference 2010)。这些论文讨论了高维空间中近似最近邻(ANN)搜索的理论,这是向量数据库中高效检索相似项目的核心概念。
关于这些基于 Transformer 的模型的一件令人兴奋的事情是,它们使用的数据越多,模型越大(参数越多),它们的理解和能力就越好。OpenAI 首次注意到这一点是在他们训练 GPT-2 模型时。意识到这一潜力后,他们立即停止了作为一个以开源为导向的非营利组织,并成为一个专注于生产 GPT-3、GPT-4 及其著名前端 ChatGPT 的闭源营利公司。有趣的是,Google 拥有这项技术的专利——他们的研究人员是 Transformers 和 Attention Is All You Need 的背后 (reference)。 ChatGPT 对我的描述略有不同,写道:“关于 OpenAI 从一个以开源为导向的非营利组织转变为一个闭源营利实体的叙述简化了一个复杂的演变。OpenAI 的转变包括在商业化方面的同时,关注安全和负责任的 AI 开发。值得注意的是,虽然 OpenAI 优先开发像 GPT-3 及更高版本的专有技术,但它仍然通过出版物和合作与研究社区保持互动。”
BERT 语言模型基于 Transformers,通常用于高级向量嵌入引擎。这在 2018 年的论文“BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” (reference) 中介绍。BERT(来自 Transformers 的双向编码器表示)标志着向预训练模型的重大转变,这些模型可以针对广泛的 NLP 任务进行微调。其创新性地使用双向训练和 Transformer 架构为众多基准测试中的模型性能设定了新标准。 早期创建向量嵌入的创新方法由 GloVe(2014,斯坦福)和 Word2Vec(2013,谷歌)提出。“GloVe: Global Vectors for Word Representation” (reference):GloVe(全局向量)论文提出了一种新的全局对数双线性回归模型,用于无监督学习单词表示,结合了嵌入的两种主要方法的优点:全局矩阵分解和局部上下文窗口方法。“Efficient Estimation of Word Representations in Vector Space” (reference):这篇论文介绍了 Word2Vec,这是一种生成单词嵌入的开创性方法。Word2Vec 模型,包括连续词袋(CBOW)和 Skip-Gram 模型,在单词嵌入的发展中具有重要意义。