譯者 | 布加迪
審校 | 重樓
由于預訓練的AI模型唾手可得,向量數據庫重新煥發了生機。雖然向量數據庫概念已存在了幾十年,但直到現在,在大型語言模型(LLM)盛行的這個時代,向量數據庫才能充分發揮潛力。
向量數據庫在推薦系統、圖像相似度搜索、異常檢測、人臉檢測和自然語言處理等應用領域特別有用。那么,向量數據庫到底是什么?它是如何工作的?何時應該使用它來增強AI的能力?
向量數據庫的定義
向量數據庫是一種通過使用向量來存儲信息的方法。與將數據組織成表格列表的平常數據庫不同,向量數據庫通過高維向量組織數據。這些向量隨后可以在數學空間中表示為向量嵌入(vector embeddings)。
向量數據庫之所以很重要,是由于它們包含這些向量嵌入,并提供索引、距離度量和基于向量嵌入的相似度搜索等功能。
向量數據庫是很容易與預訓練模型集成的服務,其中許多需要API密鑰才能訪問服務。
向量嵌入的定義
簡單地說,向量嵌入(簡稱嵌入)是主題或單詞的數字表示。比如說,二維嵌入可能看起來像“2,-3”,其中2表示沿x軸的正方向上的2個單位,而-3表示沿y軸的負方向上的3個單位。三維嵌入看起來像“2,- 3,5”,其中5表示沿z軸正方向的5個單位。
擁有更多的維度可以提供更多的上下文來了解某個數據應該是什么樣。向量數據庫中所使用的維度數量就自然語言處理而言常常在100個到300個,就計算機視覺而言常常是數百個。
向量嵌入的生成需要使用向量嵌入模型和工具,比如BERT、CNN和RNN。
為什么向量嵌入很重要?
向量嵌入能夠在數學空間繪制數據位置使計算機能夠理解數據點之間的關系以及它們彼此之間的相關性有多強。通過了解每個數據點之間的關聯程度,AI模型就能夠像人類一樣結合上下文理解查詢。
如果不理解語義或上下文,AI可能會提供邏輯正確但上下文錯誤的答案。比如說,AI可能會將“He had a heavy heart as He walked away”這句話誤解為一個患有心臟病的人,而不是一個感到悲傷或沉重的人。
向量數據庫如何幫助提升AI?
向量嵌入是訓練各類AI模型的重要組成部分。擁有一個可以存儲、索引和查詢向量嵌入的專門數據庫對于最大限度地發揮使用向量嵌入的好處必不可少。此外,向量數據庫作為一種快速、可靠、可擴展的數據庫,可以不斷幫助發展和訓練AI模型,從而提升您的AI。
由于向量數據庫可以擴展AI模型的功能,企業和組織可以將向量數據庫用于各種應用,包括如下:
- 搜索引擎:有時,人們在查詢時不知道使用哪些關鍵字。向量數據庫可以通過分析上下文,并檢索與查詢相關性最強的最接近的關鍵字,幫助系統理解您的查詢。
- 推薦系統:鑒于向量數據庫在存儲和檢索數據方面非常有效,并結合大型語言模型和記憶力,AI系統可能會逐漸了解人們的喜好。然后,應用程序可以自動查詢這些信息,推薦某人可能感興趣的各種產品。
- 圖像和視頻分析:就視頻和圖像嵌入模型而言,AI模型可進行微調,以便輔以圖像,查找與查詢相似的內容。目前,許多在線購物應用程序和網站都在實施這一功能。
- 異常檢測:通過將動作記錄為嵌入,AI模型可以基于常態來檢測異常和某些異常值,從而提高安全性。AI異常檢測現在是一種用于欺詐檢測、系統監控和網絡入侵的流行工具。
向量數據庫的工作原理
從生成向量嵌入到從向量數據庫查詢數據,您的數據經歷了三個步驟:
1. 向量嵌入的創建:基于數據類型,向量嵌入模型用來生成有待索引的向量嵌入。這些嵌入模型將文字、圖像、視頻和音頻轉換成數字/嵌入。
2. 索引:一旦向量嵌入已生成,它們現在可以存儲在Pinecone、Milvus和Chroma之類的向量數據庫上。這些向量數據庫使用各種算法,比如產品量化(PQ)和位置敏感散列(LSH),對每個嵌入進行索引,以便快速有效地存儲和檢索數據。
3. 查詢:當應用程序發出查詢時,該查詢必須先經過用于生成存儲在向量數據庫上的數據的同一個向量嵌入模型。生成的向量查詢隨后被放到向量數據庫上,然后檢索最接近的向量作為最合適的查詢結果。
流行的向量數據庫
隨著公開可用的預訓練模型呈爆炸式增長,向量數據庫隨著這些模型的功能增加和微調速度而迅速流行起來。由于用戶對向量數據庫的需求很大,許多公司已經開發了自己的向量數據庫服務,下面是一些最受歡迎的向量數據庫:
- Pinecone:一種為快速相似度搜索而設計的云原生向量數據庫。它具有高可擴展性、分析能力和實時洞察力,非常適合推薦系統和圖像搜索。
- Milvus:一種著眼于相似度搜索和AI應用的開源向量平臺。它為高維向量提供了快速有效的索引和搜索功能。此外,Milvus支持多種索引算法,并為各種編程語言提供SDK。
- redis:一種高性能向量數據庫,能夠支持實時應用程序、會話管理和高流量網站。Redis經常用于實時分析、相似度搜索和推薦系統。
- Weaviate:提供模式發現、實時更新、語義搜索和數據上下文化。由于這些功能,Weaviate經常被用來為應用程序創建個性化的體驗系統。
向量數據庫的未來
由于圖像、視頻和文本等高維數據類型不斷增多,向量數據庫將在改進和擴展當前AI模型的功能方面發揮至關重要的作用。通過向量數據庫的不斷發展,我們有望在醫療、金融、電子商務和網絡安全等領域獲得更好的服務。
如果您想親自體驗和嘗試向量數據庫,可以嘗試安裝Auto-GPT,并實現像Pinecone這樣的向量數據庫。當然,您需要API密鑰才能使用其服務。
原文標題:What Is a Vector Database, and How Do They Boost AI?,作者:Jayric Maning