向量數(shù)據(jù)庫—大模型時(shí)代的【存儲(chǔ)新基座】

4 評(píng)論 6270 瀏覽 10 收藏 21 分鐘

今年,黃仁勛的一次演講讓眾多人的目光聚焦到向量數(shù)據(jù)庫上,作者也介紹,如果大模型是肉體,那向量數(shù)據(jù)庫則是靈魂。那么,向量數(shù)據(jù)庫到底存在哪些我們不知道的潛在能力呢?讓我們看看作者的分析吧~

AI大模型基座在以【日更】進(jìn)展的同時(shí),也給資本市場帶來了焦慮的情緒價(jià)值:估值 130 億美元的 AI 寫作工具 Grammarly 在 ChatGPT 發(fā)布后網(wǎng)站用戶直線下降;AI 聊天機(jī)器人獨(dú)角獸公司 Character.AI 的自建大模型在 ChatGPT 進(jìn)步之下,被質(zhì)疑能否形成足夠的競爭壁壘 …

一、向量數(shù)據(jù)庫—怎么火起來的

時(shí)間回轉(zhuǎn)到今年的Q1季度,2023.3.21,NVIDIA創(chuàng)始人兼CEO黃仁勛在2023 GPU技術(shù)大會(huì)(2023 GTC)上發(fā)表演講。并表示今年將推出新的向量數(shù)據(jù)庫:RAFT。RAFT在此基礎(chǔ)上,還具有加速索引、數(shù)據(jù)加載和近鄰檢索等功能。

黃仁勛認(rèn)為:“對于自研大型語言模型的組織而言,向量數(shù)據(jù)庫至關(guān)重要?!彼偨Y(jié):“初創(chuàng)公司競相構(gòu)建具有顛覆性的產(chǎn)品和商業(yè)模式,而老牌公司則在尋求應(yīng)對之法——生成式AI引發(fā)了全球企業(yè)制定AI戰(zhàn)略的緊迫感?!?/strong>

這一消息在演講結(jié)束只是直接震動(dòng)了投資界及AI大模型的創(chuàng)業(yè)者們,很多VC也是調(diào)轉(zhuǎn)方向紛紛看向——向量數(shù)據(jù)庫項(xiàng)目。

二、走進(jìn)向量數(shù)據(jù)庫的工作原理

1. 為什么需要向量數(shù)據(jù)庫

向量數(shù)據(jù)庫這一概念隨著黃仁勛的演講火爆了之后,不少的創(chuàng)業(yè)者以及廠商們開始紛紛投入此類項(xiàng)目的研發(fā)。

在研發(fā)之際,需要明白一個(gè)道理:我們?yōu)槭裁丛诖竽P蜁r(shí)代需要向量數(shù)據(jù)庫,為了證實(shí)這個(gè)概念在這里給大家科普三個(gè)非常關(guān)鍵的知識(shí)點(diǎn),幫助大家了解我們?yōu)槭裁丛诖竽P蜁r(shí)代需要向量數(shù)據(jù)庫。

1)CPU工作原理

中央處理器(Central Processing Unit,簡稱CPU)是一塊由超大規(guī)模集成電路組成的運(yùn)算和控制核心,主要功能是運(yùn)行指令和處理數(shù)據(jù)。包括邏輯運(yùn)算、算術(shù)運(yùn)算、控制邏輯、時(shí)鐘信號(hào)、內(nèi)存讀寫、寄存器、緩存。

圖片來源:知乎

  1. 運(yùn)算邏輯。CPU 內(nèi)部有一組運(yùn)算邏輯單元 (ALU),用于執(zhí)行各種邏輯運(yùn)算和算術(shù)運(yùn)算。ALU 可以執(zhí)行加、減、乘、除等基本操作,還可以執(zhí)行各種復(fù)雜的操作,如排序、查找等。
  2. 控制邏輯??刂七壿嬘糜诳刂?CPU 的執(zhí)行流程。它可以根據(jù)程序的需要,控制 CPU 執(zhí)行不同的指令??刂七壿嬤€包括中斷控制器和時(shí)序控制器等組件。
  3. 時(shí)鐘信號(hào)。CPU 內(nèi)部有一個(gè)時(shí)鐘信號(hào),用于控制 CPU 的執(zhí)行速度。時(shí)鐘信號(hào)以固定的頻率發(fā)送,每個(gè)時(shí)鐘周期被劃分為多個(gè)階段,每個(gè)階段用于執(zhí)行不同的操作。
  4. 內(nèi)存讀寫。CPU 可以從內(nèi)存中讀取數(shù)據(jù)和指令,也可以向內(nèi)存中寫入數(shù)據(jù)和指令。CPU 通過地址總線和數(shù)據(jù)總線來與內(nèi)存進(jìn)行通信。
  5. 寄存器。CPU 內(nèi)部有一組寄存器,用于存儲(chǔ)臨時(shí)數(shù)據(jù)和指令。寄存器是 CPU 內(nèi)部的邏輯單元,可以像內(nèi)存一樣讀取和寫入。
  6. 緩存。CPU 內(nèi)部還有緩存,用于存儲(chǔ)較快的數(shù)據(jù)和指令。緩存可以加速 CPU 的執(zhí)行,提高計(jì)算機(jī)的性能。

CPU 的工作原理是通過基礎(chǔ)的指令來完成復(fù)雜的運(yùn)算邏輯,但是弊端在于CPU中大部分晶體管主要用于構(gòu)建控制電路(象分支預(yù)測等)和Cache,只有少部分的晶體管來完成實(shí)際的運(yùn)算工作。

2)GPU工作原理

在GPU出現(xiàn)以前,顯卡和CPU的關(guān)系有點(diǎn)像“主仆”。簡單地說這時(shí)的顯卡就是畫筆,根據(jù)各種有CPU發(fā)出的指令和數(shù)據(jù)進(jìn)行著色,材質(zhì)的填充、渲染、輸出等。

隨著計(jì)算機(jī)的普及較早的娛樂用的都是【集成顯卡】,由于大部分坐標(biāo)處理的工作及光影特效需要由CPU親自處理,占用了CPU太多的運(yùn)算時(shí)間,從而造成整體畫面不能非常流暢地表現(xiàn)出來。

例如:渲染一個(gè)復(fù)雜的三維場景,需要在一秒內(nèi)處理幾千萬個(gè)三角形頂點(diǎn)和光柵化幾十億的像素。

CPU進(jìn)行各種光影運(yùn)算的速度變得越來越慢,更多多邊形以及特效的應(yīng)用榨干了幾乎所有的CPU性能。

于是GPU產(chǎn)生了NVIDIA公司在1999年8月31日發(fā)布GeForce 256圖形處理芯片時(shí)首先提出GPU的概念。

GPU為了高效率的處理執(zhí)行矩陣運(yùn)算,從而配置了大量的處理核心并行+專一的思路并行矩陣運(yùn)算。

簡而言之,GPU的圖形處理會(huì)已流水線完成如下的工作:

  • 頂點(diǎn)處理。這階段GPU讀取描述3D圖形外觀的頂點(diǎn)數(shù)據(jù)并根據(jù)頂點(diǎn)數(shù)據(jù)確定3D圖形的形狀及位置關(guān)系,建立起3D圖形的骨架。在支持DX系列規(guī)格的GPU中,這些工作由硬件實(shí)現(xiàn)的Vertex Shader(定點(diǎn)著色器)完成。
  • 光柵化計(jì)算。顯示器實(shí)際顯示的圖像是由像素組成的,我們需要將上面生成的圖形上的點(diǎn)和線通過一定的算法轉(zhuǎn)換到相應(yīng)的像素點(diǎn)。把一個(gè)矢量圖形轉(zhuǎn)換為一系列像素點(diǎn)的過程就稱為光柵化。例如,一條數(shù)學(xué)表示的斜線段,最終被轉(zhuǎn)化成階梯狀的連續(xù)像素點(diǎn)。
  • 紋理帖圖。頂點(diǎn)單元生成的多邊形只構(gòu)成了3D物體的輪廓,而紋理映射(texture mapping)工作完成對多變形表面的帖圖。通俗的說,就是將多邊形的表面貼上相應(yīng)的圖片,從而生成“真實(shí)”的圖形。TMU(Texture mapping unit)即是用來完成此項(xiàng)工作。
  • 像素處理。這階段(在對每個(gè)像素進(jìn)行光柵化處理期間)GPU完成對像素的計(jì)算和處理,從而確定每個(gè)像素的最終屬性。在支持DX8和DX9規(guī)格的GPU中,這些工作由硬件實(shí)現(xiàn)的Pixel Shader(像素著色器)完成。
  • 最終輸出。由ROP(光柵化引擎)最終完成像素的輸出,1幀渲染完畢后,被送到顯存幀緩沖區(qū)。

GPU的工作通俗的來說就是完成3D圖形的生成,將圖形映射到相應(yīng)的像素點(diǎn)上,對每個(gè)像素進(jìn)行計(jì)算確定最終顏色并完成輸出。

3)二者的差異

多線程機(jī)制

GPU的執(zhí)行速度很快,但是當(dāng)運(yùn)行從內(nèi)存中獲取紋理數(shù)據(jù)這樣的指令時(shí)(由于內(nèi)存訪問是瓶頸,此操作比較緩慢),整個(gè)流水線便出現(xiàn)長時(shí)間停頓。在CPU內(nèi)部,使用多級(jí)Cache來提高訪問內(nèi)存的速度。GPU中也使用Cache,不過Cache命中率不高,只用Cache解決不了這個(gè)問題。

所以,為了保持流水線保持忙碌,GPU的設(shè)計(jì)者使用了多線程機(jī)制(multi-threading)。當(dāng)像素著色器針對某個(gè)像素的線程A遇到存取紋理的指令時(shí),GPU會(huì)馬上切換到另外一個(gè)線程B,對另一個(gè)像素進(jìn)行處理。等到紋理從內(nèi)存中取回時(shí),可再切換到線程A。

圖片來源:知乎

4)總結(jié)

從設(shè)計(jì)目的,工作原理,任務(wù)執(zhí)行效率,應(yīng)用領(lǐng)域來看二者的區(qū)別簡單做一個(gè)總結(jié)。

  1. 設(shè)計(jì)目的:CPU 的設(shè)計(jì)目的是處理數(shù)據(jù)和執(zhí)行指令,主要用于計(jì)算和控制計(jì)算機(jī)的運(yùn)行。GPU 的設(shè)計(jì)目的是處理圖形和視頻數(shù)據(jù),主要用于游戲、視頻處理和科學(xué)計(jì)算等領(lǐng)域。
  2. 工作原理:CPU 和 GPU 的工作原理不同。CPU 是基于邏輯運(yùn)算和算術(shù)運(yùn)算的處理器,主要依靠內(nèi)部緩存和寄存器來存儲(chǔ)和處理數(shù)據(jù)。GPU 則是基于圖形渲染和計(jì)算的處理器,主要依靠內(nèi)部圖形緩存和寄存器來存儲(chǔ)和處理數(shù)據(jù)。
  3. 執(zhí)行效率:在執(zhí)行效率方面,CPU 往往比 GPU 更快。因?yàn)?CPU 的設(shè)計(jì)目的是處理大量數(shù)據(jù)和執(zhí)行復(fù)雜計(jì)算,所以它的內(nèi)部緩存和寄存器容量較大,可以同時(shí)處理多個(gè)數(shù)據(jù)。而 GPU 的設(shè)計(jì)目的是處理圖形和視頻數(shù)據(jù),所以它的圖形緩存和寄存器容量較大,更適合處理單個(gè)數(shù)據(jù)。
  4. 應(yīng)用領(lǐng)域:CPU 主要用于計(jì)算和控制計(jì)算機(jī)的運(yùn)行,如辦公文檔處理、網(wǎng)頁瀏覽和簡單游戲等。GPU 主要用于圖形和視頻處理,如游戲、視頻渲染和科學(xué)計(jì)算等。

GPU對比CPU就相當(dāng)于是為了完成某件事情單獨(dú)訓(xùn)練了一個(gè)特種兵團(tuán),而CPU是單兵作戰(zhàn)所有GPU完成的又快又好。

現(xiàn)在CPU的技術(shù)進(jìn)步正在慢于摩爾定律,而GPU(視頻卡上的圖形處理器)的運(yùn)行速度已超過摩爾定律,每6個(gè)月其性能加倍。

5)大模型的工作原理

科普完CPU與GPU接下來我們看一下,什么的大模型的工作原理,其實(shí)邏輯非常的簡單只分為兩個(gè)模塊【學(xué)習(xí)】+【推理】。

學(xué)習(xí)

首先進(jìn)入一個(gè)生活場景,人的大腦在看見任何物體時(shí)首先要:眼睛看到先感知,分析這個(gè)過程傳給大腦處理成像識(shí)別,然后大腦給出相應(yīng)的指令,將大腦的工作過程抽象成一個(gè)盒子,接受輸入完成任務(wù)后輸出結(jié)果這個(gè)過程就是模型。

所以現(xiàn)在的人工智能網(wǎng)絡(luò)結(jié)果都是在模擬人工神經(jīng)網(wǎng)絡(luò)方法。

假設(shè)我們以4層網(wǎng)絡(luò)模型為例子來進(jìn)行一個(gè)數(shù)字識(shí)別的模擬實(shí)驗(yàn)。

假設(shè)一個(gè)手寫數(shù)字9是由28*28的像素組成的,將其作為輸入層展開,中間需要加上兩層中間層來完成模型架構(gòu)的設(shè)計(jì)最后一層為輸出層。

該模型的計(jì)算原理是關(guān)鍵,首先在輸入層的每個(gè)節(jié)點(diǎn)都會(huì)作為輸入對每個(gè)輸入都會(huì) 經(jīng)過一次計(jì)算。

模型中的節(jié)點(diǎn)越多參數(shù)也就越多模型也就越復(fù)雜,所以參數(shù)數(shù)量=模型規(guī)模。

在模型訓(xùn)練時(shí)需要大量的多模態(tài)數(shù)據(jù)收集通過反復(fù)調(diào)整模型的參數(shù)來讓模型進(jìn)行反復(fù)的推理和學(xué)習(xí),以便在輸入數(shù)據(jù)時(shí)產(chǎn)生的差距 越來越小最后達(dá)到準(zhǔn)確的狀態(tài)。

推理

到這里大家不禁會(huì)有一個(gè)疑問產(chǎn)生:模型為什么會(huì)越推理誤差越小?這便運(yùn)用到了數(shù)學(xué)中的向量,通過將數(shù)據(jù)分批次進(jìn)行向量化的方式來進(jìn)行模型訓(xùn)練之后每批計(jì)算結(jié)束,調(diào)整一次參數(shù),經(jīng)過多次調(diào)整模型就會(huì)準(zhǔn)確的推理出所需要的信息了。

至此到這里大家應(yīng)該都明白了大模型以及,GPU、CPU的工作原理。

到這里想必大家應(yīng)該理解了為什么ChatGpt需要用GPU來訓(xùn)練了,因?yàn)閺脑砩蟻碇v無論是游戲還是AI都是不斷通過GPU來運(yùn)算向量坐標(biāo)來完成的。

案例如下圖,大家可以看到這個(gè)紫色的圖形模態(tài)元素想要移動(dòng),實(shí)際上就是通過各個(gè)三角形的色塊來進(jìn)行坐標(biāo)向量移動(dòng)實(shí)現(xiàn)的,這背后需要大量的公式運(yùn)算邏輯:

所以在GPU的架構(gòu)下多矩陣的計(jì)算也讓在游戲領(lǐng)域中大放異彩。反觀AI的發(fā)展思路,神經(jīng)網(wǎng)絡(luò)的計(jì)算基礎(chǔ)也同樣是矩陣的乘法運(yùn)算引入GPU作為訓(xùn)練引擎應(yīng)對深度神經(jīng)網(wǎng)絡(luò)巨大的計(jì)算量就再合適不過了。

GPU目前已經(jīng)發(fā)展成了專門的Transformer引擎,這種應(yīng)用的行為也加快了AI行業(yè)的發(fā)展和爆發(fā),也讓GPU自身成了算力的動(dòng)力源泉。

移動(dòng)互聯(lián)網(wǎng)時(shí)代,JSON 文檔作為支撐大規(guī)模靈活數(shù)據(jù)存儲(chǔ)的通用格式,推動(dòng)了 MongoDB 的流行;而在 AI 重塑軟件的時(shí)代,向量作為大模型理解世界的數(shù)據(jù)形式,也就促成新的重要基建:向量數(shù)據(jù)庫。

二、大模型是肉體,向量數(shù)據(jù)庫是靈魂

由上文的說明;我們在神經(jīng)元激活后形成對眼前事物的神經(jīng)表征,這就是人腦真正理解和學(xué)習(xí)的對象。AI 模型實(shí)際識(shí)別和理解的不是一個(gè)個(gè)具體的文字符號(hào),而是神經(jīng)網(wǎng)絡(luò)對各類數(shù)據(jù)的向量化表示,表示的結(jié)果便是向量。

如果如果把 ChatGPT 類的大語言模型比作大腦,其天然就缺失了靈魂。

在大模型中,世界知識(shí)和語義理解被壓縮為了靜態(tài)的參數(shù),模型不會(huì)隨著交互記住我們的聊天記錄和喜好,也不會(huì)調(diào)用額外的知識(shí)信息來輔助自己的判斷。

所以向量數(shù)據(jù)庫的意義與就是在給大語言模型提供記憶與加強(qiáng)記憶。

大模型是新一代的 AI 處理器,提供的是數(shù)據(jù)處理能力;那么向量數(shù)據(jù)庫提供就是 memory,是它的存儲(chǔ)。

三、市場情況及資本熱度

圖片來源:36Kr

目前Zilliz在全球擁有超過 1000 家企業(yè)用戶,成為目前全球最流行的開源向量數(shù)據(jù)庫。2022 年,Zilliz 累計(jì)超過 1.03 億美金的 B 輪融資,估值達(dá)到 6 億美金。也被官宣是 NVIDIA 的向量存儲(chǔ)的官方合作伙伴。

緊接著,OpenAI ChatGPT plugins 發(fā)布的官方文章中,Milvus 和 Zilliz Cloud 同時(shí)作為首批插件合作伙伴被提及成為唯一一家開源項(xiàng)目與商業(yè)化云產(chǎn)品同時(shí)入選的向量數(shù)據(jù)庫公司。

而在近一個(gè)月之內(nèi),向量數(shù)據(jù)庫迎來了融資潮。Qdrant 、Chroma 和 Weaviate 紛紛獲得融資;而 Pinecone 也正式官宣了新的 1 億美金 B 輪融資,估值達(dá)到了 7.5 億美元。

由此推論資本是跟著科技走的,向量數(shù)據(jù)庫的存儲(chǔ)邏輯也必將是革命性的產(chǎn)品。

四、未來發(fā)展

向量數(shù)據(jù)庫的核心能力為大模型提供記憶。

多模態(tài)數(shù)據(jù)想量化調(diào)用與輸入,壓縮Token長度,效率更高調(diào)用更快;但其實(shí)向量這一數(shù)據(jù)結(jié)構(gòu),和向量搜索的需求都是隨著 ML/AI 模型逐漸發(fā)展到今天的,接下來就來構(gòu)想一下這一領(lǐng)域的演進(jìn)歷程。

1. 向量是 AI 理解世界的通用數(shù)據(jù)形式

無論是游戲,網(wǎng)絡(luò),教育,醫(yī)療等等等世界各行各業(yè)的領(lǐng)域中AI大模型的應(yīng)用場景是趨近于無限的,正因?yàn)榭蓱?yīng)用場景多,需要或許到的數(shù)據(jù)毅然很多很雜,所以在做模型訓(xùn)練的時(shí)候應(yīng)該無限趨近于向量搜索和向量訓(xùn)練,向量在未來也將會(huì)成為AI的靈魂和大腦是AI理解世界學(xué)習(xí)世界的通用形式。

2. 多模態(tài)向量化是最終趨勢

人的大腦在思考時(shí):首先需要眼睛看到,傳遞給大腦,激活信號(hào)傳輸?shù)侥愕娘D葉,你的大腦解釋為:我看到了XXX。也就是說,當(dāng)大腦試圖理解和解釋看到的信息時(shí),大腦解讀的是視覺皮層輸出的神經(jīng)表示,而非進(jìn)入眼睛的原始圖像。

所以在大語言模型學(xué)習(xí)和訓(xùn)練的過程中也是如此盡管大模型呈現(xiàn)出的形式是端到端、文本輸入輸出的,但實(shí)際模型接觸和學(xué)習(xí)的數(shù)據(jù)并不是文本本身,而是向量化的文本,為了讓我們的大模型更加聰明更加懂所問的問題。

所以說,在用向量化的數(shù)據(jù)來訓(xùn)練模型時(shí)多模態(tài)(語音數(shù)據(jù)、圖片數(shù)據(jù)、視頻數(shù)據(jù)、文本數(shù)據(jù))是最終的趨勢,只有將多模態(tài)的數(shù)據(jù)全部打碎進(jìn)行向量化的壓縮讓大模型來進(jìn)行學(xué)習(xí),才可能讓大模型聰明起來。

輸出的文本更加豐富,更加懂問他的問題。

五、結(jié)語

在大模型時(shí)代,傳統(tǒng)的數(shù)據(jù)庫已經(jīng)沒有辦法來做基于AI大模型的應(yīng)用級(jí)人工智能產(chǎn)品的數(shù)據(jù)調(diào)用需求了。

這是一個(gè)向量數(shù)據(jù)庫開始瘋狂增長的時(shí)代,也是向量數(shù)據(jù)庫未來十年高速增長的開端。

作者:于天航,微信公眾號(hào):懂技術(shù)的產(chǎn)品汪

本文由 @小于愛學(xué)習(xí) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請登錄
  1. 意思就是,主要學(xué)Zilliz

    來自四川 回復(fù)
  2. 【人工神經(jīng)網(wǎng)絡(luò)】那一塊好難理解 這應(yīng)該涉及到機(jī)器學(xué)習(xí)的內(nèi)容了

    來自四川 回復(fù)
    1. 是的

      來自北京 回復(fù)
    2. 半年后 本寶寶又過來打卡了 溫故而知新 但還是很難理解 感覺很繞~~

      來自四川 回復(fù)