這是一款革命性的向量數(shù)據(jù)庫系統(tǒng),它在業(yè)界首次采用了英偉達(dá) GPU 的高效并行處理能力和 RAPIDS cuVS 庫中新推出的 CAGRA"/>
首頁 > 科技要聞 > 科技> 正文

Zilliz聯(lián)手英偉達(dá)發(fā)布全球首個GPU加速向量數(shù)據(jù)庫!CUDA加持性能飆升50倍,未來十年或暴漲1000倍

新智元 整合編輯:甘靈文 發(fā)布于:2024-03-21 16:10

在舊金山時間3月20日上午,Zilliz 與英偉達(dá)攜手在 GTC 2024 大會上發(fā)布了 Milvus 2.4 版本。

這是一款革命性的向量數(shù)據(jù)庫系統(tǒng),它在業(yè)界首次采用了英偉達(dá) GPU 的高效并行處理能力和 RAPIDS cuVS 庫中新推出的 CAGRA(CUDA-Accelerated Graph Index for Vector Retrieval)技術(shù),提供基于GPU的向量索引和搜索加速能力。

Milvus 2.4 的 GPU 加速性能提升效果令人驚嘆。

基準(zhǔn)測試顯示,與目前市面上最先進(jìn)的基于CPU處理器的索引技術(shù)相比,新版 GPU 加速 Milvus 能提供高達(dá) 50 倍的向量搜索性能提升。

目前,Milvus 2.4 的開源版本已經(jīng)對外發(fā)布。

對于希望使用全托管云數(shù)據(jù)庫服務(wù)的企業(yè)用戶來說,還有一個好消息,那就是 Zilliz 提供的 Milvus 商業(yè)版全托管云服務(wù) Zilliz Cloud 計劃將在今年晚些時候升級推出 GPU 加速功能。

截至當(dāng)前,Zilliz 已成為全球首家提供海內(nèi)外多云服務(wù)的向量數(shù)據(jù)庫企業(yè)。

Zilliz Cloud 已經(jīng)實現(xiàn)包括阿里云、騰訊云、AWS、谷歌云和微軟云在內(nèi)的全球 5 大云 13 個節(jié)點的全覆蓋,除了分布在杭州、北京、深圳的 5 個國內(nèi)服務(wù)區(qū),其他 8 個節(jié)點分布在海外,包括美國的弗吉尼亞州、俄勒岡州、德國的法蘭克福、新加坡等城市和地區(qū)。

Milvus 是什么?

Milvus 是一款為大規(guī)模向量相似度搜索和 AI 應(yīng)用開發(fā)設(shè)計的開源向量數(shù)據(jù)庫系統(tǒng)。它最初由 Zilliz 公司發(fā)起開發(fā),并在 2019 年開源。2020 年,該項目加入 Linux 基金會并成功畢業(yè)。

自推出以來,Milvus 在 AI 開發(fā)者社區(qū)中大受歡迎并被廣泛采用。

在GitHub上,Milvus 擁有超過 26,000 個星標(biāo)和 260 多位貢獻(xiàn)者,全球下載和安裝量超過 2000 萬次,已經(jīng)成為全球使用最廣泛的向量數(shù)據(jù)庫之一。

目前,Milvus 已經(jīng)被 5,000 多家企業(yè)所采用,服務(wù)于AIGC、電子商務(wù)、媒體、金融、電信和醫(yī)療等多個行業(yè)。

 

部分 Milvus 企業(yè)用戶列表(來源:Milvus官網(wǎng))

為什么需要 GPU 加速?

在數(shù)據(jù)驅(qū)動的時代背景下,快速準(zhǔn)確地檢索大量非結(jié)構(gòu)化數(shù)據(jù)對于支持前沿AI應(yīng)用至關(guān)重要。無論是生成式AI、相似性搜索,還是推薦引擎、虛擬藥物發(fā)現(xiàn),向量數(shù)據(jù)庫都已成為這些高級應(yīng)用的核心技術(shù)。

然而,對于實時索引和高吞吐量的需求不斷挑戰(zhàn)著基于CPU的傳統(tǒng)解決方案。

實時索引

向量數(shù)據(jù)庫通常需要持續(xù)且高速地攝取和索引新的向量數(shù)據(jù)。實時索引的能力對于保持?jǐn)?shù)據(jù)庫與最新數(shù)據(jù)的同步至關(guān)重要,避免產(chǎn)生瓶頸或積壓。

高吞吐量

許多使用向量數(shù)據(jù)庫的應(yīng)用程序,例如推薦系統(tǒng)、語義搜索引擎和異常檢測等,都需要實時或近實時的查詢處理。高吞吐量確保向量數(shù)據(jù)庫能夠同時處理大量涌入的查詢,為最終用戶提供高性能的服務(wù)。

向量數(shù)據(jù)庫的核心運算包括相似度計算和矩陣運算,這些運算具有并行性高和計算密集等特點。GPU 憑借其成千上萬的運算核心和強大的并行處理能力,成為了加速這些運算的理想選擇。

技術(shù)架構(gòu)

為了應(yīng)對這些挑戰(zhàn),英偉達(dá)開發(fā)了CAGRA。這是一個利用GPU的高性能能力為向量數(shù)據(jù)庫工作負(fù)載提供高吞吐量的GPU加速框架。

接下來,我們來看看 CAGRA 是如何與 Milvus 系統(tǒng)整合的。

Milvus 專為云原生環(huán)境設(shè)計,采用模塊化設(shè)計理念,將系統(tǒng)分為多個組件,分別處理客戶端請求、數(shù)據(jù)處理以及向量數(shù)據(jù)的存儲和檢索。

得益于這種模塊化設(shè)計,Milvus 可以輕松地更新或升級特定模塊,而無需改變模塊間的接口,使得在 Milvus 中集成 GPU 加速變得簡單可行。

Milvus 2.4 架構(gòu)圖

Milvus 2.4 的架構(gòu)包括協(xié)調(diào)器、訪問層、消息隊列、工作節(jié)點和存儲層等組件。工作節(jié)點進(jìn)一步細(xì)分為數(shù)據(jù)節(jié)點、查詢節(jié)點和索引節(jié)點。其中,索引節(jié)點負(fù)責(zé)構(gòu)建索引,查詢節(jié)點負(fù)責(zé)執(zhí)行查詢。

為了充分利用GPU的加速能力,CAGRA 被集成到了 Milvus 的索引節(jié)點和查詢節(jié)點中。這種集成使得計算密集型任務(wù),如索引構(gòu)建和查詢處理,能夠被轉(zhuǎn)移到 GPU 上執(zhí)行,從而利用其并行處理能力。

在 Milvus 的索引節(jié)點中,CAGRA 被集成到了索引構(gòu)建算法中,利用 GPU 硬件來高效地構(gòu)建和管理高維向量索引,顯著減少了索引大規(guī)模向量數(shù)據(jù)集所需的時間和資源。

同樣,在 Milvus 的查詢節(jié)點中,CAGRA 被用于加速執(zhí)行復(fù)雜的向量相似度查詢。借助GPU的處理能力,Milvus 能夠以前所未有的速度執(zhí)行高維距離計算和相似性搜索,從而加快查詢響應(yīng)時間并提升整體吞吐量。

性能評測

在性能評估過程中,我們使用了 AWS 上的三種公開實例類型:

  • m6id.2xlarge:搭載Intel Xeon 8375C 處理器的 CPU 實例
  • g4dn.2xlarge: 配備NVIDIA T4 處理的GPU加速實例
  • g5.2xlarge:配備NVIDIA A10G 處理器的GPU加速實例

我們通過這些不同的實例類型來評估 Milvus 2.4 在不同硬件配置下的性能和效率,其中m6id.2xlarge 作為基于 CPU 處理器的性能基準(zhǔn),而 g4dn.2xlarge 和 g5.2xlarge 則用來評估GPU 加速的優(yōu)勢。

 

基于 AWS 的評測環(huán)境

在評測中,我們選用了 VectorDBBench 的兩個公開向量數(shù)據(jù)集,評估 Milvus 在不同數(shù)據(jù)量和向量維度下的性能和可擴(kuò)展性:

  • OpenAI-500K-1536-dim:包含 50 萬個 1,536 維的向量,由 OpenAI 語言模型生成
  • Cohere-1M-768-dim:包含 100 萬個 768 維的向量,由Cohere語言模型生成

索引構(gòu)建時間

在索引構(gòu)建時間的評測中,我們發(fā)現(xiàn)對于 Cohere-1M-768-dim 數(shù)據(jù)集,使用 CPU(HNSW)的索引構(gòu)建時間為 454 秒,而使用 T4 GPU(CAGRA)僅為66秒,A10G GPU(CAGRA)更是縮短到了 42 秒。

對于 OpenAI-500K-1536-dim 數(shù)據(jù)集,CPU(HNSW)的索引構(gòu)建時間為359秒,T4 GPU(CAGRA)為45秒,A10G GPU(CAGRA)則為22 秒。

評測索引構(gòu)建時間

這些結(jié)果清楚地表明,GPU 加速框架 CAGRA 在索引構(gòu)建方面明顯優(yōu)于基于 CPU 的 HNSW,其中 A10G GPU 在兩個數(shù)據(jù)集上都是最快的。

與 CPU 實現(xiàn)相比,CAGRA 提供的 GPU 加速將索引構(gòu)建時間縮短了一個數(shù)量級,展示了利用 GPU 并行性進(jìn)行計算密集型向量運算的優(yōu)勢。

吞吐量

在吞吐量方面,我們比較了集成 CAGRA GPU 加速的 Milvus 與使用 CPU 上 HNSW 索引的標(biāo)準(zhǔn) Milvus 實現(xiàn)。評估指標(biāo)是每秒查詢數(shù)(QPS),用于衡量查詢執(zhí)行的吞吐量。

在向量數(shù)據(jù)庫的不同應(yīng)用場景中,查詢的批量大。▎螚l查詢處理的查詢數(shù)量)往往不同。在測試過程中,我們采用了 1、10 和 100 這三種不同的批量大小,獲取真實而全面的評測結(jié)果數(shù)據(jù)。

 

評測吞吐量

從評估結(jié)果來看,對于批量大小為 1 的情況,T4 GPU 比 CPU 快 6.4 到 6.7 倍,A10G GPU 則快 8.3 到 9 倍。

當(dāng)批量大小增加到 10 時,性能提升更加顯著:T4 GPU 快 16.8 到18.7倍,A10G GPU 快25.8 到 29.9 倍。

當(dāng)批量大小為 100 時,性能提升持續(xù)增長:T4 GPU 快 21.9 到 23.3 倍,A10G GPU 快 48.9 到 49.2 倍。

這些結(jié)果表明,利用 GPU 加速向量數(shù)據(jù)庫查詢可以獲得巨大的性能提升,尤其是對于更大的批量大小和更高維度的數(shù)據(jù)。

集成 CAGRA 的 Milvus 釋放了 GPU 的并行處理能力,實現(xiàn)了顯著的吞吐量改進(jìn),非常適合要求極致性能的關(guān)鍵場景下的向量數(shù)據(jù)庫工作負(fù)載。

開啟新紀(jì)元

將英偉達(dá) CAGRA GPU 加速框架集成到 Milvus 2.4 中,標(biāo)志著向量數(shù)據(jù)庫領(lǐng)域的一項重大突破。

通過利用 GPU 的大規(guī)模并行計算能力,Milvus 在向量索引和搜索操作方面實現(xiàn)了前所未有的性能水平,開啟了實時、高吞吐量向量數(shù)據(jù)處理的新時代。

5年前, Zilliz 的工程師們在上海漕河涇的廠房里敲下了向量數(shù)據(jù)庫歷史上的全球第一行代碼,開啟了研發(fā)面向非結(jié)構(gòu)化數(shù)據(jù)管理的新一代數(shù)據(jù)庫的探險。

今天,Zilliz 和英偉達(dá)合作推出 Milvus 2.4,展現(xiàn)了開放創(chuàng)新和社區(qū)驅(qū)動發(fā)展的力量,為向量數(shù)據(jù)庫帶來了 GPU 加速的新紀(jì)元。

這一里程碑事件預(yù)示著又一個技術(shù)變革的來臨,向量數(shù)據(jù)庫有望經(jīng)歷類似于英偉達(dá)在過去 8 年中將 GPU 算力提高 1000 倍的指數(shù)級性能飛躍。

在未來十年,我們將見證向量數(shù)據(jù)庫性能的 1000 倍飛躍。這將引發(fā)一場數(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

文章來源:新智元

 

網(wǎng)友評論

聚超值•精選

推薦 手機 筆記本 影像 硬件 家居 商用 企業(yè) 出行 未來
  • 二維碼 回到頂部