這是一款革命性的向量數(shù)據(jù)庫(kù)系統(tǒng),它在業(yè)界首次采用了英偉達(dá) GPU 的高效并行處理能力和 RAPIDS cuVS 庫(kù)中新推出的 CAGRA"/>
在舊金山時(shí)間3月20日上午,Zilliz 與英偉達(dá)攜手在 GTC 2024 大會(huì)上發(fā)布了 Milvus 2.4 版本。 這是一款革命性的向量數(shù)據(jù)庫(kù)系統(tǒng),它在業(yè)界首次采用了英偉達(dá) GPU 的高效并行處理能力和 RAPIDS cuVS 庫(kù)中新推出的 CAGRA(CUDA-Accelerated Graph Index for Vector Retrieval)技術(shù),提供基于GPU的向量索引和搜索加速能力。 Milvus 2.4 的 GPU 加速性能提升效果令人驚嘆。 基準(zhǔn)測(cè)試顯示,與目前市面上最先進(jìn)的基于CPU處理器的索引技術(shù)相比,新版 GPU 加速 Milvus 能提供高達(dá) 50 倍的向量搜索性能提升。 目前,Milvus 2.4 的開(kāi)源版本已經(jīng)對(duì)外發(fā)布。 對(duì)于希望使用全托管云數(shù)據(jù)庫(kù)服務(wù)的企業(yè)用戶(hù)來(lái)說(shuō),還有一個(gè)好消息,那就是 Zilliz 提供的 Milvus 商業(yè)版全托管云服務(wù) Zilliz Cloud 計(jì)劃將在今年晚些時(shí)候升級(jí)推出 GPU 加速功能。 截至當(dāng)前,Zilliz 已成為全球首家提供海內(nèi)外多云服務(wù)的向量數(shù)據(jù)庫(kù)企業(yè)。 Zilliz Cloud 已經(jīng)實(shí)現(xiàn)包括阿里云、騰訊云、AWS、谷歌云和微軟云在內(nèi)的全球 5 大云 13 個(gè)節(jié)點(diǎn)的全覆蓋,除了分布在杭州、北京、深圳的 5 個(gè)國(guó)內(nèi)服務(wù)區(qū),其他 8 個(gè)節(jié)點(diǎn)分布在海外,包括美國(guó)的弗吉尼亞州、俄勒岡州、德國(guó)的法蘭克福、新加坡等城市和地區(qū)。 Milvus 是什么? Milvus 是一款為大規(guī)模向量相似度搜索和 AI 應(yīng)用開(kāi)發(fā)設(shè)計(jì)的開(kāi)源向量數(shù)據(jù)庫(kù)系統(tǒng)。它最初由 Zilliz 公司發(fā)起開(kāi)發(fā),并在 2019 年開(kāi)源。2020 年,該項(xiàng)目加入 Linux 基金會(huì)并成功畢業(yè)。 自推出以來(lái),Milvus 在 AI 開(kāi)發(fā)者社區(qū)中大受歡迎并被廣泛采用。 在GitHub上,Milvus 擁有超過(guò) 26,000 個(gè)星標(biāo)和 260 多位貢獻(xiàn)者,全球下載和安裝量超過(guò) 2000 萬(wàn)次,已經(jīng)成為全球使用最廣泛的向量數(shù)據(jù)庫(kù)之一。 目前,Milvus 已經(jīng)被 5,000 多家企業(yè)所采用,服務(wù)于AIGC、電子商務(wù)、媒體、金融、電信和醫(yī)療等多個(gè)行業(yè)。
部分 Milvus 企業(yè)用戶(hù)列表(來(lái)源:Milvus官網(wǎng)) 為什么需要 GPU 加速? 在數(shù)據(jù)驅(qū)動(dòng)的時(shí)代背景下,快速準(zhǔn)確地檢索大量非結(jié)構(gòu)化數(shù)據(jù)對(duì)于支持前沿AI應(yīng)用至關(guān)重要。無(wú)論是生成式AI、相似性搜索,還是推薦引擎、虛擬藥物發(fā)現(xiàn),向量數(shù)據(jù)庫(kù)都已成為這些高級(jí)應(yīng)用的核心技術(shù)。 然而,對(duì)于實(shí)時(shí)索引和高吞吐量的需求不斷挑戰(zhàn)著基于CPU的傳統(tǒng)解決方案。 實(shí)時(shí)索引 向量數(shù)據(jù)庫(kù)通常需要持續(xù)且高速地?cái)z取和索引新的向量數(shù)據(jù)。實(shí)時(shí)索引的能力對(duì)于保持?jǐn)?shù)據(jù)庫(kù)與最新數(shù)據(jù)的同步至關(guān)重要,避免產(chǎn)生瓶頸或積壓。 高吞吐量 許多使用向量數(shù)據(jù)庫(kù)的應(yīng)用程序,例如推薦系統(tǒng)、語(yǔ)義搜索引擎和異常檢測(cè)等,都需要實(shí)時(shí)或近實(shí)時(shí)的查詢(xún)處理。高吞吐量確保向量數(shù)據(jù)庫(kù)能夠同時(shí)處理大量涌入的查詢(xún),為最終用戶(hù)提供高性能的服務(wù)。 向量數(shù)據(jù)庫(kù)的核心運(yùn)算包括相似度計(jì)算和矩陣運(yùn)算,這些運(yùn)算具有并行性高和計(jì)算密集等特點(diǎn)。GPU 憑借其成千上萬(wàn)的運(yùn)算核心和強(qiáng)大的并行處理能力,成為了加速這些運(yùn)算的理想選擇。 技術(shù)架構(gòu) 為了應(yīng)對(duì)這些挑戰(zhàn),英偉達(dá)開(kāi)發(fā)了CAGRA。這是一個(gè)利用GPU的高性能能力為向量數(shù)據(jù)庫(kù)工作負(fù)載提供高吞吐量的GPU加速框架。 接下來(lái),我們來(lái)看看 CAGRA 是如何與 Milvus 系統(tǒng)整合的。 Milvus 專(zhuān)為云原生環(huán)境設(shè)計(jì),采用模塊化設(shè)計(jì)理念,將系統(tǒng)分為多個(gè)組件,分別處理客戶(hù)端請(qǐng)求、數(shù)據(jù)處理以及向量數(shù)據(jù)的存儲(chǔ)和檢索。 得益于這種模塊化設(shè)計(jì),Milvus 可以輕松地更新或升級(jí)特定模塊,而無(wú)需改變模塊間的接口,使得在 Milvus 中集成 GPU 加速變得簡(jiǎn)單可行。 Milvus 2.4 架構(gòu)圖 Milvus 2.4 的架構(gòu)包括協(xié)調(diào)器、訪問(wèn)層、消息隊(duì)列、工作節(jié)點(diǎn)和存儲(chǔ)層等組件。工作節(jié)點(diǎn)進(jìn)一步細(xì)分為數(shù)據(jù)節(jié)點(diǎn)、查詢(xún)節(jié)點(diǎn)和索引節(jié)點(diǎn)。其中,索引節(jié)點(diǎn)負(fù)責(zé)構(gòu)建索引,查詢(xún)節(jié)點(diǎn)負(fù)責(zé)執(zhí)行查詢(xún)。 為了充分利用GPU的加速能力,CAGRA 被集成到了 Milvus 的索引節(jié)點(diǎn)和查詢(xún)節(jié)點(diǎn)中。這種集成使得計(jì)算密集型任務(wù),如索引構(gòu)建和查詢(xún)處理,能夠被轉(zhuǎn)移到 GPU 上執(zhí)行,從而利用其并行處理能力。 在 Milvus 的索引節(jié)點(diǎn)中,CAGRA 被集成到了索引構(gòu)建算法中,利用 GPU 硬件來(lái)高效地構(gòu)建和管理高維向量索引,顯著減少了索引大規(guī)模向量數(shù)據(jù)集所需的時(shí)間和資源。 同樣,在 Milvus 的查詢(xún)節(jié)點(diǎn)中,CAGRA 被用于加速執(zhí)行復(fù)雜的向量相似度查詢(xún)。借助GPU的處理能力,Milvus 能夠以前所未有的速度執(zhí)行高維距離計(jì)算和相似性搜索,從而加快查詢(xún)響應(yīng)時(shí)間并提升整體吞吐量。 性能評(píng)測(cè) 在性能評(píng)估過(guò)程中,我們使用了 AWS 上的三種公開(kāi)實(shí)例類(lèi)型:
我們通過(guò)這些不同的實(shí)例類(lèi)型來(lái)評(píng)估 Milvus 2.4 在不同硬件配置下的性能和效率,其中m6id.2xlarge 作為基于 CPU 處理器的性能基準(zhǔn),而 g4dn.2xlarge 和 g5.2xlarge 則用來(lái)評(píng)估GPU 加速的優(yōu)勢(shì)。
基于 AWS 的評(píng)測(cè)環(huán)境 在評(píng)測(cè)中,我們選用了 VectorDBBench 的兩個(gè)公開(kāi)向量數(shù)據(jù)集,評(píng)估 Milvus 在不同數(shù)據(jù)量和向量維度下的性能和可擴(kuò)展性:
索引構(gòu)建時(shí)間 在索引構(gòu)建時(shí)間的評(píng)測(cè)中,我們發(fā)現(xiàn)對(duì)于 Cohere-1M-768-dim 數(shù)據(jù)集,使用 CPU(HNSW)的索引構(gòu)建時(shí)間為 454 秒,而使用 T4 GPU(CAGRA)僅為66秒,A10G GPU(CAGRA)更是縮短到了 42 秒。 對(duì)于 OpenAI-500K-1536-dim 數(shù)據(jù)集,CPU(HNSW)的索引構(gòu)建時(shí)間為359秒,T4 GPU(CAGRA)為45秒,A10G GPU(CAGRA)則為22 秒。 評(píng)測(cè)索引構(gòu)建時(shí)間 這些結(jié)果清楚地表明,GPU 加速框架 CAGRA 在索引構(gòu)建方面明顯優(yōu)于基于 CPU 的 HNSW,其中 A10G GPU 在兩個(gè)數(shù)據(jù)集上都是最快的。 與 CPU 實(shí)現(xiàn)相比,CAGRA 提供的 GPU 加速將索引構(gòu)建時(shí)間縮短了一個(gè)數(shù)量級(jí),展示了利用 GPU 并行性進(jìn)行計(jì)算密集型向量運(yùn)算的優(yōu)勢(shì)。 吞吐量 在吞吐量方面,我們比較了集成 CAGRA GPU 加速的 Milvus 與使用 CPU 上 HNSW 索引的標(biāo)準(zhǔn) Milvus 實(shí)現(xiàn)。評(píng)估指標(biāo)是每秒查詢(xún)數(shù)(QPS),用于衡量查詢(xún)執(zhí)行的吞吐量。 在向量數(shù)據(jù)庫(kù)的不同應(yīng)用場(chǎng)景中,查詢(xún)的批量大。▎螚l查詢(xún)處理的查詢(xún)數(shù)量)往往不同。在測(cè)試過(guò)程中,我們采用了 1、10 和 100 這三種不同的批量大小,獲取真實(shí)而全面的評(píng)測(cè)結(jié)果數(shù)據(jù)。
評(píng)測(cè)吞吐量 從評(píng)估結(jié)果來(lái)看,對(duì)于批量大小為 1 的情況,T4 GPU 比 CPU 快 6.4 到 6.7 倍,A10G GPU 則快 8.3 到 9 倍。 當(dāng)批量大小增加到 10 時(shí),性能提升更加顯著:T4 GPU 快 16.8 到18.7倍,A10G GPU 快25.8 到 29.9 倍。 當(dāng)批量大小為 100 時(shí),性能提升持續(xù)增長(zhǎng):T4 GPU 快 21.9 到 23.3 倍,A10G GPU 快 48.9 到 49.2 倍。 這些結(jié)果表明,利用 GPU 加速向量數(shù)據(jù)庫(kù)查詢(xún)可以獲得巨大的性能提升,尤其是對(duì)于更大的批量大小和更高維度的數(shù)據(jù)。 集成 CAGRA 的 Milvus 釋放了 GPU 的并行處理能力,實(shí)現(xiàn)了顯著的吞吐量改進(jìn),非常適合要求極致性能的關(guān)鍵場(chǎng)景下的向量數(shù)據(jù)庫(kù)工作負(fù)載。 開(kāi)啟新紀(jì)元 將英偉達(dá) CAGRA GPU 加速框架集成到 Milvus 2.4 中,標(biāo)志著向量數(shù)據(jù)庫(kù)領(lǐng)域的一項(xiàng)重大突破。 通過(guò)利用 GPU 的大規(guī)模并行計(jì)算能力,Milvus 在向量索引和搜索操作方面實(shí)現(xiàn)了前所未有的性能水平,開(kāi)啟了實(shí)時(shí)、高吞吐量向量數(shù)據(jù)處理的新時(shí)代。 5年前, Zilliz 的工程師們?cè)谏虾d詈記艿膹S房里敲下了向量數(shù)據(jù)庫(kù)歷史上的全球第一行代碼,開(kāi)啟了研發(fā)面向非結(jié)構(gòu)化數(shù)據(jù)管理的新一代數(shù)據(jù)庫(kù)的探險(xiǎn)。 今天,Zilliz 和英偉達(dá)合作推出 Milvus 2.4,展現(xiàn)了開(kāi)放創(chuàng)新和社區(qū)驅(qū)動(dòng)發(fā)展的力量,為向量數(shù)據(jù)庫(kù)帶來(lái)了 GPU 加速的新紀(jì)元。 這一里程碑事件預(yù)示著又一個(gè)技術(shù)變革的來(lái)臨,向量數(shù)據(jù)庫(kù)有望經(jīng)歷類(lèi)似于英偉達(dá)在過(guò)去 8 年中將 GPU 算力提高 1000 倍的指數(shù)級(jí)性能飛躍。 在未來(lái)十年,我們將見(jiàn)證向量數(shù)據(jù)庫(kù)性能的 1000 倍飛躍。這將引發(fā)一場(chǎng)數(shù)據(jù)處理方式的范式轉(zhuǎn)變,重新定義我們處理和利用非結(jié)構(gòu)化數(shù)據(jù)的能力。 參考資料: https://zilliz.com/http://milvus.iohttps://www.nvidia.com/ https://github.com/milvus-io/milvus https://github.com/rapidsai/raft https://github.com/zilliztech/VectorDBBench 文章來(lái)源:新智元
|
原創(chuàng)欄目
IT百科
網(wǎng)友評(píng)論
聚超值•精選