在現代的資訊檢索與語義搜尋中,將文本轉換為向量(Embedding)是核心技術。傳統的稠密向量模型(Dense Embedding Model)會將整段文本壓縮成一個固定長度的向量,雖然搜尋速度極快,但這種「過度壓縮」會導致資訊損失。例如,當查詢包含多個具體要求(如「帶有木製腿和圓形墊子的綠色沙發」)時,單一向量必須將所有特徵平均化,容易導致模型在匹配時忽略掉其中某個關鍵細節。
為了克服這個問題,Sentence Transformers 在 v6.0 版本中引入了 MultiVectorEncoder,支持 ColBERT 風格的「延遲交互」(Late Interaction)檢索模型。這種方法不再將文本壓縮為單一向量,而是為每個 Token(文本最小單位)保留一個向量,從而精確地捕捉 token 級別的匹配資訊。
核心機制:延遲交互與 MaxSim 運算子
多向量模型的核心在於將「交互」的時間點推遲到最後的評分階段。在傳統的雙編碼器(Bi-Encoder)中,查詢和文檔在編碼後僅進行一次點積運算;而交叉編碼器(Cross-Encoder)則在編碼初期就讓兩者深度交互,雖精準但無法預先計算文檔向量,導致檢索速度極慢。延遲交互則採取折衷方案:文檔依然可以獨立預先編碼並索引,但在評分時,會使用 MaxSim 運算子進行細粒度比對。
MaxSim 的運作方式是:針對查詢中的每一個 Token 向量,在文檔的所有 Token 向量中尋找相似度最高(最大值)的那一個,最後將這些最大相似度加總。這種機制就像是一種「軟對齊」(Soft Alignment),讓查詢中的每個詞都能在文檔中找到最對應的證據。由於使用的是上下文向量,即使詞彙不完全相同(例如「居住」與「棲息」),模型依然能透過語義相似度完成匹配,這使其兼具了關鍵字匹配的精準度與語義搜尋的靈活性。
實務應用:從文本到多模態視覺檢索
多向量模型不僅適用於文本,更是目前視覺文檔檢索(Visual Document Retrieval)的最前沿技術。例如 ColPali 系列模型可以直接將文本查詢與頁面圖像進行匹配,而無需經過 OCR(光學字元辨識)將圖片轉為文字。這是因為頁面圖像包含圖表、表格和複雜佈局,單一向量無法概括所有視覺資訊,而多向量模型可以將圖像的不同區域(Patches)視為 Token,讓文字 Token 與圖像區域進行 MaxSim 匹配。
此外,這種能力也擴展到了音訊與影片檢索。透過 ColQwen-Omni 等模型,使用者可以用文字查詢音訊片段,模型會在沒有轉錄文字的情況下,直接在音訊特徵空間中尋找匹配項。對於影片,則透過對幀進行採樣(Sampling)來降低記憶體壓力,實現高效的視覺內容檢索。
效能權衡與索引優化
多向量模型最顯著的代價是索引空間的劇增。因為每個文檔不再是一個向量,而是一個向量矩陣(Token 數 $\times$ 維度),儲存需求可能比傳統稠密模型高出數十倍。為了緩解這一問題,實務上通常採取三種策略:
第一是使用專用的索引技術,如 PLAID 或支援多向量的向量資料庫(如 Qdrant, Weaviate, Vespa 等),透過量化(Quantization)和質心剪枝來壓縮空間。第二是採用「檢索後重排」(Retrieve and Rerank)架構,先用快速的單向量模型篩選出前 50 個候選者,再用多向量模型進行精準評分,這樣就不需要為全量數據建立多向量索引。第三是導入 Token Pooling(Token 池化)技術,利用分層聚類將相似的 Token 向量合併,在幾乎不損失精準度的情況下,將索引體積縮減至原來的 1/2 甚至 1/5。
技術意義與限制
多向量模型在處理長文檔、多條件查詢以及域外數據(Out-of-domain data)時表現優異,因為它避免了單一向量在訓練分佈之外失效的風險。其另一大優勢是可解釋性:由於 MaxSim 是可分解的加總,開發者可以精確地追蹤查詢中的哪個詞對應到了文檔中的哪個部分,甚至能生成熱力圖(Heatmap)來視覺化匹配過程。
然而,其限制在於對計算資源的依賴。儘管透過 Flash Attention 和 FP16 半精度可以提升吞吐量,但處理超長影片或極大規模索引時,VRAM 的壓力依然巨大。因此,在選擇多向量模型時,必須在檢索精準度、儲存成本與推理延遲之間取得平衡。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。