生成式AI與大型語言模型

向量搜尋與嵌入檢索(vector search and embeddings retrieval)

/ VEK-tor surch and em-BED-ings ree-TREE-vul /

嵌入檢索,是電腦「按意思、而非按字面」搜尋的辦法。核心思想是「嵌入」:模型把每一段文字變成一長串數字——一個向量——其擺放方式使得意思相近的東西,在那個數字空間裡也彼此靠近。「汽車」和「轎車」會落在相鄰處,哪怕它們一個字都不重疊;「河的岸邊」和「河濱」會聚到一塊,遠離「儲蓄銀行」。於是搜尋變成了幾何:找出離查詢向量最近的那些已存向量。

想像一座浩大的圖書館,藏書不按字母、而按主題上架,於是凡與火山有關的,無論書脊上寫著什麼字,都坐落在同一個角落。要回答「岩漿為什麼會噴發?」,你走到那個角落,抓起最近的幾本書——哪怕有的從沒用過「噴發」二字。這就是向量搜尋所做的:你把問題嵌入成向量,向量資料庫便飛快找出嵌入坐落得最近的那些段落,按「意思」返回匹配。這通常正是RAG中「檢索」那一半的引擎。

兩點要誠實說明。嵌入空間裡的「靠近」近似於「意思相近」,卻只是近似——兩段文字可能因某些表面緣由而坐得很近,從而把搜尋帶偏。而嵌入會忠實地編碼模型所學到的一切,連同它的偏見與盲點,於是它判定兩樣東西「相似」的方式,可能反映的是它的訓練、而非你的本意。向量搜尋強大而迅捷,但它對「相關」的認定,是一個學來的猜測,而非一份保證。

使用者輸入「怎樣讓我的筆電安靜些?」按關鍵詞「安靜」去搜,會漏掉那篇標題叫《降低風扇噪音》的說明文章。可在嵌入空間裡,二者坐得很近——它們說的是同一個意思——於是即便一個字都不重疊,向量搜尋照樣把對的文章撈了出來。

按意思匹配,而非靠共享的關鍵詞。

嵌入把「意思」編碼成「模型所學到的樣子」——因此它帶著那個模型的偏見。兩份履歷、兩種方言,被判定為「相似」或「相異」的方式,可能悄悄反映的是訓練資料,而非任何客觀真理。有用,卻並不中立。

又稱
semantic searchembedding search向量搜索向量搜尋嵌入检索语义搜索