xCloudinfo/Llama-xVITA-Embed-1B-zhTW-GGUF
Llama-xVITA-Embed-1B-zhTW-GGUF
繁體中文(台灣)檢索用嵌入模型,2048維、8192上下文,由云碩科技(xCloudinfo)微調。 本倉庫提供GGUF格式,可直接用llama.cpp或相容工具在地端執行。
Built with Llama.
這顆解決什麼問題
檢索式問答(RAG)的第一段決定了後面所有環節看得到什麼:沒進入top-k的段落,重排序救不回來。 繁中場景長期只能在兩種模型之間取捨,一種擅長段落級檢索、另一種擅長整篇文章檢索, 沒有一顆同時做好。這顆的目標就是把兩者收在同一組權重裡。
底模是nvidia/llama-nemotron-embed-1b-v2,續訓分兩階段:先在段落級困難負例上訓練, 再從短文階段模型續訓到8192上下文做整篇文章檢索,並混入短文語料防止段落能力退化。
成績
同一把尺:DRCD test,短文為3,493個查詢對1,000段落池,長文為3,493個查詢對378篇文章。
相對前一代:短文+2.06個百分點、長文+6.84個百分點。長文那一段是這次的重點, 前一代要另外準備一顆長文特化模型才做得到0.847,這顆一顆就到0.8600。
Matryoshka:可截維度,向量庫成本自己選
本模型支援截斷維度後重新正規化,不需要重訓。實測(同一把尺,同一次編碼後逐維截斷):
截到768維(與前一代同樣大小)仍是0.8689 / 0.8443,兩項都超過前一代的0.8603 / 0.7916。 換句話說,從前一代換過來可以不增加任何向量庫成本。
上表2048那一列與前一張表的0.1個百分點差異,來自正規化時機不同(此表是編碼後才截斷正規化), 兩者都是實測值,不是四捨五入。
用法
前綴(必讀)
本模型沿用E5慣例,查詢與段落要各自加前綴,訓練與服務端必須一致,用錯會讓檢索無聲變差:
- 查詢:
query: - 段落:
passage:
llama.cpp
llama-embedding -m Llama-xVITA-Embed-1B-zhTW-v1.0-Q8_0.gguf \
-p "passage: 玉山是臺灣最高的山峰,海拔三千九百五十二公尺。" \
--embd-output-format json不需要另外指定--pooling mean或--attention non-causal:本模型是雙向編碼器, 這兩個設定已經寫進GGUF檔頭(llama-embed.attention.causal=false、llama-embed.pooling_type=1)。
多數上游轉出來的同架構GGUF沒有寫這兩個鍵,llama.cpp會退回預設的因果遮罩去跑一顆雙向模型, 與原始權重的cosine只有約0.85。若你使用別處取得的同架構GGUF而結果不對,請補上--attention non-causal --pooling mean。
llama-server
llama-server -m Llama-xVITA-Embed-1B-zhTW-v1.0-f16.gguf --embedding --port 8080檔案與精度驗證
轉檔後一律與原始權重逐句比對向量,通過才發布。
授權
本模型是nvidia/llama-nemotron-embed-1b-v2的衍生物,該模型又衍生自meta-llama/Llama-3.2-1B, 因此同時受兩份授權約束,使用前請自行確認符合條款:
- Llama 3.2 Community License(來自Llama-3.2-1B)。依該授權要求,模型名稱以
Llama開頭,並標示Built with Llama。 - NVIDIA Open Model License(來自llama-nemotron-embed-1b-v2),允許商業使用。
關於云碩科技
云碩科技(xCloudinfo Corp. Limited)專注於地端私有化人工智慧解決方案。 xVITA是云碩自研模型的品牌名稱。
其他模型請見 https://hf.co/xCloudinfo。
