到底需不需要向量數(shù)據(jù)庫,好像又變成了問題。 一年前OpenAI拿出ChatGPT大手一揮,奧特曼成了《回到未來》背后的羅伯特·澤米吉斯,AGI的廣告牌突然直眉瞪眼的踏進滾滾紅塵,沾到喜氣的萬物開始生長,也包括向量數(shù)據(jù)庫這個新也不新的概念股。 這個開始被冠以“AI時代的技術(shù)基座”的概念,變成了Pinecone、Chroma和Weviate這些向量數(shù)據(jù)庫初創(chuàng)公司在今年上半年的融資進展,有的融資額高達上億美元。 幾個月后,AI時代還沒真的來,OpenAI好像親手澆滅了它。 爭議剛散場的第一屆OpenAI開發(fā)者大會,每一句話都要被奉若圭臬。 歷史進程的推進猝不及防,大家都怕了。 1879年洛帕克街第一次點亮?xí)r愛迪生的那件大衣你錯過了,2007年拿著初代iPhone時喬布斯身上那件三宅一生設(shè)計的高領(lǐng)毛衣你錯過了,現(xiàn)在山姆奧特曼這件純色針織衫你總不能再錯過了吧。后驗的歷史脈絡(luò)這次在還沒發(fā)生之前就把“第x次工業(yè)革命”、“下一個iPhone時刻”的時間點告訴你了,人得有點數(shù)。 圖源:OpenAI第一屆OpenAI開發(fā)者大會的準(zhǔn)入門檻比柏林Berghain還要難琢磨。會上奧特曼用GPTs給面朝自己創(chuàng)業(yè)又好不容擠進去的應(yīng)用開發(fā)者們潑了一盆冷水后,又拿著一個叫Assistants的API朝著可能沒擠進去的向量數(shù)據(jù)庫開發(fā)者潑了另一盆。 Assistants API允許開發(fā)者在自己的應(yīng)用程序中構(gòu)建Al助手,并且支持代碼解釋器、檢索和函數(shù)調(diào)用三種類型的工具。OpenAI對于“檢索”的解釋是,如果你有自己的知識庫,現(xiàn)在你可以直接扔進來,我們會自動來對這些數(shù)據(jù)進行優(yōu)化,也就是向量化,然后就在原地進行后續(xù)的存儲和處理。 雖然有手快的開發(fā)者已經(jīng)試過并且下了判斷說現(xiàn)在的GPTs有一種沒用向量數(shù)據(jù)庫的感覺,但長久下去,Assistants API完善了以后好像就沒必要另外去用一個向量數(shù)據(jù)庫處置自己的數(shù)據(jù)了。如果最終開發(fā)者還是要在ChatGPT上做應(yīng)用的話。 到底,到底什么是向量數(shù)據(jù)庫?在向量數(shù)據(jù)庫中,數(shù)據(jù)以向量的形式進行存儲和處理,因此需要將原始的非向量型數(shù)據(jù)轉(zhuǎn)化為向量表示。 數(shù)據(jù)向量化是指將非向量型的數(shù)據(jù)轉(zhuǎn)換為向量形式的過程。 通過數(shù)據(jù)向量化,實現(xiàn)了在向量數(shù)據(jù)庫中進行高效的相似性計算和查詢。 向量數(shù)據(jù)庫的概念是相對于傳統(tǒng)關(guān)系型數(shù)據(jù)庫而言的,兩者之間有一個結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的相對概念。 打個比方。 在一個word文檔里找一個詞,在豆瓣里找一個作者的所有書,這就是結(jié)構(gòu)化程度非常高的數(shù)據(jù)。關(guān)鍵字、指標(biāo)、字符串和JSON都是高度結(jié)構(gòu)化的對象類型。 但現(xiàn)實遠比這混亂。一個現(xiàn)代人可能一個月看不完一本書,但每天可以在網(wǎng)上看萬50篇文章的開頭,加上仔細研究的200條小紅書、推特或者Reddit的帖子。再加上他要在各種社交軟件上參與的聊天。相對于一板一眼的書本,一個人大部分的信息來字是后面這些雜七雜八的信息網(wǎng)絡(luò)。碎片化,也就意味著結(jié)構(gòu)化程度非常低,難以找到其中相關(guān)的聯(lián)系。 再進一步展開,文字本來就是一種對世界信息的有損壓縮。我們從這個世界上接收的所有信息里,以文字呈現(xiàn)的信息微不足道,絕大部份的信息是以畫面(圖片、視頻)或者聲音這些更自然的形式呈現(xiàn)出來的。 這些聊天記錄、圖片或者視頻就是非結(jié)構(gòu)化數(shù)據(jù)。一份統(tǒng)計顯示,這些非結(jié)構(gòu)化數(shù)據(jù)再全世界數(shù)據(jù)總量中的占比仍然在不斷上升,預(yù)計2025年將達到八成以上。 圖源:Medium信息爆炸的年代,燒人的腦子也燒AI的。向量數(shù)據(jù)庫就是要為這些非結(jié)構(gòu)化的數(shù)據(jù)建立聯(lián)系,并且存儲下來。 “狡猾”的OpenAI回到GPTs,Assistants API的意思并不是向量數(shù)據(jù)庫不重要,它更像是在說,向量數(shù)據(jù)庫本身不是目的。 OpenAI在討論的是個位置問題。本來向量數(shù)據(jù)庫可以依靠LandChain等中間件來搭建,現(xiàn)在把這個過程放在ChatGPT內(nèi)部來完成,減少了操作步驟,對于開發(fā)者來說,數(shù)據(jù)向量化的門檻進一步被降低了。 這里面仍然有OpenAI狡猾的一面。公開可供大模型訓(xùn)練的數(shù)據(jù)會越來越少,大量未被觸碰到的數(shù)據(jù)存放在公司自己的保險柜里,或者更零散的,在更多個人用戶數(shù)據(jù)不能離境的社交平臺上。奧特曼看起來愿意為你多走一步,背后的野心可能是為了讓你多走一步——把你的數(shù)據(jù)貢獻出來。 當(dāng)然這只是一種惡意揣測,但其中要表達的意思是,很多公司不會買這個賬,他們?nèi)匀恍枰粋€能夠保證自己數(shù)據(jù)安全的中立的向量數(shù)據(jù)庫。 分層從GPTs開始,向量數(shù)據(jù)庫出現(xiàn)了新的趨勢。 最初向量數(shù)據(jù)庫從大模型的中間層繁榮起來,比如在今年上半年拿到熱錢的Chroma和Qdrant,然后像OpenAI這樣掌握著大模型向應(yīng)用程序轉(zhuǎn)化終端的公司開始把向量數(shù)據(jù)庫的能力放到臺前。還有另一派則是從云服務(wù)切入對向量數(shù)據(jù)庫開始的探索。 一個有趣的現(xiàn)象是,全世界做數(shù)據(jù)庫的公司,基本只在美國和中國。但當(dāng)下兩者之間仍然有著明顯的代際差。比如美國的數(shù)據(jù)庫行業(yè)已經(jīng)把重心放在非結(jié)構(gòu)化數(shù)據(jù)上,國內(nèi)仍然是以結(jié)構(gòu)化數(shù)據(jù)為主。前者建立在一個更完善的開源生態(tài)上,國內(nèi)則更多以商業(yè)數(shù)據(jù)庫面貌呈現(xiàn)。 生成式AI是一場全球競爭,數(shù)據(jù)庫是其中基礎(chǔ)能力要素。這種在追趕中塑造一個技術(shù)領(lǐng)域的場面,首先需要一個行業(yè)的發(fā)展標(biāo)準(zhǔn)。正巧近日中國信通院與大數(shù)據(jù)研究所聯(lián)合騰訊、阿里巴巴等50家企業(yè)專家一起設(shè)定的標(biāo)準(zhǔn)《向量數(shù)據(jù)庫技術(shù)要求》發(fā)布了。 這一套技術(shù)標(biāo)準(zhǔn)包含基本功能、運維管理、安全性 、兼容性、擴展性、高可用以及工具生態(tài)七大能力域共47個測試項,其中分為27個必選項和20個可選項。作為業(yè)內(nèi)首個向量數(shù)據(jù)庫技術(shù)標(biāo)準(zhǔn),可為向量數(shù)據(jù)庫的研發(fā)、測試以及選型提供參考。 首批“可信數(shù)據(jù)庫”向量數(shù)據(jù)庫產(chǎn)品正在測試中。騰訊云的向量數(shù)據(jù)庫Tencent Cloud VectorDB成為首個通過這個基準(zhǔn)測試的向量數(shù)據(jù)庫產(chǎn)品。C端業(yè)務(wù)寬而厚實的騰訊要怎么做向量數(shù)據(jù)庫,可做國內(nèi)向量數(shù)據(jù)庫發(fā)展的一個參考樣本。 樣本圖源:品玩這張圖展示的是騰訊云向量數(shù)據(jù)庫的整體架構(gòu)。 API 層:允許與其他軟件組件進行交互。用戶通過這一層與向量數(shù)據(jù)庫進行交互。它提供了一個 Web 控制臺,供用戶直接管理數(shù)據(jù)庫;提供了軟件開發(fā)工具包(SDK),支持多種編程語言,這樣開發(fā)人員可以在他們的應(yīng)用程序中直接集成數(shù)據(jù)庫功能 Compute Layer(計算層):負(fù)責(zé)處理數(shù)據(jù)和執(zhí)行操作。這一層包括了多種數(shù)據(jù)庫操作,如 Upsert(更新或插入)、Delete(刪除)、Update(更新)、Query(查詢)、KNN(最近鄰搜索)、Range(范圍查詢)、Filter(過濾),還包括 AI 相關(guān)的操作如 Embedding、Split、Index Training。 Storage Layer(存儲層):負(fù)責(zé)數(shù)據(jù)的持久化和存儲。這一層包括 RocksDB 數(shù)據(jù)庫(一個鍵值存儲),它使用了Raft 協(xié)議來確保多副本之間的一致性,每個副本分為 Leader 和 Follower。還包括搜索和索引機制,比如HNSW、IVF、倒排索引(Inverted Index),以及對象存儲(支持 pdf、word、txt 等文件格式)。 向量數(shù)據(jù)庫本身不是目的有趣的地方是,通常向量數(shù)據(jù)庫只專注于存儲和檢索向量數(shù)據(jù),而數(shù)據(jù)的準(zhǔn)備(如向量化)和索引的訓(xùn)練往往在數(shù)據(jù)庫之外的應(yīng)用程序或服務(wù)中進行。這次騰訊云的向量數(shù)據(jù)庫直接將Embedding集成進了計算層。 再加上KNN和 Index Training,這種集成可能比其他向量數(shù)據(jù)庫更緊密,提供了端到端的數(shù)據(jù)處理和機器學(xué)習(xí)操作,這意味著用戶可以在數(shù)據(jù)庫內(nèi)部進行模型訓(xùn)練和向量化,而無需依賴外部工具。 如果把現(xiàn)在的OpenAI的未來看作一個以GPTs展開的產(chǎn)品公司,它選擇將向量數(shù)據(jù)庫的能力折疊進末端的應(yīng)用程序里;而以云廠商的視角來看,它天然離用戶的原始數(shù)據(jù)更近,數(shù)據(jù)的向量化是云服務(wù)框架下的概念。 還是那句話,向量數(shù)據(jù)庫本身不是目的。 騰訊云選擇將向量化這個過程(也就是Embedding)也包攬下來,并作為獨立產(chǎn)品推出,減少了用戶將數(shù)據(jù)從一個系統(tǒng)(如數(shù)據(jù)處理或機器學(xué)習(xí)平臺)轉(zhuǎn)移到另一個系統(tǒng)(如向量數(shù)據(jù)庫)的需要。而在單個系統(tǒng)中完成所有工作,也會提高效率并可能減少錯誤的發(fā)生。 對于用戶在數(shù)據(jù)保護方面的顧慮,仍然可以交給私有化部署。 數(shù)據(jù)庫不是開發(fā)出來的,是用出來的這個框架使用了多種索引結(jié)構(gòu),比如HNSW和IVF。 HNSW(Hierarchical Navigable Small World)是一種基于圖的索引方法,通過創(chuàng)建多層級的圖結(jié)構(gòu),使得近似最近鄰搜索能夠在較低成本下快速進行,尤其是在高維空間中。即便是在高度復(fù)雜的數(shù)據(jù)集中也能提供高質(zhì)量的搜索結(jié)果。 IVF(Inverted File Index)是一種量化索引方法,通過量化向量空間來減少存儲需求和加速搜索。由于IVF可以將向量空間量化成較小的編碼,大大減少了存儲需求,也就更適合于大規(guī)模數(shù)據(jù)集。并且由于可以通過查找預(yù)先計算的量化中心來減少需要比較的向量數(shù)量,IVF提供了速度上的優(yōu)勢。 這種復(fù)合索引結(jié)構(gòu)在一些需要快速響應(yīng)時間和高精確度的應(yīng)用場景中非常有效,最直白的場景就是圖像識別、推薦系統(tǒng)和在線廣告。數(shù)據(jù)庫不是開發(fā)出來的,是用出來的。這種索引結(jié)構(gòu)的組合也反映了騰訊云向量數(shù)據(jù)庫獨特的生長脈絡(luò)。 騰訊云向量數(shù)據(jù)庫從2019年開始在內(nèi)部進行孵化,2020年開始接進騰訊音樂、騰訊視頻和QQ瀏覽器等內(nèi)部產(chǎn)品,現(xiàn)在騰訊云向量數(shù)據(jù)庫服務(wù)騰訊內(nèi)部的業(yè)務(wù)數(shù)量達到40多個,日請求量有1600億次。在近日發(fā)布的騰訊三季度財報中,廣告業(yè)務(wù)收入同比增長20%,騰訊也提到其中有AI相關(guān)技術(shù)的貢獻。 AI的“筆記本”從2015年谷歌開始嘗試用RankBrain將純文本轉(zhuǎn)化成“詞向量”開始,數(shù)據(jù)向量化的優(yōu)越性就鮮明起來,未來向量數(shù)據(jù)庫的角色顯然也不會消失。 數(shù)據(jù)庫的演進代表著人類刻畫世界信息的能力進步。只要人類對AI仍然有完全的駕馭能力,AI的進步就仍然建立在人類如何理解和記憶世界信息的邏輯基礎(chǔ)上。向量數(shù)據(jù)庫是為AI提供記憶能力的海馬體,但AI的形態(tài)遠比人體自由,這個海馬體的位置和形態(tài)可以不斷變化。就像對于人類來說,最初外置在大腦外的“海馬體”可能僅僅是一本筆記本,到現(xiàn)在變成一臺手邊的手提電腦。 但你仍然會叫它“筆記本”。 |
|