老司機(jī)帶你聊聊向量數(shù)據(jù)庫(kù)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
引言隨著人工智能、大數(shù)據(jù)技術(shù)的發(fā)展,傳統(tǒng)數(shù)據(jù)庫(kù)已經(jīng)難以滿足某些復(fù)雜應(yīng)用場(chǎng)景的需求,尤其是在圖像、語(yǔ)音、文本等非結(jié)構(gòu)化數(shù)據(jù)的處理上,傳統(tǒng)的精確匹配方式已經(jīng)顯得力不從心。 最近幾年,向量數(shù)據(jù)庫(kù)應(yīng)運(yùn)而生,成為了熱門話題。向量數(shù)據(jù)庫(kù)的核心優(yōu)勢(shì)在于它可以通過(guò)將數(shù)據(jù)轉(zhuǎn)化為高維向量,在相似性計(jì)算中找到更為接近的結(jié)果,而不再局限于傳統(tǒng)數(shù)據(jù)庫(kù)中對(duì)精確匹配的依賴。 如今,越來(lái)越多的應(yīng)用場(chǎng)景,特別是圖片搜索、語(yǔ)音識(shí)別正在依靠向量數(shù)據(jù)庫(kù)來(lái)解決問(wèn)題。眾多向量數(shù)據(jù)庫(kù)產(chǎn)品也如雨后春筍不斷冒出,F(xiàn)aiss 、Milvus、Pinecone、Weaviate、Vespa等等。
本文以輕松對(duì)話的方式,帶你深入了解向量數(shù)據(jù)庫(kù)的原理與應(yīng)用,并與傳統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行對(duì)比,探索其背后的技術(shù)魅力。 有趣的對(duì)話萌新:哥,我聽說(shuō)過(guò)傳統(tǒng)數(shù)據(jù)庫(kù),但是最近老聽人提什么“向量數(shù)據(jù)庫(kù)”。啥意思啊?我這數(shù)據(jù)庫(kù)小白完全懵逼了……?? 知識(shí)人:哈哈,別慌,我來(lái)給你大白話解釋。先說(shuō)傳統(tǒng)數(shù)據(jù)庫(kù)吧,你應(yīng)該聽過(guò)吧? 萌新:嗯,知道一點(diǎn),就是那種存數(shù)據(jù)、查數(shù)據(jù)的,不是么? 知識(shí)人:對(duì)!傳統(tǒng)數(shù)據(jù)庫(kù)的搜索,主要是基于一些索引和排序算法,比如B Tree、LSM Tree、Hash,或者你可能聽過(guò)的BM25、TF-IDF這些。簡(jiǎn)單說(shuō),就是它靠文本的精確匹配來(lái)查找數(shù)據(jù)。?? 萌新:哦,就是我輸入啥關(guān)鍵詞,它就去數(shù)據(jù)庫(kù)里找一模一樣的內(nèi)容,對(duì)吧?
知識(shí)人:沒錯(cuò)!比如你想搜索“省兒保”這個(gè)關(guān)鍵詞,結(jié)果數(shù)據(jù)庫(kù)里可能根本沒有存這個(gè)詞。它存的其實(shí)是“浙江大學(xué)醫(yī)學(xué)院附屬兒童醫(yī)院”。因?yàn)檫@兩個(gè)詞不一樣,傳統(tǒng)數(shù)據(jù)庫(kù)就直接懵了,找不到東西。?? 萌新:哈哈,那也太笨了吧!明明說(shuō)的是同一個(gè)地方,居然找不到? 知識(shí)人:對(duì)!傳統(tǒng)數(shù)據(jù)庫(kù)就是這樣,擅長(zhǎng)處理精確的關(guān)鍵字匹配,但對(duì)于這種有語(yǔ)義關(guān)聯(lián)的東西,確實(shí)力不從心。所以就有了向量數(shù)據(jù)庫(kù)!?? 萌新:哦?這向量數(shù)據(jù)庫(kù)是怎么解決這個(gè)問(wèn)題的? 知識(shí)人:向量數(shù)據(jù)庫(kù)牛就牛在,它不看表面的字,而是通過(guò)數(shù)學(xué)方法,把“省兒保” 和“浙江大學(xué)醫(yī)學(xué)院附屬兒童醫(yī)院”這種語(yǔ)義相關(guān)的東西給“理解”了。它把每個(gè)詞、每段文字轉(zhuǎn)化成一組數(shù)字,也就是所謂的“高維向量”。然后在這些數(shù)字之間比相似度。這樣,即使你輸入的詞不完全一樣,它也能找到相關(guān)的結(jié)果。???? 萌新:哇,那它是怎么做到的?是猜出來(lái)的么? 知識(shí)人:可以這么理解。它通過(guò)大量的數(shù)據(jù)訓(xùn)練,找到詞語(yǔ)、句子或者圖片的相似特征。就像你看一張圖,如果顏色、形狀相似,你會(huì)覺得它們很像,對(duì)吧?向量數(shù)據(jù)庫(kù)也是類似的原理,把數(shù)據(jù)分解成很多維度的特征,然后去比對(duì)。?? 萌新:原來(lái)如此!那它是不是就只適合這些“模糊搜索”? 知識(shí)人:對(duì)的!你還記得幾年前淘寶、百度推出的“以圖搜圖”功能嗎?那種場(chǎng)景,用傳統(tǒng)數(shù)據(jù)庫(kù)幾乎搞不定,但向量數(shù)據(jù)庫(kù)可以把圖片拆成各種維度的數(shù)值,然后在數(shù)據(jù)庫(kù)里找出和這些維度最相似的內(nèi)容。說(shuō)白了,它更擅長(zhǎng)處理圖片、語(yǔ)音這種非結(jié)構(gòu)化數(shù)據(jù)的搜索。??
萌新:聽著挺高大上啊!不過(guò)我有點(diǎn)疑問(wèn),向量數(shù)據(jù)庫(kù)和傳統(tǒng)的到底差別在哪兒? 知識(shí)人:這就要總結(jié)一下了。傳統(tǒng)數(shù)據(jù)庫(kù)靠的是精確查找,擅長(zhǎng)找一模一樣的數(shù)據(jù),而且它的索引和算法都很成熟。向量數(shù)據(jù)庫(kù)呢,是近似查找,它不是找一模一樣的,而是找“差不多”的東西。理論上,只要我們把對(duì)象的特征維度搞得足夠細(xì),它也能做到非常精確的查找。?? 萌新:那豈不是說(shuō),向量數(shù)據(jù)庫(kù)更聰明,可以解決所有問(wèn)題? 知識(shí)人:理想很豐滿,現(xiàn)實(shí)嘛,向量數(shù)據(jù)庫(kù)雖然強(qiáng)大,但它處理的維度越多,系統(tǒng)負(fù)載也越大,計(jì)算復(fù)雜度會(huì)大大增加。所以它一般只是用來(lái)做近似查詢,不可能替代所有的數(shù)據(jù)庫(kù)應(yīng)用。 萌新:明白了!它就是為了做那些傳統(tǒng)數(shù)據(jù)庫(kù)做不到的近似查找,尤其是那些圖片啊、語(yǔ)音啊,或者有語(yǔ)義關(guān)聯(lián)的東西。 知識(shí)人:沒錯(cuò)!向量數(shù)據(jù)庫(kù)就像給了數(shù)據(jù)庫(kù)一雙“理解”數(shù)據(jù)的眼睛,它能找到相似的東西,而不僅僅是死板的匹配關(guān)鍵字。現(xiàn)在,你對(duì)向量數(shù)據(jù)庫(kù)是不是清楚多了??? 萌新:哈哈,豁然開朗!感覺這東西挺有意思的,以后有機(jī)會(huì)得好好研究研究! 知識(shí)人:那就對(duì)了,歡迎加入數(shù)據(jù)庫(kù)的世界!?? 轉(zhuǎn)自https://www.cnblogs.com/lyhabc/p/18464431/vector-database-explained 該文章在 2025/1/8 9:58:38 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |