在現代的資訊檢索系統中,Dense Embedding(稠密嵌入)模型是最主流的選擇。這類模型將整段文本壓縮成單一向量,並透過計算兩個向量之間的點積或餘弦相似度來衡量相關性。然而,這種「將全文本壓縮為單一向量」的做法會導致細粒度的資訊在平均化過程中遺失。為了克服這個問題,ColBERT 引入了 Late Interaction(延遲交互)機制,這也是 Multi-Vector Encoder(多向量編碼器)的核心邏輯。
多向量模型不再將文本壓縮成一個向量,而是為每個 Token(詞元)保留一個小型向量。在檢索時,查詢語句的每個 Token 會在文件中尋找最匹配的 Token,並將這些最高相似度分數加總(即 MaxSim 運算)。這種方式保留了文本的細節特徵,通常能提供比單向量模型更強的檢索能力,但代價是索引體積會大幅增加。
Sentence Transformers 在 v6.0 版本中正式引入了 MultiVectorEncoder 類別,讓開發者能更便捷地訓練與微調這類模型。
背景與微調的必要性
許多通用檢索模型在特定領域(如法律、醫療、程式碼)表現不佳,主因在於不同領域的詞彙、查詢風格與相關性定義截然不同。多向量模型由於能捕捉 Token 層級的訊號,對領域微調(Domain Finetuning)的反應非常靈敏。
此外,文件長度是另一個關鍵瓶頸。許多預訓練模型(如經典的 ColBERT)將文件截斷在 180 或 300 個 Token,而許多稠密模型則在 512 個 Token 截斷。如果實際應用的文件較長(例如平均 900 個 Token 的醫療文獻),模型會悄悄丟棄大部分內容,導致檢索品質大幅下降。透過自行微調,開發者可以根據數據需求設定正確的文件長度,避免資訊遺失。
核心訓練流程與組件
訓練一個多向量模型主要涉及模型選擇、數據集準備、損失函數與訓練參數四個部分。
在模型選擇上,開發者有兩種路徑:一是微調現有的多向量模型(如 mLateOn),這能繼承原有的投影頭(Projection Head)與標記 Token;二是從基礎 Transformer(如 ModernBERT)開始構建,系統會自動附加一個隨機初始化的線性層來將 Token 向量降維。研究發現,使用「未經過監督微調」的預訓練檢查點(Unsupervised Checkpoints)作為起點,在領域適應上的效果最好,因為它們保留了結構特徵且未被通用數據「固化」。
數據集方面,最簡單且有效的方式是收集(查詢, 正確文件)對。Sentence Transformers 支持從 Hugging Face Hub 或本地 CSV/JSON 載入數據。
損失函數則是訓練的核心。對於常見的問答對,建議使用 CachedMultiVectorMultipleNegativesRankingLoss。這是一種 In-batch Negatives(批次內負樣本)訓練法,將同一個批次中的其他文件視為負樣本。為了克服 GPU 記憶體限制,GradCache 技術允許將有效批次大小(Effective Batch Size)與實際記憶體佔用解耦,讓開發者在消費級 GPU 上也能訓練大批次模型。需要注意的是,多向量模型的 Scale(縮放係數)應設為 1.0,而非稠密模型常用的 20.0,以避免 Softmax 飽和導致梯度消失。
實務經驗與性能影響
在醫療檢索數據集 MIRIAD 上的實驗證明,微調後的多向量模型能顯著超越所有通用模型。即便面對參數規模大上 33 倍的稠密模型(如 Qwen3-Embedding-4B),多向量模型在 NDCG@10 等指標上依然領先。這證明了在長文本檢索中,「每個 Token 一個向量」的策略優於「每篇文件一個向量」。
訓練成本方面,在單張 RTX 3090 GPU 上,處理一百萬對數據約需 14.5 小時,峰值顯存約 17.5 GB。有趣的是,僅使用十萬對數據訓練 75 分鐘,即可達到接近全量訓練 98% 的性能,顯示出多向量模型在小樣本下的高效能。
限制與索引優化
多向量模型最大的限制在於儲存成本。由於每個 Token 都需要儲存向量,索引體積可能比稠密模型大數十倍。例如,20 萬篇長文件的原始 FP16 嵌入可能高達 45 GB。
為了解決這個問題,可以採取兩種策略:第一是 Token Pooling(Token 池化),透過聚類將多個 Token 向量合併為一個平均值,能有效降低體積但會輕微損失精度。第二是量化與剪枝(Quantization and Pruning),使用如 PLAID 的殘差量化技術。實驗顯示,經過 1-bit 量化與剪枝後,索引體積可從 45 GB 壓縮至 1.45 GB,且性能損失極小。這意味著只要配置正確,多向量模型在部署上的成本是可以接受的。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。