Perplexity 推出 pplx-embed-v2-context-9b-preview 上下文檢索模型,結合支援證據提升 RAG 精準度
Perplexity 與 turbopuffer 合作發布 pplx-embed-v2-context-9b-preview 預覽版模型,透過上下文壓縮蒸餾技術,解決傳統檢索只鎖定單一答案段落的問題。模型支援 1024 與 2048 維度,具備原生 INT8 量化能力,能在大幅縮減向量儲存空間的同時,完整檢索答案與查證所需的佐證段落。
在檢索增強生成(RAG)系統中,長文件通常會被切分成數個片段以便建立索引。然而,孤立的片段往往缺乏前文的實體介紹、章節標題或背景定義,導致搜尋時難以與使用者的問題精確匹配。Perplexity 針對這項痛點,在 官方部落格發布技術說明 並透過 X 官方社群貼文(
)公布最新的檢索模型研究,同時在 Hugging Face 釋出 pplx-embed-v2-context-9b-preview 預覽版權重,展示如何同時檢索核心答案與周邊佐證脈絡。傳統單一片段標註在長文件檢索中的限制
常見的向量檢索訓練方式,多數依賴大型語言模型為每個查詢標註一個最關鍵的回答段落,通常稱為黃金段落(Gold Passage)。訓練目標是將該段落與其他文件以及同份文件中的其餘段落對比,讓模型學會拉近正確答案的距離。
這種訓練架構存在幾個明確的限制:
第一,單一標註將文件內所有非答案片段都視為負樣本。現實應用中,回答段落往往依賴前文的背景補充、條件限制或專業名詞定義。如果這些具備佐證功能的段落被系統強制排除,生成的回答容易失去完整性。
第二,傳統標註方式依賴二元分類,缺乏相關度強弱的連續分級。使用大型語言模型逐篇閱讀並挑選段落,資料標註成本會隨著資料集規模線性上升。
第三,標籤與切分邊界高度綁定。若索引時變更分塊長度,原本標註的答案範圍可能被截斷,使得模型對不同長度的切分方式缺乏彈性。
運用上下文壓縮模型進行軟性知識蒸餾
為了克服單一片段標註的缺點,Perplexity 改採查詢感知的上下文壓縮模型作為教師模型。教師模型會共同讀取查詢與整份文件,並為文件中的每一個 Token 計算連續的關聯分數。
彈性分塊與連續關聯分數
訓練流程中,文件會以整篇形式送入編碼器,並在片段之間加入特殊的分隔標記 <|chunk_sep|>。系統以片段內前 n 個最高分的 Token 平均值,代表該片段的關聯度。這種做法具備數項技術特性:
- 關聯度不再是零與一的硬性區分,而是能呈現回答段落與周邊輔助段落的層次差異。
- 同一套 Token 等級的評分結果,可以在訓練時直接套用於不同的分塊策略,無需為新的長度重新標註。
- 壓縮模型專注於評分任務,比呼叫通用大型語言模型更具成本效益。
雙重損失函數設計
該模型結合兩項訓練目標。文件層級採用對比損失,參考 ColBERT 的 MaxSim 機制,以文件中最高分的片段關聯度作為整份文件的相關度評估標準。片段層級則使用蒸餾損失,透過前向 KL 散度(Forward KL Divergence),引導學生模型的預測機率分布對齊教師模型的軟性目標。
教師模型只在訓練階段參與運算,推論時模型仍維持一般嵌入模型的運作方式,為每個片段產生單一向量,不會增加額外的檢索延遲。
模型架構與原生量化設計
這款模型以 Perplexity 內部 9B 參數量的 ColBERT 檢索模型為基礎,透過線性投影層輸出 2048 維度的向量表示。Hugging Face 上的模型卡顯示,其實際參數約為 8B 至 9B 等級。
支援 Matryoshka 維度截斷與 INT8
模型在訓練期間導入 Matryoshka 表示學習機制,支援 2048 維度與 1024 維度兩種規格。若系統需要更低的儲存成本,使用者可以擷取未標準化向量的前 1024 個數值,再進行 L2 正規化。
此外,該模型支援原生量化感知訓練(Quantization-Aware Training),能直接輸出未標準化的 INT8 量化向量。在實際儲存運算中,1024 維度的 INT8 向量單個僅需 1 KB 儲存空間。
查詢與文件編碼差異
推論時必須留意編碼方式的區隔。模型在訓練時針對查詢與文件採用不同的前綴標記,文件片段應使用 encode 函式,查詢文字則必須透過 encode_queries 函式進行編碼。若直接將查詢放入通用 encode 處理,官方測試指出檢索品質會出現退化。
context-bench 與基準測試數據
為了衡量檢索模型在跨段落理解上的表現,Perplexity 與 turbopuffer 合作建立了 context-bench 基準測試。
測試環境與評估維度
該基準測試包含 21 個領域、38,894 份長文件與 2,099 個查詢,目標文件的長度中位數約為 6,100 個 Token,總共切分為 2,458,072 個句子片段。測試涵蓋十二項上下文理解能力,包括實體辨識、表格結構解析、代名詞指涉、版本修訂時序、因果關係與例外條款判斷等。
評估指標主要包含三項:
- Answer@K:前 K 個檢索結果中包含正確答案片段的比例。
- Evidence Recall@K:在鎖定目標文件的前提下,檢索出必要佐證片段群組的召回率。
- All-Evidence@10:檢索結果同時涵蓋答案以及全部佐證群組的成功率。
官方公布之測試數據
根據 Perplexity 官方公布的盲測結果,在 context-bench 測試集於 K 等於 10 的條件下:
- 答案召回率(Answer@10)達到 45.5%,比 voyage-context-4 高出 14.4 個百分點。
- 佐證召回率(Evidence Recall@10)為 40.6%,比 voyage-context-4 高出 5.0 個百分點。
- 完整佐證召回率(All-Evidence@10)達到 31.1%。
- 儲存效益方面,1024 維度 INT8 格式在官方片段檢索評估中,表現略高於 2048 維度 float32 格式的 voyage-context-4,但向量儲存體積僅為後者的八分之一。
在公開的 ConTEB 評測中,該模型在展示的同類模型中取得最高平均 nDCG@10 成績,但在單純的文件層級匹配任務上,則略落後於部分文件專用模型。
常見問題
pplx-embed-v2-context-9b-preview 可以直接在生產環境正式上線嗎?
目前官方將其定義為預覽版本(Preview Release)。Perplexity 在模型說明中特別註明,未來的正式版本可能會調整權重、介面或向量空間,且不保證向後相容。現階段生成的向量不應與未來新版模型混合檢索,建議目前以技術驗證與內部測試為主。
部署該模型需要哪些環境套件?
使用該模型需安裝 transformers 5.4.0 以上版本,搭配 torch、safetensors、numpy 與 tqdm。由於模型包含自訂架構代碼,載入時必須將 trust_remote_code 設定為 True。
目前可以透過 Perplexity 官方 API 呼叫此模型嗎?
該模型目前以 MIT 開源授權將權重發布於 Hugging Face,提供自建主機下載使用,Perplexity 官方 API 尚未正式提供此模型的線上調用端點。
結語
pplx-embed-v2-context-9b-preview 展示了透過 Token 等級壓縮模型引導嵌入向量學習的新方式。藉由保留周邊佐證資訊與原生 INT8 量化能力,這項技術降低了長文本檢索對龐大向量儲存空間的需求,同時讓系統能更精確地找回回答事實所需的上下文內容。

