国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

向量數(shù)據(jù)庫(kù)(第 3 部分):并非所有索引都是一樣的

這篇具有很好參考價(jià)值的文章主要介紹了向量數(shù)據(jù)庫(kù)(第 3 部分):并非所有索引都是一樣的。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

這是我關(guān)于向量數(shù)據(jù)庫(kù)的系列文章的第三篇。第一部分比較了各種數(shù)據(jù)庫(kù)供應(yīng)商的產(chǎn)品以及它們?cè)诟邔用嫔系膮^(qū)別,而第二部分則著重介紹了向量數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)和功能。您可能已經(jīng)閱讀過Dmitry Kan在2021年撰寫的優(yōu)秀文章《并非所有向量數(shù)據(jù)庫(kù)都是相同的》1,該文章涵蓋了市場(chǎng)上各種向量數(shù)據(jù)庫(kù)之間的差異。自那時(shí)以來,這個(gè)領(lǐng)域一直在不斷發(fā)展,因?yàn)槊總€(gè)數(shù)據(jù)庫(kù)在其內(nèi)部都與其他數(shù)據(jù)庫(kù)不同,所以我認(rèn)為深入探討索引是有意義的,因?yàn)樗饕窍蛄克阉鞯幕A(chǔ)。假設(shè)你已經(jīng)充分了解什么是向量數(shù)據(jù)庫(kù),那么值得回過頭來思考一下,它是如何如此出色地?cái)U(kuò)展到能夠搜索數(shù)百萬、數(shù)十億甚至數(shù)萬億個(gè)向量的呢?向量數(shù)據(jù)庫(kù)的主要目標(biāo)是提供一種快速高效的方式來存儲(chǔ)和語義查詢數(shù)據(jù),以使數(shù)據(jù)類型成為一等公民。兩個(gè)向量之間的相似度是通過余弦距離或點(diǎn)積等距離度量來衡量的。在使用向量數(shù)據(jù)庫(kù)時(shí),重要的是區(qū)分搜索算法和近似最近鄰(ANN)搜索算法所操作的底層索引。與大多數(shù)情況一樣,選擇向量索引涉及到準(zhǔn)確性(精確度/召回率)和速度/吞吐量之間的權(quán)衡。經(jīng)過查閱文獻(xiàn),我發(fā)現(xiàn)向量索引方法可以按照數(shù)據(jù)結(jié)構(gòu)和壓縮級(jí)別兩個(gè)層次進(jìn)行組織。這些分類并不是詳盡無遺的,許多來源對(duì)于如何正確組織各種索引存在分歧,所以這是我最好的嘗試來理解這一切。下面開始吧!

級(jí)別1:數(shù)據(jù)結(jié)構(gòu)

根據(jù)用于構(gòu)建索引的數(shù)據(jù)結(jié)構(gòu)對(duì)索引進(jìn)行組織有助于理解。最好通過可視化的方式進(jìn)行探索。根據(jù)數(shù)據(jù)結(jié)構(gòu)對(duì)索引進(jìn)行組織可以提供更直觀的理解。

圖片

哈希索引

哈希索引(Hash-based index)是一種基于哈希函數(shù)的索引方法,例如局部敏感哈希(Locally Sensitive Hashing,LSH)。哈希索引將高維數(shù)據(jù)轉(zhuǎn)換為低維哈希碼,旨在盡可能保持原始數(shù)據(jù)的相似性。在建立索引時(shí),數(shù)據(jù)集會(huì)被多次哈希,以確保相似的數(shù)據(jù)點(diǎn)更有可能發(fā)生碰撞(這與傳統(tǒng)的哈希技術(shù)相反,傳統(tǒng)哈希技術(shù)的目標(biāo)是盡量減少碰撞)。在查詢時(shí),查詢點(diǎn)也會(huì)使用與建立索引時(shí)相同的哈希函數(shù)進(jìn)行哈希,由于相似的數(shù)據(jù)點(diǎn)被分配到同一個(gè)哈希桶中,所以檢索非常快速。哈希索引的主要優(yōu)點(diǎn)是在處理大量數(shù)據(jù)時(shí)非??焖?,但缺點(diǎn)是準(zhǔn)確性較低。

基于樹的索引

基于樹的索引結(jié)構(gòu)(Tree-based index)通過二叉搜索樹實(shí)現(xiàn)在高維空間中的快速搜索。樹的構(gòu)建方式使得相似的數(shù)據(jù)點(diǎn)更有可能位于同一子樹中,從而更快地發(fā)現(xiàn)近似最近鄰。Annoy(Approximate Nearest Neighbors Oh Yeah)是一種使用二叉搜索樹森林的方法,由Spotify開發(fā)?;跇涞乃饕娜秉c(diǎn)是,它們只對(duì)低維數(shù)據(jù)表現(xiàn)較好,在高維數(shù)據(jù)中準(zhǔn)確性較低,因?yàn)樗鼈儫o法充分捕捉數(shù)據(jù)的復(fù)雜性。

基于圖的索引

基于圖的索引(Graph-based index)是基于數(shù)據(jù)點(diǎn)在向量空間中形成圖的思想構(gòu)建的索引。圖中的節(jié)點(diǎn)表示數(shù)據(jù)值,連接節(jié)點(diǎn)的邊表示數(shù)據(jù)點(diǎn)之間的相似性。圖的構(gòu)建方式使得相似的數(shù)據(jù)點(diǎn)更有可能通過邊連接在一起,而近似最近鄰(ANN)搜索算法被設(shè)計(jì)為以高效的方式遍歷圖。圖的索引主要優(yōu)勢(shì)在于能夠在高維數(shù)據(jù)中找到近似最近鄰,并且具有較高的內(nèi)存效率,提高性能。下面是圖的索引的兩個(gè)例子:HNSW和Vamana。?將圖的索引與樹的索引概念相結(jié)合的擴(kuò)展是NGT3(Neighbourhood Graphs and Trees)。由Yahoo! Japan Corporation開發(fā),它在索引過程中進(jìn)行了兩個(gè)構(gòu)建操作:一個(gè)將密集的kNN圖轉(zhuǎn)換為雙向圖,另一個(gè)逐步構(gòu)建可導(dǎo)航的小世界(NSW)圖。與純圖的索引不同之處在于它使用了類似樹狀結(jié)構(gòu)(Vantage-point,或稱為“VP”樹)的范圍搜索,這是在圖的構(gòu)建過程中的一種貪婪搜索的變體。由于這兩個(gè)構(gòu)建操作導(dǎo)致節(jié)點(diǎn)具有較高的出度,為了避免組合爆炸,搜索起點(diǎn)使用范圍搜索使遍歷更加高效。這使得NGT成為一種混合的圖和樹的索引。

倒排文件索引

倒排文件索引(Inverted file index,IVF)將向量空間劃分為多個(gè)細(xì)分的單元,稱為Voronoi圖,這些圖減少了搜索空間,類似于聚類的效果。為了找到最近鄰,ANN算法只需定位最近Voronoi圖單元的質(zhì)心,然后僅在該單元內(nèi)進(jìn)行搜索。IVF的好處在于它有助于設(shè)計(jì)快速縮小相似性感興趣區(qū)域的ANN算法,但其原始形式的缺點(diǎn)是在細(xì)分向量空間的量化步驟可能對(duì)于非常大量的數(shù)據(jù)而言速度較慢。因此,IVF通常與量化方法(如產(chǎn)品量化,PQ)結(jié)合使用以提高性能。

級(jí)別2:壓縮

索引可以組織的第二個(gè)級(jí)別是它們的壓縮級(jí)別:一個(gè)“平坦”或暴力索引是以未經(jīng)修改的形式存儲(chǔ)向量的索引。當(dāng)接收到查詢向量時(shí),它會(huì)與數(shù)據(jù)庫(kù)中的每個(gè)向量進(jìn)行詳盡的比較,如下面簡(jiǎn)化的三維空間示例所示。實(shí)質(zhì)上,使用這樣的索引就像進(jìn)行kNN搜索,返回的結(jié)果是與k個(gè)最近鄰向量完全匹配的結(jié)果??梢韵胂螅祷亟Y(jié)果所需的時(shí)間會(huì)隨著數(shù)據(jù)大小的增加而線性增加,這在應(yīng)用于包含數(shù)十萬個(gè)向量的數(shù)據(jù)集時(shí)是不實(shí)際的。

圖片

**
**

為了提高搜索效率,以犧牲一定的檢索準(zhǔn)確性為代價(jià),可以采用壓縮的解決方案。這個(gè)過程被稱為量化(quantization),其中索引中的底層向量被分解成由較少字節(jié)組成的塊(通常通過將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù))以減少內(nèi)存消耗和搜索過程中的計(jì)算成本。

圖片

平坦索引

在使用ANN(非窮舉)搜索時(shí),當(dāng)現(xiàn)有的索引(如IVF或HNSW)直接計(jì)算查詢向量與數(shù)據(jù)庫(kù)向量之間的距離時(shí),它被稱為“平坦”索引。這與量化變體有所區(qū)別。在這種方式下使用時(shí),它們被稱為IVF-Flat、HNSW-Flat等。

量化索引

量化索引(Quantized indexes)是將現(xiàn)有的索引(如IVF、HNSW、Vamana)與量化等壓縮方法結(jié)合起來,以減少內(nèi)存占用并加快搜索速度。量化通常有兩種類型:標(biāo)量量化(Scalar Quantization,SQ)和產(chǎn)品量化(Product Quantization,PQ)。SQ將向量中的浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)(在字節(jié)大小上要小得多),通過將向量對(duì)稱地分成考慮每個(gè)維度的最小值和最大值的區(qū)間。?PQ是一種更復(fù)雜的方法,它考慮了每個(gè)向量維度上的值分布,同時(shí)進(jìn)行壓縮和數(shù)據(jù)降維。PQ的思想是將較大維度的向量空間分解為較小維度子空間的笛卡爾積,通過將每個(gè)子空間量化為自己的聚類來表示向量,使得可以從它們的代碼(稱為重構(gòu)值)有效地估計(jì)它們之間的距離。與SQ不同,PQ使用了非對(duì)稱的分箱過程,增加了精度,因?yàn)樗鼘⒚總€(gè)子空間內(nèi)向量的分布納入了近似距離估計(jì)的一部分。然而,這也存在一個(gè)權(quán)衡,即它會(huì)顯著降低召回率。

流行的索引

在列出的所有索引方法中,大多數(shù)專門構(gòu)建的向量數(shù)據(jù)庫(kù)只實(shí)現(xiàn)其中的一小部分。這是一個(gè)非常快速發(fā)展的領(lǐng)域,因此在閱讀本文時(shí),很多信息可能已經(jīng)過時(shí)。強(qiáng)烈建議您查閱您感興趣的數(shù)據(jù)庫(kù)的最新文檔,了解它們支持哪些索引。在本節(jié)中,我將重點(diǎn)介紹一些受多個(gè)供應(yīng)商關(guān)注的熱門和即將推出的索引。

IVF-PQ

VF-PQ(向量倒排文件索引與產(chǎn)品量化)是在Milvus和LanceDB等數(shù)據(jù)庫(kù)中提供的復(fù)合索引。索引的IVF部分用于縮小搜索空間,而PQ部分用于加速查詢向量與數(shù)據(jù)庫(kù)向量之間的距離計(jì)算,并通過量化向量來減少內(nèi)存需求。將兩者結(jié)合的好處在于,由于PQ組件的存在,速度得到了大幅提升,并且IVF組件有助于提高(通常由于PQ組件而受到損害的)召回率。?PQ組件可以根據(jù)下面的圖表進(jìn)行分解。表示數(shù)據(jù)點(diǎn)的每個(gè)向量由固定數(shù)量的維度d組成(取決于上游使用的嵌入模型,通常為數(shù)百或數(shù)千)。由于在大型數(shù)據(jù)集上存儲(chǔ)這么多32位或64位浮點(diǎn)數(shù)可能非常昂貴,產(chǎn)品量化通過兩個(gè)階段來解決這個(gè)問題:第一階段是粗量化階段,將向量分成m個(gè)子向量,每個(gè)子向量的維度為d/m,并為每個(gè)子向量分配一個(gè)量化值(稱為“重構(gòu)值”),將原始向量映射到該子空間中點(diǎn)的質(zhì)心。?第二階段類似于k-means聚類,通過最小化原始向量與量化向量質(zhì)心之間的距離來學(xué)習(xí)一組“碼本”值。通過將大型高維向量映射為較小的低維子向量,只需存儲(chǔ)量化值的碼本,從而使內(nèi)存占用量大大減小。

圖片

然后,IVF被應(yīng)用于PQ向量空間 - 對(duì)于空間中的每個(gè)點(diǎn),都有一個(gè)相應(yīng)的區(qū)域,稱為Voronoi單元,其中包含所有距離源點(diǎn)(種子點(diǎn))比任何其他點(diǎn)更近的空間中的點(diǎn)。這些種子點(diǎn)用于創(chuàng)建一個(gè)倒排索引,將每個(gè)質(zhì)心與空間中的向量列表相關(guān)聯(lián)。

圖片

根據(jù)查詢向量所在的位置,它可能靠近多個(gè)Voronoi單元的邊界,使得從哪些單元返回最近鄰變得模糊不清,導(dǎo)致邊緣問題。因此,IVF-PQ索引涉及設(shè)置一個(gè)額外的參數(shù)n_probes,告訴搜索算法向外擴(kuò)展到參數(shù)指定的單元數(shù)。?為了有效地構(gòu)建IVF-PQ索引,需要做出兩個(gè)選擇:PQ步驟的子向量數(shù)量和IVF步驟的分區(qū)數(shù)量。子向量數(shù)量越大,每個(gè)子空間越小,減少了由于壓縮而導(dǎo)致的信息損失。然而,較大的子向量數(shù)量也會(huì)導(dǎo)致每個(gè)PQ步驟中的更多I/O和計(jì)算量,因此必須將此數(shù)量最小化,以保持計(jì)算成本低廉。類似地,IVF步驟中的分區(qū)數(shù)量必須選擇以在召回率和搜索速度之間取得平衡。當(dāng)分區(qū)數(shù)量等于數(shù)據(jù)集中的向量數(shù)量時(shí),極限情況下是暴力搜索,這是最準(zhǔn)確的(召回率為1),但實(shí)質(zhì)上將其變成了IVF-Flat索引。事實(shí)上,LanceDB的IVF-PQ索引文檔中確切描述了在創(chuàng)建索引時(shí)的這些權(quán)衡,因此值得深入了解這些概念,以了解如何在實(shí)際場(chǎng)景中應(yīng)用它們。

HNSW

分層可導(dǎo)航小世界(HNSW)圖是構(gòu)建向量索引中最受歡迎的算法之一 - 在撰寫本文時(shí),幾乎每個(gè)數(shù)據(jù)庫(kù)供應(yīng)商都將其作為首選選項(xiàng)。它也是最直觀的算法之一,強(qiáng)烈建議閱讀介紹它的原始論文。?在高層次上,HNSW基于小世界圖現(xiàn)象構(gòu)建,該現(xiàn)象表明盡管圖中的大多數(shù)節(jié)點(diǎn)不是彼此的鄰居,但給定節(jié)點(diǎn)的鄰居很可能是彼此的鄰居,無論圖的大小如何。基本上,圖中的任何節(jié)點(diǎn)都可以通過相對(duì)較少的步驟從其他節(jié)點(diǎn)到達(dá)。在下面的示例中,實(shí)心填充的藍(lán)色和紅色節(jié)點(diǎn)可以在僅經(jīng)過3個(gè)跳躍的情況下相互到達(dá),盡管它們?cè)趫D中可能被認(rèn)為是相距較遠(yuǎn)的。

圖片

您的數(shù)據(jù)所在的向量空間也可以被視為一個(gè)可導(dǎo)航的小世界(NSW)圖,其中節(jié)點(diǎn)表示數(shù)據(jù)點(diǎn),邊表示相似性,即描述兩個(gè)節(jié)點(diǎn)在向量空間中的接近程度的數(shù)值。NSW通過構(gòu)建一個(gè)無向圖來確保全局連通性,即給定任意入口點(diǎn),可以到達(dá)圖中的任何節(jié)點(diǎn)。首先形成遠(yuǎn)距離的邊(連接遠(yuǎn)離的節(jié)點(diǎn),需要多次遍歷),然后形成短距離的邊(連接附近的節(jié)點(diǎn))。長(zhǎng)邊提高了搜索效率,而短邊提高了搜索準(zhǔn)確性??梢酝ㄟ^遍歷這個(gè)圖來找到給定查詢向量的最近節(jié)點(diǎn)。

圖片

NSW圖的一個(gè)問題是它是平坦的 - 某些節(jié)點(diǎn)可能會(huì)創(chuàng)建密集的“交通樞紐”,降低遍歷的效率,并導(dǎo)致方法的搜索復(fù)雜度為多對(duì)數(shù)級(jí)別。HNSW通過分層圖結(jié)構(gòu)來解決這個(gè)問題,并修復(fù)了每個(gè)節(jié)點(diǎn)鄰居數(shù)量的上限,將搜索復(fù)雜度降低到對(duì)數(shù)級(jí)別?;舅枷胧歉鶕?jù)節(jié)點(diǎn)之間的距離尺度將最近鄰分層在圖中。圖中的長(zhǎng)邊保留在頂層(即最稀疏的層),每個(gè)較低的層包含的邊比上面的層更短。最低層形成完全圖,并且搜索是從上到下進(jìn)行的。如果所有層都“折疊”到彼此中,HNSW圖本質(zhì)上就是一個(gè)NSW圖。

圖片

上面的圖示展示了如何在頂層給定任意入口點(diǎn)的情況下,可以快速遍歷整個(gè)圖,逐層降低,直到找到與查詢向量最近的鄰居。HNSW相對(duì)于IVF的最大優(yōu)勢(shì)在于它能夠在復(fù)雜的高維向量空間中以高召回率找到近似最近鄰。事實(shí)上,在其發(fā)布時(shí)(大約2019年),它在基準(zhǔn)數(shù)據(jù)集上產(chǎn)生了最先進(jìn)的結(jié)果,特別是在提高召回率的同時(shí)速度也很快,這解釋了它的巨大流行。然而,它在內(nèi)存效率方面不如IVF,除非在搜索時(shí)與PQ等方法結(jié)合使用來壓縮向量。出于這些原因,像Qdrant和Weaviate這樣的數(shù)據(jù)庫(kù)通常實(shí)現(xiàn)了涉及量化的復(fù)合索引,例如HNSW-PQ10,同時(shí)還提供了調(diào)整召回率和查詢延遲之間權(quán)衡的調(diào)節(jié)參數(shù)。

Vamana

Vamana是最近開發(fā)的基于圖的索引算法之一,由Subramanya等人與微軟研究院印度合作,在2019年的NeurIPS會(huì)議上首次提出。Vamana的顯著特點(diǎn)包括:

  • 它從頭開始設(shè)計(jì),既可以在內(nèi)存中工作(大多數(shù)索引都是為此設(shè)計(jì)的),也可以在磁盤上工作。微軟提出的磁盤實(shí)現(xiàn)被稱為DiskANN。對(duì)于向量數(shù)據(jù)庫(kù)供應(yīng)商來說,磁盤索引似乎是一個(gè)巨大的實(shí)現(xiàn)挑戰(zhàn),所以這是Vamana與其他算法的區(qū)別之一。

  • 它允許對(duì)無法放入內(nèi)存的數(shù)據(jù)集進(jìn)行索引,通過構(gòu)建重疊分區(qū)的較小索引,可以輕松合并為一個(gè)單一索引,其查詢性能與為整個(gè)數(shù)據(jù)集構(gòu)建的單一索引相當(dāng)。

  • 它還可以與PQ等現(xiàn)成的向量壓縮方法結(jié)合使用,構(gòu)建一個(gè)Vamana-PQ索引,用于支持DiskANN系統(tǒng) - 數(shù)據(jù)集的完整精度向量存儲(chǔ)在磁盤上,而壓縮向量則緩存在內(nèi)存中,實(shí)現(xiàn)了兩者的最佳結(jié)合。

Vamana通過迭代構(gòu)建一個(gè)有向圖,首先從一個(gè)隨機(jī)圖開始,其中每個(gè)節(jié)點(diǎn)表示向量空間中的一個(gè)數(shù)據(jù)點(diǎn)。在開始時(shí),圖是高度連接的,即幾乎所有節(jié)點(diǎn)都相互連接。然后,使用一個(gè)目標(biāo)函數(shù)對(duì)圖進(jìn)行優(yōu)化,該函數(shù)旨在最大化彼此最接近的節(jié)點(diǎn)之間的連接性。這是通過修剪大部分隨機(jī)的短程邊緣,并添加連接相距較遠(yuǎn)的節(jié)點(diǎn)的某些長(zhǎng)程邊緣(以加快圖中的遍歷)來實(shí)現(xiàn)的。

圖片

在查詢時(shí),選擇全局質(zhì)心作為入口點(diǎn)。通過長(zhǎng)程邊快速向右方向進(jìn)行搜索,這使得算法能夠快速跳轉(zhuǎn)到圖的端點(diǎn),并相對(duì)快速地縮小到查詢向量的最近鄰。在下面的示例中,只需要三次跳躍就可以從入口點(diǎn)(全局質(zhì)心)遍歷到圖的外邊緣,然后到達(dá)最近鄰。

圖片

正如您可能已經(jīng)注意到的那樣,Vamana提供的是一種更多的“內(nèi)部-外部”搜索方法,而不是HNSW的“外部-內(nèi)部”搜索方法,其中搜索從頂層的一個(gè)隨機(jī)節(jié)點(diǎn)(可能很遠(yuǎn))開始,并向內(nèi)部進(jìn)行。?目前(截至2023年),沒有多少數(shù)據(jù)庫(kù)實(shí)現(xiàn)了Vamana索引,這可能是由于在磁盤上實(shí)現(xiàn)的技術(shù)挑戰(zhàn)以及對(duì)延遲和搜索速度的影響。Milvus11目前是唯一具有可用的磁盤上Vamana索引的供應(yīng)商,而Weaviate12和LanceDB13目前只有實(shí)驗(yàn)性的實(shí)現(xiàn)。然而,這是一個(gè)快速發(fā)展的領(lǐng)域,因此強(qiáng)烈建議您關(guān)注關(guān)鍵的向量數(shù)據(jù)庫(kù)供應(yīng)商,以了解最新的發(fā)展情況!

流行的矢量數(shù)據(jù)庫(kù)中可用的索引

正如本系列的第一部分所示,大多數(shù)數(shù)據(jù)庫(kù)將HNSW索引作為默認(rèn)選項(xiàng)實(shí)現(xiàn)。

圖片

像Milvus、Weaviate、Qdrant和LanceDB這樣的數(shù)據(jù)庫(kù)提供了簡(jiǎn)單的調(diào)整參數(shù),用于控制其Product Quantization組件中的壓縮/量化級(jí)別。了解這些索引如何工作的基本原理非常重要,這樣您就可以為您的用例選擇正確的數(shù)據(jù)庫(kù)和索引參數(shù)。

結(jié)論

專門構(gòu)建的向量數(shù)據(jù)庫(kù)的制造商花費(fèi)了數(shù)千小時(shí)來對(duì)其索引和存儲(chǔ)層進(jìn)行微調(diào)和優(yōu)化,因此,如果您擁有大型數(shù)據(jù)集并且需要在向量搜索查詢上實(shí)現(xiàn)<100毫秒的延遲,那么借助像Weaviate、Qdrant和Milvus這樣的成熟、可擴(kuò)展的開源數(shù)據(jù)庫(kù)似乎是一個(gè)明智的選擇,無論是從開發(fā)者的角度還是從業(yè)務(wù)的角度來看。

  • Flat索引是以原始形式存儲(chǔ)向量的索引,用于精確的k最近鄰搜索。它是最準(zhǔn)確的,但也是最慢的。

  • IVF-Flat索引使用倒排文件索引來快速縮小搜索空間,比暴力搜索要快得多,但會(huì)在召回率方面犧牲一些準(zhǔn)確性。

  • IVF-PQ使用IVF與Product Quantization結(jié)合,對(duì)向量進(jìn)行壓縮,減少內(nèi)存占用并加快搜索速度,同時(shí)在召回率方面比純索引更好。

  • HNSW是目前最流行的索引類型,通常與Product Quantization結(jié)合使用,以提高搜索速度和內(nèi)存效率。

  • Vamana是一個(gè)相對(duì)較新的索引,專為磁盤性能設(shè)計(jì)和優(yōu)化-它承諾在存儲(chǔ)大于內(nèi)存的向量數(shù)據(jù)時(shí)能夠表現(xiàn)出與HNSW相當(dāng)?shù)男阅芎退俣?。然而,目前還沒有很多數(shù)據(jù)庫(kù)實(shí)現(xiàn)Vamana索引,這是由于磁盤性能方面的挑戰(zhàn)。

在我看來,LanceDB是未來幾個(gè)月中最令人興奮的數(shù)據(jù)庫(kù)之一。這是因?yàn)樗鞘袌?chǎng)上唯一一個(gè)所有向量索引都基于磁盤的向量數(shù)據(jù)庫(kù)。這是因?yàn)樗麄冊(cè)诙鄠€(gè)方面同時(shí)進(jìn)行創(chuàng)新:

  • LanceDB正在構(gòu)建一種新的高效列式數(shù)據(jù)格式Lance,旨在成為parquet的現(xiàn)代繼任者,并針對(duì)向量搜索進(jìn)行了優(yōu)化。

  • 正是由于這種高效的存儲(chǔ)層,LanceDB能夠在基于磁盤的索引方面充滿信心,與其他供應(yīng)商不同。

  • LanceDB采用了嵌入式(無服務(wù)器)的專用架構(gòu),從頭開始構(gòu)建。零拷貝數(shù)據(jù)訪問是對(duì)基于磁盤的索引的巨大性能提升。

  • 數(shù)據(jù)的自動(dòng)版本控制,無需額外的基礎(chǔ)設(shè)施。

  • 與AWS S3和Azure Blob Storage等云存儲(chǔ)提供商直接集成,非常容易與現(xiàn)有的數(shù)據(jù)流水線集成。

無論您選擇哪個(gè)數(shù)據(jù)庫(kù)來滿足您的用例,我們都可以一致認(rèn)為,現(xiàn)在是一個(gè)非常好的時(shí)代,可以嘗試和實(shí)驗(yàn)這些工具。我知道這篇文章中有很多信息,但下面的參考資料確實(shí)幫助我理解了向量數(shù)據(jù)庫(kù)的內(nèi)部工作原理以及它們是如何從零開始構(gòu)建的。希望您覺得這篇文章有趣,讓我們繼續(xù)學(xué)習(xí)吧!??

作者:Prashanth Rao

更多技術(shù)干貨請(qǐng)關(guān)注公眾號(hào)“云原生數(shù)據(jù)庫(kù)

squids.cn,目前可體驗(yàn)全網(wǎng)zui低價(jià)RDS,免費(fèi)的遷移工具DBMotion、SQL開發(fā)工具等文章來源地址http://www.zghlxwxcb.cn/news/detail-677902.html

到了這里,關(guān)于向量數(shù)據(jù)庫(kù)(第 3 部分):并非所有索引都是一樣的的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 理解構(gòu)建LLM驅(qū)動(dòng)的聊天機(jī)器人時(shí)的向量數(shù)據(jù)庫(kù)檢索的局限性 - (第1/3部分)

    理解構(gòu)建LLM驅(qū)動(dòng)的聊天機(jī)器人時(shí)的向量數(shù)據(jù)庫(kù)檢索的局限性 - (第1/3部分)

    本博客是一系列文章中的第一篇,解釋了為什么使用大型語言模型( LLM )部署專用領(lǐng)域聊天機(jī)器人的主流管道成本太高且效率低下。在第一篇文章中,我們將討論為什么矢量數(shù)據(jù)庫(kù)盡管最近流行起來,但在實(shí)際生產(chǎn)管道中部署時(shí)從根本上受到限制。在下面的文章中,我們說

    2024年02月14日
    瀏覽(22)
  • 什么是向量數(shù)據(jù)庫(kù)?向量數(shù)據(jù)庫(kù)工作原理?向量數(shù)據(jù)庫(kù)解決方案?

    什么是向量數(shù)據(jù)庫(kù)?向量數(shù)據(jù)庫(kù)工作原理?向量數(shù)據(jù)庫(kù)解決方案?

    向量數(shù)據(jù)庫(kù)是一種專門用于存儲(chǔ)和處理向量數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng)。向量數(shù)據(jù)是指具有多維度屬性的數(shù)據(jù),例如圖片、音頻、視頻、自然語言文本等。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)通常不擅長(zhǎng)處理向量數(shù)據(jù),因?yàn)樗鼈冃枰獙?shù)據(jù)映射成結(jié)構(gòu)化的表格形式,而向量數(shù)據(jù)的維度較高、結(jié)構(gòu)復(fù)雜

    2024年02月15日
    瀏覽(38)
  • 《向量數(shù)據(jù)庫(kù)指南》:向量數(shù)據(jù)庫(kù)Pinecone如何集成數(shù)據(jù)湖

    目錄 為什么選擇Databricks? 為什么選擇Pinecone? 設(shè)置Spark集群 環(huán)境設(shè)置 將數(shù)據(jù)集加載到分區(qū)中 創(chuàng)建將文本轉(zhuǎn)換為嵌入的函數(shù) 將UDF應(yīng)用于數(shù)據(jù) 更新嵌入 摘要 使用Databricks和Pinecone在規(guī)模上創(chuàng)建和索引向量嵌入

    2024年02月15日
    瀏覽(24)
  • 《向量數(shù)據(jù)庫(kù)指南》——宏觀解讀向量數(shù)據(jù)庫(kù)Milvus Cloud

    《向量數(shù)據(jù)庫(kù)指南》——宏觀解讀向量數(shù)據(jù)庫(kù)Milvus Cloud

    宏觀解讀向量數(shù)據(jù)庫(kù) 如今,強(qiáng)大的機(jī)器學(xué)習(xí)模型配合 Milvus 等向量數(shù)據(jù)庫(kù)的模式已經(jīng)為電子商務(wù)、推薦系統(tǒng)、語義檢索、計(jì)算機(jī)安全、制藥等領(lǐng)域和應(yīng)用場(chǎng)景帶來變革。而對(duì)于用戶而言,除了足夠多的應(yīng)用場(chǎng)景,向量數(shù)據(jù)庫(kù)還需要具備更多重要的特性,包括: 可靈活擴(kuò)展、支

    2024年02月07日
    瀏覽(25)
  • 《向量數(shù)據(jù)庫(kù)指南》:向量數(shù)據(jù)庫(kù)Pinecone如何集成LangChain (一)

    《向量數(shù)據(jù)庫(kù)指南》:向量數(shù)據(jù)庫(kù)Pinecone如何集成LangChain (一)

    目錄 LangChain中的檢索增強(qiáng) 建立知識(shí)庫(kù) 歡迎使用Pinecone和LangChain的集成指南。本文檔涵蓋了將高性能向量數(shù)據(jù)庫(kù)Pinecone與基于大型語言模型(LLMs)構(gòu)建應(yīng)用程序的框架LangChain集成的步驟。 ? Pinecone使開發(fā)人員能夠基于向量相似性搜索構(gòu)建可擴(kuò)展的實(shí)時(shí)推薦和搜索系統(tǒng)。另一方

    2024年02月15日
    瀏覽(18)
  • 《向量數(shù)據(jù)庫(kù)》——向量數(shù)據(jù)庫(kù)Milvus Cloud 和Dify比較

    《向量數(shù)據(jù)庫(kù)》——向量數(shù)據(jù)庫(kù)Milvus Cloud 和Dify比較

    Zilliz Cloud v.s. Dify Dify 作為開源的 LLMs App 技術(shù)棧,在此前已支持豐富多元的大型語言模型的接入,除了 OpenAI、Anthropic、Azure OpenAI、Hugging face、Replicate 等全球頂尖模型及模型托管平臺(tái),也完成了國(guó)內(nèi)主流的各大模型支持(如文心一言、智譜 AI 等)。 而 Zilliz Cloud ?和 Milvus 則是

    2024年02月08日
    瀏覽(41)
  • 《向量數(shù)據(jù)庫(kù)指南》——開源框架NVIDIA Merlin & 向量數(shù)據(jù)庫(kù)Milvus

    《向量數(shù)據(jù)庫(kù)指南》——開源框架NVIDIA Merlin & 向量數(shù)據(jù)庫(kù)Milvus

    推薦系統(tǒng) pipeline 中至關(guān)重要的一環(huán)便是為用戶檢索并找到最相關(guān)的商品。為了實(shí)現(xiàn)這一目標(biāo),通常會(huì)使用低維向量(embedding)表示商品,使用數(shù)據(jù)庫(kù)存儲(chǔ)及索引數(shù)據(jù),最終對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行近似最近鄰(ANN)搜索。這些向量表示是通過深度學(xué)習(xí)模型獲取的,而這些深度學(xué)習(xí)

    2024年02月05日
    瀏覽(23)
  • 《向量數(shù)據(jù)庫(kù)指南》——AI原生向量數(shù)據(jù)庫(kù)Milvus Cloud 2.3新功能

    《向量數(shù)據(jù)庫(kù)指南》——AI原生向量數(shù)據(jù)庫(kù)Milvus Cloud 2.3新功能

    支持用戶通過 upsert 接口更新或插入數(shù)據(jù)。已知限制,自增 id 不支持 upsert;upsert 是內(nèi)部實(shí)現(xiàn)是 delete + insert所以性能上會(huì)有一定損耗,如果明確知道是寫入數(shù)據(jù)的場(chǎng)景請(qǐng)繼續(xù)使用 insert。 支持用戶通過輸入?yún)?shù)指定 search 的 distance 進(jìn)行查詢,返回所有與目標(biāo)向量距離位于某一

    2024年02月09日
    瀏覽(25)
  • 【向量數(shù)據(jù)庫(kù)】相似向量檢索Faiss數(shù)據(jù)庫(kù)的安裝及余弦相似度計(jì)算(C++)

    Faiss 是一個(gè)強(qiáng)大的向量相似度搜索庫(kù),具有以下優(yōu)點(diǎn): 高效的搜索性能:Faiss 在處理大規(guī)模向量數(shù)據(jù)時(shí)表現(xiàn)出色。它利用了高度優(yōu)化的索引結(jié)構(gòu)和近似搜索算法,可以快速地執(zhí)行最近鄰搜索和相似度匹配,具有很低的查詢延遲。 高度可擴(kuò)展:Faiss 提供了多種索引結(jié)構(gòu)和算法

    2024年02月07日
    瀏覽(23)
  • 《向量數(shù)據(jù)庫(kù)指南》——騰訊云向量數(shù)據(jù)庫(kù)(Tencent Cloud VectorDB) SDK 正式開源

    《向量數(shù)據(jù)庫(kù)指南》——騰訊云向量數(shù)據(jù)庫(kù)(Tencent Cloud VectorDB) SDK 正式開源

    騰訊云向量數(shù)據(jù)庫(kù) SDK 宣布正式開源。根據(jù)介紹,騰訊云向量數(shù)據(jù)庫(kù)(Tencent Cloud VectorDB)的 Python SDK 與 Java SDK 是基于數(shù)據(jù)庫(kù)設(shè)計(jì)模型,遵循 HTTP 協(xié)議,將 API 封裝成易于使用的 Python 與 Java 函數(shù)或類,為開發(fā)者提供了更加友好、更加便捷的數(shù)據(jù)庫(kù)使用和管理方式。 騰訊云向量

    2024年02月10日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包