什麼是向量嵌入和向量數據庫?
為什麼 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 庫的論文和代碼。Johnson、Douze 和 Jégou(2017)的「FAISS:高效相似性搜索和密集向量聚類的庫」:FAISS 提供了一個針對高效相似性搜索和密集向量聚類而設計的庫的全面概述。它討論了在大規模向量數據庫中優化索引和搜索過程的方法,包括基於產品量化的方法。了解更多的最佳地方是文檔以及 Github 上的代碼。
一定要考慮 2017 年 6 月的論文,這篇論文啟動了 genAI(生成式人工智能)革命,「注意力是你所需要的一切。」 (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:深度雙向 Transformers 的預訓練以進行語言理解」中介紹 (reference)。BERT(來自 Transformers 的雙向編碼器表示)標誌著向預訓練模型的重大轉變,這些模型可以針對廣泛的 NLP 任務進行微調。它創新的雙向訓練和 Transformer 架構的使用為許多基準的模型性能設立了新標準。 早期創新的向量嵌入創建方法由 GloVe(2014,斯坦福)和 Word2Vec(2013,谷歌)提出。「GloVe:詞表示的全局向量」 (reference):GloVe(全局向量)論文提出了一種新的全局對數雙線性回歸模型,用於無監督學習詞表示,結合了嵌入的兩種主要方法的優勢:全局矩陣分解和局部上下文窗口方法。「在向量空間中高效估計詞表示」 (reference):這篇論文介紹了 Word2Vec,這是一種開創性的生成詞嵌入的方法。Word2Vec 模型,包括連續詞袋(CBOW)和 Skip-Gram 模型,對詞嵌入的演變至關重要。