2023-07-05 15:32:07來(lái)源:51CTO技術(shù)棧
撰稿|王瑞平
審校|云昭
開(kāi)源、Github標(biāo)星狂飆2萬(wàn)、CVP(即,ChatGPT+VectorDB+Prompt)架構(gòu)...又一匹數(shù)據(jù)庫(kù)黑馬突出重圍。
(資料圖)
它就是Milvus向量數(shù)據(jù)庫(kù),幾年前便在Github上開(kāi)源,瞬間引爆全球,不僅完美詮釋了新興CVP架構(gòu),也成為“群模亂舞”當(dāng)下的一股清流。
圖片
Milvus旨在為AI應(yīng)用程序和嵌入相似度搜索提供支持,使非結(jié)構(gòu)化數(shù)據(jù)更易于搜索和訪問(wèn),無(wú)論部署環(huán)境如何都能使用戶(hù)獲得相同的體驗(yàn)。
1、AIGC新紀(jì)元從“向量數(shù)據(jù)庫(kù)”邁入“大模型記憶體”Milvus以4個(gè)月5000星的速度邁入Github 2萬(wàn)星項(xiàng)目的隊(duì)列,越來(lái)越多開(kāi)發(fā)者也正在為Milvus進(jìn)入AIGC新紀(jì)元注入更多力量。
2019年,GitHub上將Milvus的源代碼開(kāi)源。彼時(shí),行業(yè)尚無(wú)“向量數(shù)據(jù)庫(kù)”一說(shuō),用戶(hù)最關(guān)心的問(wèn)題是“什么是向量數(shù)據(jù)庫(kù)”。
2023年,ChatGPT 引發(fā)AIGC熱潮,在這個(gè)大模型恣意生長(zhǎng)的年份,越來(lái)越多的人關(guān)心“向量數(shù)據(jù)庫(kù)可以做什么?”
在大語(yǔ)言模型時(shí)代,向量數(shù)據(jù)庫(kù)必不可少,它不僅是大模型的記憶體,還能通過(guò)向量檢索讓大模型變得博聞強(qiáng)識(shí)。
在此過(guò)程中,AIGC開(kāi)發(fā)者可以看到的是Milvus在2.2.9版本和中新增了JSON、動(dòng)態(tài)schema和PartitionKey三大功能,簡(jiǎn)化了開(kāi)發(fā)者使用門(mén)檻,并接入了開(kāi)源項(xiàng)目GPTCache,提升LLM應(yīng)用性能。
2、大模型時(shí)代,數(shù)據(jù)庫(kù)也需要跟上我們正處在擁抱人人互聯(lián)新時(shí)代,傳輸電子郵件、社交媒體照片傳輸、蛋白質(zhì)分子結(jié)構(gòu)解析等過(guò)程中都會(huì)產(chǎn)生海量的非結(jié)構(gòu)化數(shù)據(jù)(文本文件、電子表格等)。
然而,你絕不能任由這些數(shù)據(jù)“滿(mǎn)天飛”!所以,它們必須被計(jì)算機(jī)定期處理!那么,如何處理呢?
首先,embedding技術(shù)可以將這些數(shù)據(jù)轉(zhuǎn)化為“向量”。隨后,Milvus會(huì)存儲(chǔ)這些“向量”并為其建立索引,這就形成了傳說(shuō)中的“向量數(shù)據(jù)庫(kù)”。
與現(xiàn)有的主要可用作處理結(jié)構(gòu)化數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫(kù)不同,Milvus在底層設(shè)計(jì)上就是為了處理由各種非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換而來(lái)的Embedding向量而生。
該數(shù)據(jù)庫(kù)可以對(duì)接包括圖片識(shí)別、視頻處理、聲音識(shí)別、自然語(yǔ)言處理等深度學(xué)習(xí)模型,從而為向量化后的非結(jié)構(gòu)數(shù)據(jù)提供搜索分析服務(wù)。
你可以使用Milvus搭建符合個(gè)人場(chǎng)景需求的向量相似度檢索系統(tǒng),具體可應(yīng)用在以圖搜圖、視頻去重、音頻檢索、文本搜索等場(chǎng)景下。
3、快速入門(mén):安裝Milvus圖片
你需要首先明確的是:Milvus使用Docker Compose控制服務(wù)的啟動(dòng)和暫停,過(guò)程包括:
新建工作目錄,下載YAML文件啟動(dòng)Milvus容器:sudo docker-compose up -d
停止Milvus容器:sudo docker-compose down
4、用例:以圖搜圖Milvus官方還給出了以圖搜圖的用例,具體流程分為構(gòu)建圖像向量庫(kù)和執(zhí)行搜索:
圖片
1)構(gòu)建圖像向量庫(kù)首先準(zhǔn)備圖像數(shù)據(jù)集,使用深度學(xué)習(xí)庫(kù)提取圖像特征,獲得每張圖像的特征向量,最后將特征向量存儲(chǔ)到Milvus數(shù)據(jù)庫(kù)中。
2)執(zhí)行搜索輸入一張待檢索圖像,經(jīng)過(guò)深度學(xué)習(xí)庫(kù)獲取圖像對(duì)應(yīng)的特征向量,然后將這個(gè)向量與Milvus中所有圖像的特征向量進(jìn)行相似度對(duì)比,從而獲得距離最近的圖像結(jié)果。
5、整體性能夠硬,生態(tài)已成氣候從上述的安裝與使用過(guò)程中我們不難看出,Milvus作為一款云原生向量數(shù)據(jù)庫(kù),具備高可用、高性能、易拓展的特點(diǎn),可用于海量向量數(shù)據(jù)的實(shí)時(shí)召回。
圖片
Github上也對(duì)其整體性能做出了完整總結(jié):
高性能:性能高超,可對(duì)海量數(shù)據(jù)集進(jìn)行向量相似度檢索。簡(jiǎn)化管理:專(zhuān)為數(shù)據(jù)科學(xué)工作流設(shè)計(jì)的豐富API;高可用、高可靠:Milvus支持云上擴(kuò)展,其容災(zāi)能力能夠保證服務(wù)高可用;高度可擴(kuò)展和彈性:組件級(jí)可伸縮性使按需擴(kuò)展和縮減成為可能?;旌喜樵?xún):Milvus支持在向量相似度檢索過(guò)程中進(jìn)行標(biāo)量字段過(guò)濾,實(shí)現(xiàn)混合查詢(xún);開(kāi)發(fā)者友好:支持多語(yǔ)言、多工具M(jìn)ilvus生態(tài)系統(tǒng);社區(qū)支持,行業(yè)認(rèn)可:擁有超過(guò)1000名企業(yè)用戶(hù)以及活躍的開(kāi)源社區(qū)。6、系統(tǒng)架構(gòu):四個(gè)層次Milvus作為一款云原生向量數(shù)據(jù)庫(kù),采用存儲(chǔ)與計(jì)算分離的架構(gòu)設(shè)計(jì),所有組件均為無(wú)狀態(tài)組件,極大增強(qiáng)系統(tǒng)彈性和靈活性。
圖片
整個(gè)系統(tǒng)架構(gòu)可分為四個(gè)層次:
接入層:系統(tǒng)的門(mén)面,由一組無(wú)狀態(tài)proxy組成。對(duì)外提供用戶(hù)連接的endpoint,負(fù)責(zé)驗(yàn)證客戶(hù)端請(qǐng)求并合并返回結(jié)果。協(xié)調(diào)服務(wù):系統(tǒng)的大腦,負(fù)責(zé)分配任務(wù)給執(zhí)行節(jié)點(diǎn)。協(xié)調(diào)服務(wù)共有四種角色,分別為 root coord、data coord、query coord 和 index coord。執(zhí)行節(jié)點(diǎn):系統(tǒng)的四肢,負(fù)責(zé)完成協(xié)調(diào)服務(wù)下發(fā)的指令和 proxy 發(fā)起的數(shù)據(jù)操作語(yǔ)言(DML)命令。執(zhí)行節(jié)點(diǎn)分為三種角色,分別為 data node、query node 和 index node。存儲(chǔ)服務(wù):系統(tǒng)的骨骼,負(fù)責(zé)Milvus數(shù)據(jù)的持久化,分為元數(shù)據(jù)存儲(chǔ)(meta store)、消息存儲(chǔ)(log broker)和對(duì)象存儲(chǔ)(object storage)三個(gè)部分。7、2.0重磅升級(jí)在Milvus官網(wǎng)上,我們找到了Milvus1.0與2.0究竟有哪些區(qū)別,具體如下表:
圖片
事實(shí)上,自Milvus升級(jí)至2.0版本以來(lái),仍在不斷改進(jìn)優(yōu)化,推出了諸如從文件中批量導(dǎo)入數(shù)據(jù)、基于磁盤(pán)的近似最近鄰(ANN)索引算法等新功能,也提升了元數(shù)據(jù)存儲(chǔ)、批量導(dǎo)入等性能。
遠(yuǎn)的不說(shuō),從Milvus 2.2到Milvus 2.3版本都進(jìn)行了哪些變化和升級(jí)呢?
Milvus 2.2提升了向量搜索的穩(wěn)定性、搜索速度,具有靈活的擴(kuò)縮容能力,提供了一系列新的 API,用于支持從文件中更有效率地批量導(dǎo)入數(shù)據(jù)。
此外,Milvus 2.2還修復(fù)了部分bug并進(jìn)行了諸多改進(jìn)以增強(qiáng)Milvus穩(wěn)定性、可觀測(cè)性和性能。
而在2.3版本中,Milvus移除了Annoy索引,降低了維護(hù)成本,還會(huì)支持count接口,用于統(tǒng)計(jì)collection的行數(shù)。新增的count接口除了能計(jì)算collection行數(shù)外,還支持query的查詢(xún)表達(dá)式用于統(tǒng)計(jì)帶條件的行數(shù)。
8、用戶(hù):使用Milvus,并不孤單從最初的Milvus到2.3版本,每一次版本升級(jí)背后都離不開(kāi)用戶(hù)的支持與建議。升級(jí)、迭代,每次更新過(guò)后,Milvus都會(huì)趨向于完美。
截至目前,GitHub在上已達(dá)到2.08萬(wàn)星。因此,當(dāng)在活躍的開(kāi)源社區(qū)中使用Milvus時(shí),你并不孤單!
參考資料:https://www.yii666.com/blog/393941.html?actinotallow=onAll
https://github.com/milvus-io/milvus
https://blog.csdn.net/hello_dear_you/article/details/127841589
關(guān)鍵詞:
撰稿|王瑞平審校|云昭開(kāi)源、Github標(biāo)星狂飆2萬(wàn)、CVP(即,ChatGPT+Vect
近日,OpenAI聯(lián)合創(chuàng)始人,曾經(jīng)TeslaAI總監(jiān),現(xiàn)在又重新返回OpenAI的And
新技術(shù)的出現(xiàn)和老技術(shù)的淘汰讓前端開(kāi)發(fā)者們需要不斷地學(xué)習(xí)和更新知識(shí)。
前言大家好,我是徐小夕,之前和大家分享了一個(gè)在線(xiàn)文檔編輯器PowerNice,
圖片視頻分割在許多場(chǎng)景下被廣泛應(yīng)用。電影視覺(jué)效果的增強(qiáng)、自動(dòng)駕駛的
圖神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的一大活躍領(lǐng)域,受到人工智能學(xué)家廣泛關(guān)注。由
本文生涯獎(jiǎng)項(xiàng)有望+1!梅西“窩窩”名言入圍2023MTVMIAW大獎(jiǎng)候選到此分
近日,上海電力位于青浦區(qū)工業(yè)園區(qū)的3799 95kW分布式光伏發(fā)電項(xiàng)目成功
1 數(shù)據(jù)庫(kù)引擎不支持事務(wù)這里以MySQL為例,MyISAM引擎是不支持事務(wù)操作
隨著前端項(xiàng)目的不斷迭代,就可能出現(xiàn)部分CSS代碼未使用的情況。這些未
物聯(lián)網(wǎng)為企業(yè)提供了更高的可見(jiàn)性、自動(dòng)化和運(yùn)營(yíng)效率。已經(jīng)開(kāi)始研究部署
7月5日消息,GitHub和NPM的前工程經(jīng)理DarcyClarke上周警告稱(chēng),NPM包存
雖然連接設(shè)備是物聯(lián)網(wǎng)數(shù)據(jù)的關(guān)鍵來(lái)源,但其全部?jī)r(jià)值將在可互操作的物聯(lián)
太平洋保利盈2 0兩全保險(xiǎn)怎么樣?滿(mǎn)期能領(lǐng)多少錢(qián)?適合什么人買(mǎi)?太平
在WWDC2023主題演講中,蘋(píng)果非常關(guān)注游戲,更具體地說(shuō),是Mac上的游戲