什麼是向量嵌入和向量資料庫?
為什麼 Rememberizer 不僅僅是一個資料庫或關鍵字搜尋引擎。
Last updated
為什麼 Rememberizer 不僅僅是一個資料庫或關鍵字搜尋引擎。
Last updated
Rememberizer 使用向量嵌入在向量資料庫中啟用對用戶知識來源的語義相似性搜索。這是一種比單純通過搜索引擎或資料庫尋找內容中的關鍵字更為先進和細緻的信息檢索形式。
在其最先進的形式中(如 Rememberizer 所使用的),向量嵌入是由具有類似於支撐 OpenAI 的 gpt 模型和 ChatGPT 服務的 AI LLMs(大型語言模型)架構的語言模型創建的,以及來自 Google(Gemini)、Anthropic(Claude)、Facebook(LLama 2)等的模型/服務。因此,使用向量嵌入來發現相關知識以納入 AI 模型提示的上下文是自然的。這些技術是互補的,並且在某種程度上是等價的。因此,大多數作為服務提供 LLM 的供應商也會提供作為服務的向量嵌入(例如:來自 Together AI 的博客 或 來自 OpenAI 的另一篇博客)。
向量嵌入看起來像什麼?考慮在二維中的一個坐標 (x,y)。如果它表示從原點到這一點的線,我們可以將其視為一條具有方向的線,換句話說,是一個 二維向量。在我們的上下文中,向量嵌入將是一個類似於 768 個數字的列表,表示在 768 維空間中的一個向量。最終,這個數字列表可以表示在 Transformer 模型中介於零和一之間的權重,這些權重定義了短語的意義,例如「一陣突如其來的閃電」。這在根本上是 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。」(參考),該論文介紹了 GPT 模型及其後續的所有 LLM 背後的 Transformer 架構,這些模型來自 OpenAI、Google、Meta(Facebook)、Nvidia、Microsoft、IBM、Anthropic、Mistral、Salesforce、xAI(Elon Musk)、Stability AI、Cohere 和許多其他開源項目。 還要考慮「近似最近鄰:朝著消除維度詛咒的方向」(參考 1998,參考 2010)。這些論文討論了高維空間中近似最近鄰(ANN)搜索的理論,這是向量資料庫中高效檢索相似項目的核心概念。
這些基於 Transformer 的模型的一個令人興奮的地方是,它們使用的數據越多,模型越大(參數越多),理解和能力就越好。OpenAI 首次注意到這一點,當他們訓練他們的 GPT-2 模型時。意識到這一潛力後,他們立即停止了作為開源導向的非營利組織,轉而成為專注於生產 GPT-3、GPT-4 及其著名前端 ChatGPT 的閉源營利公司。有趣的是,Google 擁有這項技術的專利——他們的研究人員是 Transformers 和 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」中介紹(參考)。BERT(來自 Transformers 的雙向編碼器表示)標誌著向預訓練模型的重大轉變,這些模型可以針對各種 NLP 任務進行微調。其創新的雙向訓練和 Transformer 架構的使用為眾多基準的模型性能設立了新標準。 早期創新的向量嵌入創建方法由 GloVe(2014,斯坦福)和 Word2Vec(2013,Google)引入。「GloVe: Global Vectors for Word Representation」(參考):GloVe(全局向量)論文提出了一種新的全局對數雙線性回歸模型,用於無監督學習單詞表示,結合了兩種主要嵌入方法的優勢:全局矩陣分解和局部上下文窗口方法。「Efficient Estimation of Word Representations in Vector Space」(參考):這篇論文介紹了 Word2Vec,一種開創性的生成單詞嵌入的方法。Word2Vec 模型,包括連續詞袋(CBOW)和 Skip-Gram 模型,對單詞嵌入的演變至關重要。