自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

來聊聊向量查詢

譯文 精選
數(shù)據(jù)庫 其他數(shù)據(jù)庫
本文將從基本概念開始,討論與向量查詢相關(guān)的技術(shù)與使用。向量查詢是一種復(fù)雜的數(shù)據(jù)檢索技術(shù),它側(cè)重于查詢與數(shù)據(jù)條目相關(guān)的上下文含義,而并非簡(jiǎn)單的文本匹配。

在軟件項(xiàng)目中,開發(fā)人員往往會(huì)盡力搜尋各種數(shù)據(jù)庫優(yōu)化技術(shù),尤其是那些能夠提高大型數(shù)據(jù)庫查詢效率的技術(shù)。在傳統(tǒng)的SQL數(shù)據(jù)庫中,我們通常只能使用“B樹索引”或簡(jiǎn)單的“索引”等關(guān)鍵詞,來查找各種博客或文章信息。不過,這種基于關(guān)鍵字的方法可能會(huì)忽略掉那些使用了諸如:“SQL調(diào)整”或“索引策略”等不同、但屬于相關(guān)短語的重要內(nèi)容。

另一種情況是,應(yīng)用可能知道上下文,但不知道特定技術(shù)的確切名稱。因此,對(duì)于依賴精確的關(guān)鍵詞匹配的傳統(tǒng)數(shù)據(jù)庫而言,應(yīng)用是無法僅根據(jù)上下文來進(jìn)行查詢的。

對(duì)此,我們需要一種超越簡(jiǎn)單關(guān)鍵詞匹配查詢的技術(shù),能夠根據(jù)語義相似性,以提供查詢結(jié)果。這便是向量查詢(Vector Search)能夠發(fā)揮作用的地方。與傳統(tǒng)的關(guān)鍵字匹配技術(shù)不同,向量查詢會(huì)將待查詢的語義與數(shù)據(jù)庫條目進(jìn)行比較,從而返回更為相關(guān)、更加準(zhǔn)確的結(jié)果。下面,我們將從基本概念開始,討論與向量查詢相關(guān)的技術(shù)與使用案例。

向量查詢概述

向量查詢是一種復(fù)雜的數(shù)據(jù)檢索技術(shù),它側(cè)重于查詢與數(shù)據(jù)條目相關(guān)的上下文含義,而并非簡(jiǎn)單的文本匹配。要實(shí)現(xiàn)這種技術(shù),我們必須首先將查詢和數(shù)據(jù)集的特定列轉(zhuǎn)換為數(shù)字的表示,即向量嵌入(Vector Embeddings)。據(jù)此,我們可以計(jì)算查詢向量與數(shù)據(jù)庫中的向量嵌入之間的距離(即:余弦相似度或歐氏距離)。接下來,我們根據(jù)計(jì)算出的距離,找出最接近或最相似的條目。最終,我們能夠返回與查詢向量距離最小的前k個(gè)結(jié)果。下圖展示了整個(gè)流程:

向量查詢的典型場(chǎng)景

  • 似性查詢:被用于在特征空間中查找與給定向量相似的其他向量,常被廣泛地應(yīng)用于圖像、音頻和文本的分析等領(lǐng)域。
  • 推薦系統(tǒng):通過分析用戶和項(xiàng)目的向量表示,來實(shí)現(xiàn)針對(duì)電影、產(chǎn)品或音樂等領(lǐng)域的個(gè)性化的推薦。
  • 自然語言處理:通過查詢文本數(shù)據(jù)中的語義相似性,來支持語義查詢和相關(guān)性分析。
  • 問答(Question-Answering,QA)系統(tǒng):查詢各種向量表示與輸入問題最相似的相關(guān)段落。其最終答案可以根據(jù)問題和檢索到的段落,通過大語言模型(LLM)來生成。

當(dāng)數(shù)據(jù)集較小且查詢簡(jiǎn)單時(shí),暴力向量(Brute-force Vector)式查詢?cè)谡Z義查詢方面的效果非常好。不過,隨著數(shù)據(jù)集的擴(kuò)大、以及查詢變得越來越復(fù)雜,其性能可能會(huì)下降,進(jìn)而產(chǎn)生各種偏差。

實(shí)施向量查詢的挑戰(zhàn)

讓我們來討論一下與使用簡(jiǎn)單向量查詢相關(guān)的一些問題,特別是當(dāng)數(shù)據(jù)集規(guī)模持續(xù)增大時(shí):

  • 性能:如前所述,暴力向量查詢會(huì)計(jì)算查詢向量與數(shù)據(jù)庫中所有向量之間的距離。對(duì)于較小的數(shù)據(jù)集來說,這種方法效果很好,但是當(dāng)向量的數(shù)量增加到上百萬個(gè)條目時(shí),查詢的時(shí)間和查找數(shù)百萬個(gè)條目之間距離的計(jì)算成本,就會(huì)增加。
  • 可擴(kuò)展性:目前,數(shù)據(jù)正在呈指數(shù)級(jí)增長(zhǎng),因此在查詢海量數(shù)據(jù)集時(shí),暴力向量查詢很難達(dá)到同樣的速度和準(zhǔn)確性。這就需要通過創(chuàng)新的方法來管理海量數(shù)據(jù),同時(shí)保持同樣的速度和準(zhǔn)確性。
  • 與結(jié)構(gòu)化數(shù)據(jù)相結(jié)合:在簡(jiǎn)單的應(yīng)用中,我們要么使用SQL來查詢結(jié)構(gòu)化數(shù)據(jù),要么使用向量查詢來查找非結(jié)構(gòu)化數(shù)據(jù)。而在處理不同的系統(tǒng)時(shí),我們需要整合這兩種技術(shù)。也就是說,當(dāng)我們既使用向量查詢,又應(yīng)用SQL的Where子句進(jìn)行過濾時(shí),處理查詢的時(shí)間會(huì)因數(shù)據(jù)種類和大小的增多而增加。

常見的向量索引技術(shù)

為了應(yīng)對(duì)大規(guī)模向量數(shù)據(jù)的挑戰(zhàn),我們可以采用如下索引技術(shù),來組織和促進(jìn)高效的近似向量查詢。

HNSW(Hierarchical Navigable Small World)

HNSW算法利用多層次的圖形結(jié)構(gòu),來實(shí)現(xiàn)高效的向量查詢和存儲(chǔ)。在每一層上,向量不僅與同層的其他向量相連,還與下面各層的向量相連。這種結(jié)構(gòu)既能夠有效地探索到附近的向量,又可以保持查詢空間的可管理性。通常,頂層包含了少量節(jié)點(diǎn),隨著層級(jí)的下降,節(jié)點(diǎn)數(shù)量呈指數(shù)增長(zhǎng)。而在最底層處包含了數(shù)據(jù)庫中的所有數(shù)據(jù)點(diǎn)。如下圖所示,這種分層設(shè)計(jì)定義了HNSW算法的獨(dú)特架構(gòu)。

具體的查詢過程會(huì)從一個(gè)選定的向量開始,并由此計(jì)算與當(dāng)前層和之前層的連接向量的距離。這種方法屬于貪婪型(Greedy),即:不斷向距離當(dāng)前位置最近的向量前進(jìn),直到在所有連接向量中找到最接近的向量為止。雖然HNSW索引通常在直接向量查詢中表現(xiàn)出色,但它需要相當(dāng)多的資源和大量時(shí)間來進(jìn)行構(gòu)建。此外,在大多數(shù)條件下,由于圖形的連通性降低,其過濾查詢的準(zhǔn)確性和效率也會(huì)大幅下降。

反向向量文件(Inverted Vector File,IVF)索引

IVF索引會(huì)使用簇中心點(diǎn)作為其反轉(zhuǎn)索引,從而有效地管理各種高維數(shù)據(jù)的查詢。通常,它會(huì)根據(jù)幾何鄰近性,將向量劃分為若干簇(Cluster),并將每個(gè)簇的中心點(diǎn)作為簡(jiǎn)化表示。在查詢那些與查詢向量最相似的項(xiàng)目時(shí),該算法首先會(huì)識(shí)別與查詢最接近的中心點(diǎn)。然后,它只在相關(guān)的向量列表中查詢這些中心點(diǎn),而不是整個(gè)數(shù)據(jù)集。與HSNW相比,IVF的構(gòu)建時(shí)間更短,但查詢過程中的準(zhǔn)確率和速度則更低。

MyScale解決方案及其實(shí)際應(yīng)用

作為一種SQL向量數(shù)據(jù)庫,MyScale旨在處理復(fù)雜的查詢,實(shí)現(xiàn)快速的數(shù)據(jù)檢索,并有效地存儲(chǔ)大量數(shù)據(jù)。不同于其他專業(yè)向量數(shù)據(jù)庫,它能夠?qū)⒖焖俚腟QL執(zhí)行引擎(基于ClickHouse)與專有的多尺度樹圖(Multi-scale Tree Graph,MSTG)算法相結(jié)合。由于MSTG結(jié)合了基于樹和圖的算法優(yōu)勢(shì),因此MyScale能夠快速構(gòu)建和查詢,并在不同的過濾查詢比例下,既能保持速度和準(zhǔn)確性,又能保持資源和成本效率。

下面,讓我們來看看MyScale可以在哪些實(shí)際應(yīng)用中發(fā)揮巨大的作用:

  • 基于知識(shí)的QA應(yīng)用:在開發(fā)問答(QA)系統(tǒng)時(shí),作為一個(gè)理想的向量數(shù)據(jù)庫,MyScale具有自查詢功能和靈活的過濾功能,可以從文件中獲取高度相關(guān)的結(jié)果。此外,MyScale還具有出色的可擴(kuò)展性,可以同時(shí)管理多個(gè)用戶。若您想了解更多信息,可以從其相關(guān)文檔中獲得幫助。此外,您還可以利用其帶有高級(jí)算法的自查詢,來提高查詢結(jié)果的準(zhǔn)確性和速度。
  • 大型AI聊天機(jī)器人:開發(fā)大型聊天機(jī)器人是一項(xiàng)極具挑戰(zhàn)性的任務(wù),尤其是當(dāng)您必須同時(shí)管理眾多用戶,并需要對(duì)他們區(qū)別對(duì)待時(shí)。鑒于聊天機(jī)器人需要提供準(zhǔn)確的答案,MyScale可以通過與SQL兼容的、基于角色的訪問控制,來簡(jiǎn)化聊天機(jī)器人的構(gòu)建,并通過數(shù)據(jù)分區(qū)和過濾查詢,來實(shí)現(xiàn)對(duì)大規(guī)模租戶的管理。
  • 圖像查詢:如果您正在創(chuàng)建一個(gè)可執(zhí)行語義查詢或類似圖像查詢的系統(tǒng),MyScale可以在保持高性能和資源效率的同時(shí),輕松滿足不斷增長(zhǎng)的圖像數(shù)據(jù)需求。此外,您也可以編寫更為復(fù)雜的SQL和向量連接查詢,來根據(jù)元數(shù)據(jù)或視覺內(nèi)容去匹配圖像。更多詳細(xì)信息,請(qǐng)參閱與圖像查詢相關(guān)的項(xiàng)目文檔。

除了上述實(shí)際應(yīng)用之外,通過結(jié)合MyScale的SQL和向量功能,您還可以開發(fā)出高級(jí)的推薦系統(tǒng)、以及對(duì)象檢測(cè)應(yīng)用等。

小結(jié)

綜上所述,向量查詢可以通過解釋嵌入中向量中的語義,超越傳統(tǒng)的術(shù)語匹配。這種方法不僅對(duì)文本有效,也可以擴(kuò)展到圖像、音頻、以及各種多模態(tài)的非結(jié)構(gòu)化數(shù)據(jù)中。其中,最典型的莫過于ImageBind (https://ai.meta.com/blog/imagebind-six-modalities-binding-ai/)等模型。當(dāng)然,這項(xiàng)技術(shù)也面臨著計(jì)算、存儲(chǔ)需求、以及高維向量語義模糊性等挑戰(zhàn)。

而MyScale可以通過將SQL和向量查詢創(chuàng)新式地融合到一個(gè)統(tǒng)一、高性能、高性價(jià)比的系統(tǒng)中,從而滿足了從問答系統(tǒng)到AI聊天機(jī)器人、以及圖像查詢等廣泛應(yīng)用的多功能性和高效性。

作者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對(duì)內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識(shí)與經(jīng)驗(yàn)。

原文標(biāo)題:What Is Vector Search?,作者:Usama Jamil

原文鏈接:https://dzone.com/articles/what-is-vector-search

責(zé)任編輯:姜華 來源: 51CTO
相關(guān)推薦

2024-02-21 08:19:54

2025-02-24 10:07:09

Redis節(jié)點(diǎn)遷移集群

2019-01-28 09:32:30

跳槽員工程序員

2015-01-12 09:33:27

WAN

2025-04-28 09:27:26

2023-08-16 08:00:00

MSP安網(wǎng)絡(luò)安全

2024-08-07 08:22:27

2023-08-29 09:46:12

SQLCTE遞歸

2025-02-17 11:07:10

2022-12-08 07:17:49

2020-05-06 22:07:53

UbuntuLinux操作系統(tǒng)

2021-12-02 06:58:01

中間頁中間層編程

2025-03-03 10:25:10

2024-11-25 06:20:00

Netty封裝框架

2020-11-20 07:51:02

JavaSPI機(jī)制

2009-01-04 16:58:48

LINQ to XMLLINQXML

2024-01-01 08:46:32

2022-01-25 17:40:00

測(cè)試

2012-08-23 09:35:46

2025-03-28 10:27:29

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)