什麼是向量嵌入和向量數據庫?

為什麼 Rememberizer 不僅僅是一個資料庫或關鍵字搜尋引擎。

Rememberizer 利用向量數據庫中的向量嵌入來啟用對用戶知識源中的語義相似性進行搜索。這種方式比通過搜索引擎或數據庫簡單查找內容中的關鍵字進行信息檢索的方式更為先進和微妙。

一個多維空間

在最高級的形式(如 Rememberizer 所用)中,向量嵌入是由語言模型創建的,其結構類似於支撐 OpenAI 的 gpt 模型和 ChatGPT 服務以及來自 Google(Gemini),Anthropic(Claude),Facebook(LLama 2)和其他公司的模型/服務的 AI LLM(大型語言模型)。為此,使用向量嵌入來發現要包含在 AI 模型提示的上下文中的相關知識是很自然的。這些技術是相互補充和在某種程度上等效的。因此,大多數提供 LLM 作為服務的供應商也會提供向量嵌入作為服務(例如:來自 Together AI 的博客來自 OpenAI 的其他博客)。

向量嵌入看起來像什麼?考慮在兩個維度中的一個坐標(x,y)。如果它表示從原點到這個點的一條線,我們可以將它視為一條帶有方向的線,換句話說,是一個 兩維向量。在我們的語境中,向量嵌入將是一個如 768 個數字的列表,代表了一個 768 維空間中的向量。最終,這個數字列表可以代表在變壓器模型中定義了 "A bolt of lightening out of the blue." 這樣的短語中的含義的從零到一的權重。這基本上與 GPT-4 中用於表示意義的底層表示法是一樣的。因此,我們可以期望一個好的向量嵌入能夠實現我們在現代 AI 語言模型中看到的同樣出色的理解能力。

值得注意的是,向量嵌入不僅可以用來表示文本,還可以用來表示如圖像或聲音等其他類型的數據。並且,有了一個妥善訓練的模型,可以跨媒體進行比較,以便可以將文本塊上的向量嵌入與圖像進行比較,或者 反之亦然。如今,Rememberizer 只能在用戶文檔和知識的文本部分內進行搜索。但是,文本到圖像和圖像到文本的搜索是在路線圖上的。 Google 使用向量嵌入為其文本搜索(文本到文本)和圖像搜索(文本到圖像)提供動力(參考)。 Facebook 已經考慮過使用嵌入來進行他們的社交網絡搜索(參考)。Snapchat 使用向量嵌入來理解上下文,以便在正確的時機為正確的用戶提供正確的廣告(參考)。

要深入理解向量嵌入和向量數據庫的工作原理,請從 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 模型和所有 OpenAI,Google,Meta(Facebook),Nvidia,Microsoft,IBM,Anthropic,Mistral,Salesforce,xAI(Elon Musk),Stability AI,Cohere 以及許多其他開源後續的 LLM 的 Transformer 架構。 還要考慮 "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (reference 1998, reference 2010)。這些論文討論了高維度空間中進行近似最近鄰(ANN)搜索的理論,這是向量數據庫中有效檢索相似項目的核心概念。

這些基於 Transformer 的模型的一個激動人心的特點是它們所使用的數據越多,變得越大(參數更多),它們的理解力和能力就越強。OpenAI 首次注意到這一點是他們訓練他們的 GPT-2 模型時。意識到這個潛力,他們馬上就不再做開源導向的非營利組織,而是成為一個專注於生產 GPT-3,GPT-4 和它的著名前端 ChatGPT 的閉源營利公司。有趣的是,Google 擁有這種技術的專利 ——是他們的研究員在 Transformant 和 Attention Is All You Need 的背後(參考)。 ChatGPT 對我如何描述它有些不同意,寫道 "對OpenAI從開源導向的非營利組織轉變為閉源的營利實體的轉變的敘述過於簡化了複雜的演變。OpenAI的轉變包括著重於安全性和負責任的AI開發以及商業化方面。同時值得注意的是,儘管OpenAI已經將開發專有技術如GPT-3及其後續版本作為優先事項,但它仍然通過出版物和合作與研究社區保持聯繫。"

BERT語言模型是基於 Transformers 的,並且經常用於高級向量嵌入引擎。這是在2018年的論文 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (reference) 中引入的。BERT (Bidirectional Encoder Representations from Transformers)標誌了一種重要的轉變,朝向可以被微調以適應各種 NLP 任務的預訓練模型。其創新使用的雙向訓練和變壓器結構在許多標準上設立了新的模型性能。 早期為創建向量嵌入引入的創新方法包括 GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe: Global Vectors for Word Representation" (reference): GloVe(全球向量)論文提出了一種新的全局對數雙線性回歸模型,用於對詞表示的無監督學習,結合了兩種主要的嵌入方法:全局矩陣分解和本地上下文窗口方法的優點。 "Efficient Estimation of Word Representations in Vector Space" (reference): 這篇論文介紹了 Word2Vec,一種生成詞嵌入的開創性方法。 Word2Vec 模型,包括 Continuous Bag of Words (CBOW) 和 Skip-Gram 模型,在詞嵌入的演進中起著至關重要的作用。

Last updated