xCloudinfo/xVITA-Rerank-300M-zhTW-GGUF

Source: 🤗text-rankingmit1.2 GBGGUF✓ 3 checksumsupdated 50d ago
or submit a torrent

xVITA-Rerank-300M-zhTW-GGUF

云碩科技(xCloudinfo)自研繁體中文重排序模型(cross-encoder reranker)的 GGUF 量化版, 供 llama.cpp 部署使用。RAG 檢索第二段:嵌入模型撈出候選段落,本模型逐一細讀 (查詢, 段落)配對重新打分,把真正相關的段落拉到第一名。

搭配的嵌入模型:xVITA-Embed-300M-zhTW-GGUF。 完整精度權重(safetensors)為私有發行,如有微調或研究合作需求請聯繫云碩科技。

檔案

檔案 大小 說明
xVITA-Rerank-300M-zhTW-f16.gguf 593 MB 完整精度,與原版排序完全一致
xVITA-Rerank-300M-zhTW-Q8_0.gguf 318 MB 推薦。排序品質與 f16 相同
xVITA-Rerank-300M-zhTW-Q4_K_M.gguf 230 MB 最省資源;排序保持但分數校準有偏移(見下)

量化驗證(誠實揭露)

每一階量化都與原版 safetensors 用同一組測試(20 題 × 6 候選含干擾洗牌)比對過:

版本 正解排名一致 分數校準偏差(sigmoid 後最大)
f16 20/20(完整排序也 20/20) 0.026
Q8_0 20/20 0.106
Q4_K_M 20/20 0.672

三版的正解排名全部保持;排序差異僅發生在分數趨近零的干擾項互換位置。 Q4_K_M 的絕對分數不可靠(校準偏移大),只可用於取排序, 不要拿它的分數當過濾閾值;需要分數閾值請用 Q8_0 或 f16。

使用方式(llama.cpp)

llama-server -m xVITA-Rerank-300M-zhTW-Q8_0.gguf \
  --rerank --pooling rank --ctx-size 2048 --port 8100
curl http://localhost:8100/v1/rerank -H "Content-Type: application/json" -d '{
  "query": "依據海商法,船舶的定義範圍為何?",
  "documents": [
    "勞動基準法第三十條規定勞工每日正常工作時間不得超過八小時。",
    "海商法第一條:本法稱船舶者,謂在海上航行,或在與海相通之水面或水中航行之船舶。"
  ],
  "top_n": 2
}'

回傳的 relevance_score 為原始 logit;需要 0~1 機率請自行套 sigmoid。

llama.cpp 版本需求

本模型的底座 mmBERT 沿用 Gemma-2 的 256k SentencePiece 詞表。轉檔時已內嵌 SentencePiece 詞表資訊,2026-08 之後的 llama.cpp 版本可直接載入;若載入後 中文被逐字切分(一句話切出 3 倍以上的 token 數),代表你的 llama.cpp 版本過舊,請更新。

模型背景

項目 內容
底座 jhu-clsp/mmBERT-base(Johns Hopkins,MIT,ModernBERT 架構,8192 ctx)
訓練資料 云碩自有繁中語料(醫療/台灣通識與法規/海事)三線合併去重 252,849 對,抽樣 60,000 對訓練
困難負例 由 xVITA-Embed-300M-zhTW 從檢索 top-2~60 挖掘,每題 7 個
評測(三領域,各 500 題、池約 3 萬段落) 通識 hit@1 79.2→95.0%;醫療 38.0→81.8%;海事 77.8→99.4%

上表三個領域的數字取自各自的驗證集;跨批次的絕對分數不可直接互相比較(每次評測會抽出自己的驗證集),同一次評測內的「檢索器 vs 加上重排序」對照才有意義。

泛化評測(換領域、換文體)

上表量的是訓練過的三個領域,只能證明模型在看過的東西上有效。我們另外量了它在完全沒有 訓練過的語料上還剩多少效果,方法與上表一致:同一顆重排序模型、同一顆檢索器 (xVITA-Embed-300M-zhTW),各 500 題,比較「只有檢索器」與「檢索器加上重排序」 在同一組查詢上的差異。

評測集 檢索器 hit@1 加上重排序 hit@1 nDCG@10 提升
訓練領域(醫療/通識/海事) — 93.3% +0.2245
未訓練領域・書面(政府公開文件,檢索池 5,132 段) 61.8% 87.2% +0.1371
未訓練文體・口語(會議逐字稿,檢索池 4,053 段) 20.8% 18.8% +0.0799

換領域可用。 完全沒有看過的政府公開文件,hit@1 由 61.8% 提升到 87.2%, nDCG 提升仍保有訓練領域的六成。

換文體會弱化。 口語逐字稿上的提升只剩三成六。有兩點必須說清楚,否則這張表會被誤讀:

  1. 口語那一列 hit@1 的 −2.0 個百分點不構成退步。500 題、比例約 0.2 時, 單一比例的標準誤就有 1.8 個百分點,此差距不到一個標準差。該列真正站得住的是 hit@5(35.6% → 43.8%)與 nDCG 提升。
  2. 該列的檢索器本身也由 61.8% 掉到 20.8%。重排序只能在檢索器取回的候選內重新排序, 候選裡沒有正解就無從補救;因此這個 +0.0799 有多少來自重排序能力不足、 多少來自候選池本身不完整,以現有語料無法分離。

建議用途:書面文件的 RAG,例如法規、公文、技術文件、專業領域知識庫。 若您的查詢或語料屬於會議逐字稿、客服對話等口語文體,請以本節的方法在自己的資料上 先量一次再決定,不要直接套用上表數字。

量測條件:epochs=0 純評測,不更新權重;檢索器與線上部署為同一顆並套用相同檢索前綴; 訓練與驗證以段落(而非配對)切分,避免同一段落的多個問題跨集洩漏; 每輪先跑「段落對自己」的哨兵檢查,兩組均為 100%。

授權

MIT,與底座 mmBERT-base 一致。