日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

向量介紹

本文將介紹向量檢索版支持的各類向量模型。

向量檢索介紹

在當前的信息化時代里,信息的模態在文本的基礎上,增加了圖片、視頻、音頻等多模態信息;多模態能呈現文本無法表達的信息,如:顏色、形狀、運動動態、聲音、空間關系……

image.png

同時各個領域信息的模態也有大幅度的變化:

image.png

信息在這種多模態的場景下被分為兩大類(結構化和非結構化):

image

非結構化的數據往往讓計算機難以理解,傳統的文本分詞檢索場景以無法滿足各個領域的搜索需求,而向量完美的解決了這個難題。

那么什么是向量,又如何通過向量檢索呢?

將物理世界產生的非結構化數據,轉化為結構化的多維向量,用這些向量標識實體和實體間的關系。

再計算向量之間距離,通常情況下,距離越近、相似度越高,召回相似度最高的TOP結果,完成檢索。

image.png

向量檢索算法

linear

linear算法會線性計算所有向量數據。

適用場景:100%召回率

劣勢:大數據量下效率較低、資源(CPU、內存)消耗較嚴重

聚類算法

量化聚類(Quantized Clustering)

介紹

image.png

量化聚類(Quantized Clustering)是阿里巴巴開發的基于kmeans聚類的向量檢索算法。先利用向量文檔聚類n個中心點,并將每個文檔歸屬到離其最近的中心點下,進而構建出n個倒排鏈。n個中心點及其對應的倒排鏈就是QC索引的主要內容。檢索時,請求先和部分中心點進行距離計算,并從中挑選距離最近的多個中心點,接著,請求和中心點對應倒排鏈下的文檔進行距離計算,最終返回距離最近的topk個文檔結果。

特別的, QC支持了數值fp16/int8量化功能,可以減少索引大小、提升檢索性能。但是,對召回效果可能有損。用戶可以根據業務需要,權衡是否需要配置。

QC算法適用實時數據場景,亦或者有GPU資源,且對延遲要求較高的場景。

參數調優

性能對比

image.png

HNSW(Hierarchical Navigable Small World)

介紹

image.png

HNSW(Hierarchical Navigable Small World)是基于近鄰圖的向量檢索算法。先構建一個近鄰圖, 距離接近的向量之間建立邊關系。向量以及其近鄰信息就是HNSW索引的主要內容。檢索時,從入口節點開始遍歷,計算請求和入口節點的所有近鄰距離,選擇距離最近的近鄰,作為下一步的遍歷節點,進而迭代游走,直至收斂并停止檢索。收斂指的是當前檢索節點的所有近鄰中沒有比已經檢索到的最近節點更接近請求。

為了加速收斂,借鑒跳表查詢的邏輯,HNSW構建了一個多層近鄰圖結構。檢索從上而下進行。每一層圖的檢索邏輯大致相同(第0層邏輯有些差異),在第k層圖遍歷收斂到一個節點后,會將其作為第k-1層的入口節點并繼續在第k-1層遍歷。相較于第k-1層圖, 第k層圖包含的節點更加稀疏,節點之間的距離更長,這使得第k層圖游走時的步長更大,迭代更快。

參數調優

向量距離類型

向量檢索的過程是通過計算向量之間的相似度,最后返回相似度較高的TopK向量集合。在這個過程中,向量之間的相似度,通過計算距離來得到。通常,分數越小表示,向量距離越近;分數越大,表示距離越遠。

image.png

在不同向量空間中,定義了不同的距離度量(Distance Metrics)方式來計算這些向量的距離。在向量檢索版中支持的度量方式有:歐式度量、內積度量。

歐式距離(SquareEuclidean)

image.png

歐式距離是指兩個向量之間的平面上距離。作為一種最常用的距離度量方式,歐式距離可以通過計算兩個向量之間的坐標差的平方和的平方根來得到。歐式距離越小,表示兩個向量越相似。歐式距離度量的計算公式如下:

image.png

內積距離(InnerProduct)

image.png

內積是指兩個向量之間的點積或數量積,內積結果越大,代表越相似。它可以通過計算兩個向量對應位置上的元素相乘,并對乘積結果求和得到。內積度量常見于搜索推薦場景,通常而言,是否使用內積測量取決于算法是否使用內積模型。內積度量的計算公式如下:

image.png

向量檢索算法的選擇

向量檢索算法

優勢

劣勢

場景

量化聚類(Quantized Clustering)

CPU、內存資源占用較低

  • 召回率較HNSW低

  • 查詢速度較HNSW慢

適用于億級別數據集,對數據準確性和查詢延遲要求不是非常高的場景

HNSW(Hierarchical Navigable Small World)

召回率高、查詢速度快

CPU、內存資源占用較高

適用于千萬級別數據集,并且對數據準確性和查詢延遲有嚴格要求的場景

linear

召回率100%

  • 查詢速度慢

  • CPU、內存資源占用較上述兩種算法多

適用于萬級別的數據