宏虹分享丨Redis 8 向量搜尋實測:輕鬆擴增至 10 億向量

重點速覽

面對生成式 AI 帶來的超大規模向量需求,Redis 8 向量搜尋實測輕鬆支援 10 億向量,依舊保持低延遲與高吞吐表現本篇文章詳細介紹了 Redis 如何透過 HNSW 演算法擴展至十億級別,並提供完整的測試配置與性能數據。無論是 AI 搜尋、推薦系統還是多模態生成應用,Redis 8 都是你構建高效向量服務的可靠選擇。

前言

Redis數據庫

隨著越來越多的公司將生成式人工智能(GenAI)應用投入生產,我們發現客戶對更大向量數據庫的需求不斷增長。甚至是一些需要 10 億個或更多向量的使用場景,很高興能分享最新在這一規模上的基準測試結果。

在測試中,我們在中位延遲為 200 毫秒的情況下達到了 90% 的精確度,而在處理 50 個並發搜尋請求時,對於前 100 個最近鄰(nearest neighbors),在中位延遲為 1.3 秒的情況下達到了 95% 的精確度。

將向量搜尋擴展到 10 億個向量並非易事,但 Redis 8 的發布讓這一過程顯得輕鬆。今天,我們將透過展示 Redis 在即時搜尋 10 億個 768 維向量時的處理能力,來說明它如何應對大規模應用程序。我們嚴格測試了索引與搜尋的性能,證明了 Redis 不僅是最快的向量數據庫,還能從數百萬個向量擴展到數十億個向量,仍然提供極低的延遲。請查看下面的詳細資訊。

測試配置詳解

我們使用了與 Intel® 合作準備的向量數據集,該數據集包含 10 億個 768 維向量,採用 FLOAT16 精度和 10K 查詢,每個查洵有 100 個真實值(精確鄰居,exact neighbors)。該數據集源自 LAION-5B 數據集,這是一個用於訓練下一代圖生文模型(如 Stable Diffusion 和 OpenClip)的大規模數據集。

向量索引使用了歐幾里得距離度量和 FLOAT16 精度,並且在查詢時透過調整以下參數來實現不同的精確度:

  • EF\_CONSTRUCTION(在索引建立時設定):在構建圖時,圖中每個節點允許的最大潛在出邊(potential outgoing edges candidates)候選數量。
  •  M(在索引建立時設定):在圖的每一層中,每個節點允許的最大出邊數量。在第零層,最大出邊數量將是 2M。
  •  EF\_RUNTIME(在查詢時可變):在 KNN 期間要保留的最大頂級候選數量(maximum top candidates)。更高的 EF\_RUNTIME 值將導致更準確的結果,但也會增加運行時間。

使用數據集的 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 之間進行了調整。為確保結果可重現,每個配置都運行了 3 次,選擇了最好的結果。

Redis 8 Community Edition
十億規模基準測試

數據集:laion-img-emb-768-1G-cosine

客戶端數量:501

繪製值:每秒請求數(RPS)\| 平均延遲(秒)\| 95 百分位延遲(秒)\| 索引時間(秒)

1

在我們之前的向量數據庫基準測試部落格中,我們專注於證明 Redis 是最快的向量數據庫。現在我們證明,對於需要保持即時性延遲的使用場景,我們不僅是最快的向量數據庫,我們還可以將向量數量從數百萬擴展到數十億。

測試結果

在十億向量規模下,使用即時索引,Redis 8 社區版可以維持每秒 66K 向量插入,對於允許至少 95% 精確度(M 16 和 EF\_CONSTRUCTION 32)的索引配置。對於導致較低精確度(M 4 和 EF\_CONSTRUCTION 4)的索引配置,Redis 8 社區版可以支援高達每秒 160K 向量插入的速率。透過使用更多伺服器可以進一步增加吞吐量。

對於高精確度查詢,我們可以看到更大的 HNSW 索引(更高的 M 和 EF\_CONSTRUCT)會提高搜尋品質,但會增加延遲。在處理 50 個並發搜尋請求時,我們在中位延遲(包括往返時間)為 200 毫秒的情況下達到 90% 精確度,而在中位延遲(包括往返時間)為 1.3 秒的情況下達到 95% 精確度。

由於所需的精確度和延遲權衡因使用場景而異,因此根據上面的图表調整 HNSW 參數非常重要。

Redis 8 證明了即時向量搜尋不僅適用於數百萬個向量,還能擴展到數十億個向量,同時保持高性能。透過正確的 HNSW 調優,你可以在精確度、延遲和吞吐量之間取得平衡,以適應你的使用場景,實現高達 95% 的召回率和即時查詢。無論你是在構建人工智能驅動的搜尋、推薦引擎還是任何基於向量的應用程序,Redis 都能為你提供所需的快速、可擴展性能

了解更多產品資訊

 Redis 企業雲

● 實時數據、任何規模、任何部署空間

● 無縫數據遷移

● 真正的高可用性

● 線性可擴展性和即時性能

 

 

Redis 企業級數據庫

Redis 企業級數據庫

●  為關鍵業務應用程式提供高性能緩存

●  使用現代數據模型建構本地和雲應用程式

● 輕鬆將本地數據遷移到雲端並通過Active-Active跨區域部署

如果您對此感興趣,歡迎您關注我們獲取更多文章資訊,如有任何問題,也歡迎聯絡我們!