今天小編分享的科技經驗:對話 Zilliz 星爵 :向量數據庫是大模型的「記憶體」,歡迎閱讀。
大模型在以「日更」進展的同時,不知不覺也帶來一股焦慮情緒:估值 130 億美元的 AI 寫作工具 Grammarly 在 ChatGPT 發布後網站用戶直線下降;AI 聊天機器人獨角獸公司 Character.AI 的自建大模型在 ChatGPT 進步之下,被質疑能否形成足夠的競争壁壘 ......
ChatGPT Plugins 插件發布之後,更多創業者開始擔憂大模型的技術進步會把自己卷入「打擊射程」,瞬時抹掉自己所在領網域的技術積累和優勢。
我們好像陷入了大模型所帶來的「WTF 綜合症」——在過山車般的技術加速度中,人們會在「what the fuck」的驚訝和「what's the future」的思索之間,反復橫跳。
冷靜下來思考,在底層大模型的國產化浪潮以及應用層的紅紅火火之外,大模型領網域還有什麼是值得被關注的?
向量數據庫(Vector database)在我們與行業人士的各種交流中屢被提及。它被看做 AI Infra 中的關鍵一環,這種專門用于存儲、索引和查詢嵌入向量的數據庫系統,可以讓大模型更高效率的存儲和讀取知識庫,并且以更低的成本進行 finetune(模型微調),還将進一步在 AI Native 應用的演進中扮演重要作用。
向量數據庫之于大模型的價值和意義究竟是什麼?它會不會被大模型本身的進步吞掉?
圍繞着大模型的軟體開發範式将會被如何構建?向量數據庫能發揮的作用是什麼?
帶着這些問題,極客公園找到了 Zilliz 創始人 & CEO 星爵進行交流。Zilliz 成立于中國上海,總部在美國矽谷,于 2019 年開源了全球首個向量數據庫產品 Milvus,它在 GitHub 上獲得了超過 1.8 萬顆 Star,在全球擁有超過 1000 家企業用戶,成為目前全球最流行的開源向量數據庫。而早在 2022 年,Zilliz 就完成了累計超過 1.03 億美金的 B 輪融資,估值達到驚人的 6 億美金。
圖|Zilliz 在 SIGMOD ’ 21 發表的論文,Milvus 是全球真正意義的第一款向量數據庫產品
在大模型熱潮之前,整個向量數據庫市場一年只有幾億美元。直到去年 ChatGPT 推出,如 killer app(殺手級應用)一般拉高了市場天花板,也讓大模型和向量數據庫開始真正出圈。
在今年 3 月的 NVIDIA GTC 大會,黃仁勳首次提及向量數據庫,并強調對于構建專有大型語言模型的組織而言,向量數據庫至關重要,而 Zilliz 也被官宣是 NVIDIA 的向量存儲的官方合作夥伴。緊接着,OpenAI ChatGPT plugins 發布的官方文章中,Milvus 和 Zilliz Cloud 同時作為首批插件合作夥伴被提及,成為唯一一家開源項目與商業化雲產品同時入選的向量數據庫公司。而在近一個月之内,向量數據庫迎來了融資潮,Qdrant 、Chroma 和 Weaviate 紛紛獲得融資;而 Pinecone 也正式官宣了新的 1 億美金 B 輪融資,估值達到了 7.5 億美元 ......
圖| Zilliz 創始人 & CEO 星爵
從 3 月 到 5 月,我們與星爵一起見證了向量數據庫從默默無聞到成為行業大熱的完整過程,并和他陸續探讨了大模型的演化、向量數據庫的價值和意義,以及 AI Native 應用演進等一系列問題。
以下是對話精選,由極客公園整理:
01 大模型和小模型的混合時代
極客公園:在你看來大模型是什麼?
星爵:大模型是一個智能處理器,是一個大腦。傳統處理器是人工去編排電路,而大模型是用神經網絡去編排電路。
大模型未來發展會更加強大,一方面會有中央處理的大模型,像 ChatGPT 的雲端大腦,後面有數萬塊 GPU,它會奔着更大規模、更強能力的方向發展,但它的缺點也很明顯,能耗和成本也比較高;另外一個維度,它會往更高的效率、更低的能耗比方向走,會有小模型出來,像 Dolly 模型(注:Databricks 發布的擁有 120 億參數,類 ChatGPT 開源模型),每個人手提一個「大腦」。
極客公園:這個結論是怎麼得出來的?
星爵:我是站在人類的科技發展史去看的,而不是大模型本身。
大模型本質是開啟了人類智能計算的一個時代,但是計算能力一定會分化的,不可能說只有一個。
人類的計算最終都是從大分化成小的,「大」不見得是一個适合所有產品的需求。計算機最開始是主機時代,是在大機房裡面的大型機,而現在 ChatGPT 本質也是如此。對于這種計算方式來說,缺點明顯,響應很慢,吞吐率也不高。
出現小型化的趨勢是因為功能的需求在分化,如果你要辦公,你買一個上網的筆記型電腦就可以了,不需要一個超級計算機。
極客公園:會像主機到微機的時代演變,有清晰的階段劃分嗎?還是說會是一個大模型和小模型混合的時代?
星爵:從大模型到小模型的大量湧現,這個演進其實就花了 6 個月,人類文明的進化已經變得更快了。現在如果你想跑一個微軟出的 Deep Speed Chat 這種小模型,在筆記本上就行。
你可以認為小模型就相當于現在的 PC,大模型是現在的超級計算機。
我覺得大模型和小模型兩者會并存下去。需求分化的本質背後,并不是一個技術問題,而是資源如何最優化配置的問題。如果說集中式的管理是最優的話,那麼一定會做集中式的。
極客公園:大模型和向量數據庫是什麼關系?大多數向量數據庫公司其實在大模型熱潮出現前就有了,比較好奇大模型給向量數據庫帶來了什麼?
星爵:在我看來,大模型是新一代的 AI 處理器,提供的是數據處理能力;那麼向量數據庫提供就是 memory,是它的存儲。
向量數據庫之前應用比較分散,ChatGPT 的出現,讓向量數據庫迎來了 killer app 時刻,一下子把行業的天花板拉高了幾個數量級,把向量數據庫面向的開發者從幾萬提升到全球幾千萬。就像過去做移動開發和應用開發,可能大家都會人手一個 MongoDB 數據庫,以後也會人手一個向量數據庫。
極客公園:目前大模型發展非常迅猛,會不會把向量數據庫提供的價值直接被吞到大模型的體系裡?
星爵:不管是大模型還是小模型,它本質上是對全世界的知識和運行規則的一個編碼,是對我們人類所有數據的一個壓縮。
但很難真的把所有數據放到大模型裡面。比如有一種觀點,ChatGPT 是一個相當高效的壓縮編碼方式,但它并不是無損壓縮,并不能擁有所有知識,這個過程必然帶來熵減和信息損失。如果把所有信息都編碼到神經網絡裡面去,那麼神經網絡就會變得特别臃腫,參數規模會巨大無比,從而導致運行緩慢。所以不能全放進去,這意味着它可能需要外部的存儲。
在計算機結構中也有類似的情況:CPU 裡會有一個片上存儲 SRAM,一般會做得比較小,因為片上存儲的價格比内存 DRAM 要貴 100 倍,比磁盤要貴 1 萬倍。神經網絡就是大模型的片上存儲,更大規模的模型擁有更多的片上存儲。但是用神經網絡來存儲數據是相當昂貴的,會導致網絡規模的急劇增大,所以大模型也需要一種更高效的數據存儲方式,這就是神經網絡外的片外存儲,向量數據庫就是它的片外存儲。如果運行時發現有信息不知道,就到向量數據庫裡面來取。而向量數據庫的存儲成本比存到神經網絡的成本要低 2 到 4 個數量級。
極客公園:你拿硬體做了類比,但是我們也可以看到有芯片公司是在做存算一體的架構,存儲和計算放在一起。
星爵:本質上每一種計算都需要存儲,計算和存儲是兩個最基本的抽象,但它們是可以相互轉化的,可以用存儲換計算,也可以用計算換存儲。在達到一個更好地投入產出比的過程中,需要有一個平衡。
人類的第一個計算機就是存算一體的,後來為什麼要分開?因為效率和成本。為什麼說大模型不能夠完全取代向量數據庫,這是因為向量數據庫的存儲成本比大模型要低一個 1 千倍到 1 萬倍,就看你要不要這麼做而已。歷史上,存儲永遠比計算便宜,計算也在降價,但你發現存儲一直更便宜。
極客公園:但這個邏輯其實是硬體的邏輯,軟體也會如此嗎?
星爵:軟體和硬體是相輔相成,互為支撐的。軟體裡為什麼要把中間計算過程保存下來,不重算一次?為什麼要做緩存,要保存中間結果?因為保存是為了少算,少算的原因是用空間換時間,用存儲換計算資源,這在軟體裡面是最經典的一種設計模式。之所以軟體這麼設計,也是硬體特性所決定的:存儲比計算要更便宜。
02 重新理解向量數據庫的價值
極客公園:最近有個玩笑說,上一波投 AIGC 的 VC 公司基本上都後悔了,意思是在大模型之下很多應用層公司的壁壘都被抹掉了。私網域數據會不會是構成競争力的核心,向量數據庫是不是可以在這個方向起作用?
星爵:幫助用戶管理私網域數據,确實是目前向量數據庫提供的核心應用場景。很多公司和個人不願意讓大模型拿到自己的數據。
那麼我們怎麼樣利用向量數據庫和 OpenAI 這種大模型廠商交換數據呢?首先說一點,大模型本身是可以将互聯網上的公網域數據都爬到,對于私網域數據可以用向量數據庫先做好編排,轉成向量數據庫裡的向量。現在要從私網域數據的知識庫裡要找到問題的回答,可以利用向量數據庫的相似查找能力,精确定位到庫裡的相關數據,然後把這幾個信息編成一個 prompt。
盡管 prompt 的容量理論上可以無限,但這樣效率太低,并且也難以實現。通過以上這樣的方式就可以很容易控制是 2000 個 tokens,或者 8000 個 tokens,把它傳給大模型給出一個答案。所以說,通過向量數據庫可以用私網域數據和大模型做一個增強和互補。
極客公園:大模型不會把私有數據都拿走?
星爵:國外這一波 AI 起來之後還有一個特别好的點,就是把隐私數據保護都搞清楚了。
為什麼有那麼多開發者敢用,那麼多百億美金的公司願把自己的服務接到 OpenAI 裡面去,就是 OpenAI 已經保證 prompt 只能作為 input(輸入),不能存、不能訓練、不能學習。要不然我把數據都給你了,你學完以後把我踢掉怎麼辦。國外已經在公有數據和私有數據之間劃出了一個很大邊界。我相信中國最後也會立法,走到這一步的。
極客公園:向量數據庫在大模型中還有什麼應用?
星爵:短期還有一種應用方式,用向量數據庫給大模型更新數據。
其實這也是個成本的考慮,模型的 finetune(微調)更新的成本,是遠大于使用向量數據庫數據做存儲。
不管是大模型還是小模型的 finetune 都比較慢。除非你做一個超級無敵計算機,實時獲取新數據,也實時更新模型,但沒必要。像 ChatGPT 訓練所用的數據是截止到 2021 年 9 月,後面的事情它就不知道了,會給出錯誤答案。所以通過用向量數據庫給大模型更新數據,也是可以一定程度上解決大模型「胡言亂語」的問題。
極客公園:Zilliz 還推出了 GPTCache,要給 ChatGPT 做緩存層。這個怎麼理解?
星爵:緩存也是個很好的應用場景。我們認為全球的 CDN 和緩存會有重做一次的機會。未來 AI 的公共場景中信息交換的方式會發生變化,會向更智能,更偏向語義這個方向轉變,并且消化的是更加非結構化的數據。以前的 CDN 是基于精确條件的查詢,現在可以基于一些近似條件的查詢。未來需要一個更智能的一個 CDN,更智能的一個緩存。
極客公園:最近很火的 AutoGPT 和向量數據庫也有關聯,向量數據庫在其中扮演了什麼角色?
星爵:向量數據庫是 AutoGPT 中最為核心的組件之一。我們的產品 Milvus 已經接入到了 AutoGPT 中,這給我們帶來了很大的流量。你可以這樣理解,AutoGPT 等于 ChatGPT 加上向量數據庫。通過向量數據庫讓 AutoGPT 具備了長期記憶能力,它知道之前搜的是什麼,把歷史全部記進去了,不然每次查詢是沒有上下文的。
極客公園:斯坦福大學和谷歌聯手發布的論文《Generative Agents: Interactive Simulacra of Human Behavior》也引起了行業強烈關注,實驗構建了一個虛拟小鎮,小鎮有 25 個有「記憶」的虛拟人,他們可以結合自己的「人設」,在社交活動中產生不同的決策和行為,這讓我們看到了現實版的《西部世界》構建的可能性。這個實驗裡面非常重要的是虛拟人的記憶機制,向量數據庫能做嗎?
圖|虛拟小鎮
星爵:能。AutoGPT 加一個人物的頭像,就可以打造一個最簡單的智能 Avatar。以後各種智能體都要有個記憶,而記憶是向量數據庫來提供,這個想象空間蠻大的。那它可能是個什麼機會呢?還真不好去定義,人類歷史上首次出現擁有獨立記憶體的虛拟人,這是一個歷史性的機會,對向量數據庫的需求會有幾萬倍的增長。
這本質上還是使用向量數據庫作為大模型的 memory,應用在了虛拟智能體這個場景。我覺得慢慢地大家在達成共識,只要做大模型的應用,就會用向量數據庫來做記憶體。
極客公園:大模型要想處理復雜任務,首先要有記憶能力,然後基于記憶(上下文)做推理,而向量數據便是記憶體。那是只有向量數據庫就夠了,還是需要再加一些其他的?
星爵:基本就夠了。因為所有大模型和 AI 裡面的數據交換都是用向量。這個本質上是說片外跟片内的存儲數據的交換格式是統一的。這也就是說為什麼不能拿 Oracle 去做智能體的記憶;ChatGPT 也沒有選 MongoDB,也沒有選 Oracle,因為它們都是不适合大模型的。
極客公園:是不是可以這樣理解,把大模型看成是一個基于自然語言編程的新型計算機,向量數據是它最原生的數據,向量數據庫是它最原生的數據庫,這其實是一個完整的體系?
星爵:是的。神經網絡的确是向量,因為它所有的信息傳輸都是向量,每一層的參數也都是向量。所以能看成是個以向量(embedding)為基礎架構的一套新的計算體系結構。
這個體系結構簡單說來就是「CVP Stack」。其中「C」是 ChatGPT 這類大模型,負責向量的計算;「V」是向量數據庫(vector database),負責向量的存儲;「P」是 Prompt Engineering,負責向量的互動。
03 AI Native 時代的應用演進
極客公園:對于 AI Native 時代的應用開發來說,什麼變得更重要了?什麼不重要了?
星爵:在大模型開發時代,我率先提出了前面提到的「CVP Stack」概念,現在也逐漸被廣泛接受了。
這裡要特别指出的是,我對于「P」的定義和理解會更加開放一些,不限于 prompt engineering。它本質上是個創造的過程,而不是說簡單的寫 prompt。「P」的核心是提問能力,或者說是找到需求、找到市場的一個能力,比如說你如何設計你的用戶流程,如何找到一個好的商業化落地的場景,這都是包含在「P」中。
對于現在的開發者來說,不管你是產品經理還是前端工程師,用 ChatGPT 加上向量數據庫,寫好 prompt,再用 LangChain 把項目串起來,基本用上一周就可以寫個應用出來,這極大地降低了大模型應用的開發成本。
極客公園:面向大模型時代,你對 Zilliz 這家公司更準确的定義是什麼?
星爵:我們是一家 DB for AI 的公司,大概 3 年前,我們發了這個領網域第一篇 SIGMOD 論文的時候,提出了這個概念,但它是一個學術界的講法。如果按照更好理解的方式,我們其實的是一個 AI Native 的數據庫公司。
過去 10 年最大的機會是做 Cloud Native(雲原生)的 Data Infra,產生了 Snowflake 這樣的巨頭;未來 10 年最大的機會是做 AI Native(AI 原生)的 Data Infra,像 Zilliz 這樣的向量數據庫公司将會迎來歷史性機遇。
極客公園:這一波大模型創業,應用層創業者被問得最多的是,怎麼去建立自己的競争壁壘,而不被大模型本身的進步「淹死」?你怎麼看壁壘這個問題?
星爵:應用層其實是有壁壘,技術壁壘變低了,那麼其他的壁壘就變高了,我覺得創意和運營變得更重要了。
極客公園:與中國關注應用層和大模型層不同,美國在 AI Infra 上迎來了開源的繁榮,AI Infra 的競争格局會是怎麼樣?中國接下來在 AI Infra 上有什麼值得期待的嗎?
星爵:Infra 是一個赢者通吃的市場,像 Snowflake 在雲原生數據庫領網域就是一馬當先。
我覺得中國在這一塊還沒開始,中國大模型比國外大概落後了半年。Infra 的話,我覺得中國可能還會落後半年到 1 年。我覺得 AI Infra 在接下來的半年裡會有一個史無前例的快速發展。
04 爆火背後的堅持和運氣
極客公園:3 月的 NVIDIA GTC 大會上,黃仁勳強調向量數據庫對于大模型至關重要,還宣布了你們是 NVIDIA 的向量數據庫的合作夥伴。這中間發生了什麼故事?
圖|NVIDIA GTC 大會,黃仁勳首次提及向量數據庫,并強調對于構建專有大型語言模型的組織而言,向量數據庫至關重要
星爵:我們在創業之初就堅定地認為 AI 時代的計算一定是異構的,也一直在堅持包括 GPU 加速在内的異構計算的技術路線。
NVIDIA 是在去年下半年看到整個 AI 的發展趨勢中,向量數據的處理會越來越重要,非常希望更多的企業能夠把 GPU 加速用起來。他們在全球範圍内調研和接觸向量數據庫領網域的公司和團隊,但也發現真正能夠在異構計算上面有布局、有實力的只有我們一家。
NVIDIA 在深入地了解我們之後,也成為了我們 Milvus 開源社區裡一個很重要的貢獻者。除了共同發布 GPU 加速向量數據庫,NVIDIA 還派了幾名的工程師專門給 Milvus 貢獻代碼。
此外,NVIDIA 還有一個用 GPU 加速的開源推薦系統框架 Merlin,它把 Milvus 也做成 Merlin 中的一個關鍵部件,幫推薦系統去管理下面的數據。現在 NVIDIA 不僅僅是我們的合作夥伴,同時也成為我們的一個大用戶。
極客公園:OpenAI 又是什麼樣的故事?我看到在公布 ChatGPT plugins 發布的官方文章中,Milvus 和 Zilliz 是首批的合作夥伴,貢獻了向量數據庫插件。
圖|OpenAI 發布 ChatGPT plugins 的官方文章中,Zilliz 的產品被提及了兩次
星爵:OpenAI 的話就更加簡單了,一年前就已經有一些合作了。他們和我們說要做一個平台,就是 ChatGPT plugins,看到我們的向量數據庫是全球最流行和最具開發者社區影響力的,因此希望加入。最開始我們的心态很平和,覺得是基礎的開源兼容合作。但 plugins 發布後,我們獲得了來自大模型領網域開發者和 GPT 用戶群體的空前關注,這個是我始料未及的。
極客公園:既然向量數據庫這麼重要,會不會擔心國内别人再做一個向量數據庫?
星爵:說實話我們很歡迎,因為向量數據庫還處于發展的早期階段,還需要更多的市場教育。
極客公園:對于「為什麼是你們」這個問題,你是怎麼思考的?
星爵:我也想不到今年會有機會和大家都去談向量數據庫。之前我每年都跟别人講,向量數據庫是接下來特别牛逼的事情,但大部分人聽完之後說,有趣,你有這個想法和願景,就好好幹。
現在回頭看,沒有堅定的願景和長期主義的堅持,我們不可能走到現在。
當然,一個成功的企業也需要有些好的運氣。比如說,我們歷史上每次融資都能夠遇到一些擁有相同願景、堅持長期主義的投資人。我們今年開始準備做商業化,剛好遇到大模型的「iPhone 時刻」,一下子把我們推到了聚光燈下。之前有人會懷疑我們的商業化潛力,但現在有人和我說 Zilliz 想不掙錢都很難。
很多時候,你堅持在做一些難的事情,但是很多時間點你沒有趕上,你可能會死。因為其實很多優秀的企業也是這麼死掉的,盡管它的產品和技術很好,但它跟市場經濟發展的趨勢不吻合,跟用戶需求爆發的時間點不吻合。
對于可以掌控的,那我們就拼命去做成功的必要條件;而有些是無法控制的,對我們來說的話,很感恩這種運氣。
極客公園:所以你是怎麼看自己的?是長期主義的勝利者?
星爵:幸存者更恰當一些。
極客公園:大模型給向量數據庫帶來的是什麼程度的加速?
星爵:是指數級的增長,過去 6 個月開發者的增長量大概能頂得上我們過去三年的。
這是一個向量數據庫開始瘋狂增長的時代,也是 AI-native 數據庫未來十年高速增長的開端。