面對生成式 AI 帶來的超大規(guī)模向量需求,Redis 8 向量搜索實測輕松支持 10 億向量,依舊保持低延遲與高吞吐表現(xiàn)。本篇文章詳細介紹了 Redis 如何通過 HNSW 算法擴展至十億級別,并提供完整測試配置與性能數(shù)據(jù)。無論是 AI 檢索、推薦系統(tǒng)還是多模態(tài)生成應用,Redis 8 都是你構(gòu)建高效向量服務的可靠選擇。
隨著越來越多的公司把生成式人工智能(GenAI)應用投入生產(chǎn),我們看到客戶對更大向量數(shù)據(jù)庫的需求不斷增長。我們發(fā)現(xiàn)了一些需要 10 億個或更多向量的使用場景,很高興能分享我們在這一規(guī)模上的基準測試結(jié)果。
在測試中,我們在中位延遲為 200 毫秒的情況下達到了 90% 的精確度,而在處理 50 個并發(fā)搜索請求時,對于前 100 個最近鄰(nearest neighbors),在中位延遲為 1.3 秒的情況下達到了 95% 的精確度。
將向量搜索擴展到 10 億個向量并非易事,但 Redis 8 的發(fā)布讓這一過程顯得輕松。今天,我們將通過展示 Redis 在實時搜索 10 億個 768 維向量時的處理能力,來說明它如何應對大規(guī)模應用程序。我們嚴格測試了索引與搜索的性能,證明了 Redis 不僅是最快的向量數(shù)據(jù)庫,還能從數(shù)百萬個向量擴展到數(shù)十億個向量,仍然提供極低的延遲。請查看下面的詳細信息。
測試配置詳解
我們使用了一個與 Intel? 合作準備的向量數(shù)據(jù)集,該數(shù)據(jù)集包含 10 億個 768 維向量,采用 FLOAT16 精度和 10K 查詢,每個查詢有 100 個真實值(精確鄰居,exact neighbors)。該數(shù)據(jù)集源自LAION-5B 數(shù)據(jù)集,這是一個用于訓練下一代圖生文模型(如 Stable Diffusion 和 OpenClip)的大規(guī)模數(shù)據(jù)集。
向量索引使用了歐幾里得距離度量和 FLOAT16 精度,并且在查詢時通過調(diào)整以下參數(shù)來實現(xiàn)不同的精確度:
EF_CONSTRUCTION(在索引創(chuàng)建時設置):在構(gòu)建圖時,圖中每個節(jié)點允許的最大潛在出邊(potential outgoing edges candidates)候選數(shù)量。
M(在索引創(chuàng)建時設置):在圖的每一層中,每個節(jié)點允許的最大出邊數(shù)量。在第零層,最大出邊數(shù)量將是 2M。
EF_RUNTIME(在查詢時可變):在 KNN 搜索期間要保留的最大頂級候選數(shù)量(maximum top candidates)。更高的 EF_RUNTIME 值將導致更準確的結(jié)果,但也會增加運行時間。
使用數(shù)據(jù)集的 100 個最近鄰的真實值來評估每個回復的準確性(召回率),并且我們對 M 在 4、8、16 和 32 個出邊之間,EF_CONSTRUCTION 在 4、8、16 和 32 之間,以及 EF_RUNTIME 在 4、8、16、32、64、128、256、512、1024、2048、4096 和 8192 之間進行了調(diào)整。為確保結(jié)果可重現(xiàn),每個配置都運行了 3 次,選擇了最好的結(jié)果。
Redis 8 Community Edition 十億規(guī)模基準測試
數(shù)據(jù)集:laion-img-emb-768-1G-cosine
客戶端數(shù)量:501
繪制值:每秒請求數(shù)(RPS)| 平均延遲(秒)| 95百分位延遲(秒)| 索引時間(秒)
在我們之前的向量數(shù)據(jù)庫基準測試博客中,我們專注于證明 Redis 是最快的向量數(shù)據(jù)庫。現(xiàn)在我們證明,對于需要保持實時性延遲的使用場景,我們不僅是最快的向量數(shù)據(jù)庫,我們還可以將向量數(shù)量從數(shù)百萬擴展到數(shù)十億。
測試結(jié)果
在十億向量規(guī)模下,使用實時索引,Redis 8 社區(qū)版可以維持每秒 66K 向量插入,對于允許至少 95% 精確度(M 16 和 EF_CONSTRUCTION 32)的索引配置。對于導致較低精確度(M 4 和 EF_CONSTRUCTION 4)的索引配置,Redis 8 社區(qū)版可以支持高達每秒 160K 向量插入的速率。通過使用更多服務器可以進一步增加吞吐量。
對于高精確度查詢,我們可以看到更大的 HNSW 索引(更高的 M 和 EF_CONSTRUCT)會提高搜索質(zhì)量,但會增加延遲。在處理 50 個并發(fā)搜索請求時,我們在中位延遲(包括往返時間)為 200 毫秒的情況下達到 90% 精確度,而在中位延遲(包括往返時間)為 1.3 秒的情況下達到 95% 精確度。
由于所需的精確度和延遲權(quán)衡因使用場景而異,因此根據(jù)上面的圖表調(diào)整 HNSW 參數(shù)非常重要。
Redis 8 證明了實時向量搜索不僅適用于數(shù)百萬個向量,還能擴展到數(shù)十億個向量,同時保持高性能。通過正確的 HNSW 調(diào)優(yōu),你可以在精確度、延遲和吞吐量之間取得平衡,以適應你的使用場景,實現(xiàn)高達 95% 的召回率和實時查詢。無論你是在構(gòu)建人工智能驅(qū)動的搜索、推薦引擎還是任何基于向量的應用程序,Redis 都能為你提供所需的快速、可擴展性能。
“
Redis
艾體寶是Redis企業(yè)版數(shù)據(jù)庫的中國區(qū)戰(zhàn)略合作伙伴,持續(xù)關(guān)注各行業(yè)當下急切需求,專注于為企業(yè)解答疑問,制定專屬服務,提供一站式解決方案,艾體寶提供的Redis企業(yè)版數(shù)據(jù)庫是無數(shù)企業(yè)數(shù)據(jù)安全保護路上的最佳合作選擇!為企業(yè)的數(shù)據(jù)安全保駕護航!
審核編輯 黃宇
-
AI
+關(guān)注
關(guān)注
88文章
34916瀏覽量
277941 -
人工智能
+關(guān)注
關(guān)注
1806文章
48960瀏覽量
248492 -
Redis
+關(guān)注
關(guān)注
0文章
385瀏覽量
11405
發(fā)布評論請先 登錄
milvus向量數(shù)據(jù)庫的主要特性和應用場景

RISC-V架構(gòu)下的編譯器自動向量化

《AI Agent 應用與項目實戰(zhàn)》閱讀心得3——RAG架構(gòu)與部署本地知識庫
Redis實戰(zhàn)筆記

Redis Cluster之故障轉(zhuǎn)移

RK3576有多強?實測三屏八攝像頭輕松搞定

華為云 Flexus X 輕松實現(xiàn) Redis 一主多從高效部署

希姆計算的RISC-V矩陣擴展開源項目已升級至0.5版本,支持向量+矩陣的實現(xiàn)

AI搜索創(chuàng)企Perplexity擬融資5億美元
淺談RISC-C C Intrinsic的發(fā)展情況
IC測試基本原理與ATE測試向量生成

評論