🚀 MMLW-retrieval-e5-base
MMLW(必須有更好的消息)是用於波蘭語的神經文本編碼器。該模型針對信息檢索任務進行了優化,能夠將查詢和段落轉換為768維的向量。
🚀 快速開始
MMLW是專為波蘭語設計的神經文本編碼器,此模型在信息檢索任務中表現出色,可將查詢和段落轉化為768維向量。
✨ 主要特性
- 針對信息檢索任務進行了優化。
- 能將查詢和段落轉換為768維向量。
- 採用兩步訓練流程,結合多語言知識蒸餾方法和對比損失微調。
📦 安裝指南
暫未提供相關安裝步驟。
💻 使用示例
基礎用法
from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim
query_prefix = "query: "
answer_prefix = "passage: "
queries = [query_prefix + "Jak dożyć 100 lat?"]
answers = [
answer_prefix + "Trzeba zdrowo się odżywiać i uprawiać sport.",
answer_prefix + "Trzeba pić alkohol, imprezować i jeździć szybkimi autami.",
answer_prefix + "Gdy trwała kampania politycy zapewniali, że rozprawią się z zakazem niedzielnego handlu."
]
model = SentenceTransformer("sdadas/mmlw-retrieval-e5-base")
queries_emb = model.encode(queries, convert_to_tensor=True, show_progress_bar=False)
answers_emb = model.encode(answers, convert_to_tensor=True, show_progress_bar=False)
best_answer = cos_sim(queries_emb, answers_emb).argmax().item()
print(answers[best_answer])
高級用法
暫未提供相關高級用法示例。
📚 詳細文檔
模型訓練過程
該模型的開發採用了兩步流程:
- 第一步,使用多語言E5檢查點進行初始化,然後在包含6000萬對波蘭語 - 英語文本的多樣化語料庫上,使用多語言知識蒸餾方法進行訓練。我們使用英語FlagEmbeddings (BGE)作為蒸餾的教師模型。
- 第二步,在波蘭語MS MARCO訓練分割集上,使用對比損失對得到的模型進行微調。為了提高對比訓練的效率,我們使用了較大的批量大小 - 小型模型為1152,基礎模型為768,大型模型為288。微調在由12個A100 GPU組成的集群上進行。
評估結果
該模型在波蘭語信息檢索基準測試中達到了NDCG@10為56.09的成績。詳細結果請參閱PIRB排行榜。
致謝
該模型的訓練得到了格但斯克工業大學在TASK中心倡議下提供的A100 GPU集群的支持。
引用
@article{dadas2024pirb,
title={{PIRB}: A Comprehensive Benchmark of Polish Dense and Hybrid Text Retrieval Methods},
author={Sławomir Dadas and Michał Perełkiewicz and Rafał Poświata},
year={2024},
eprint={2402.13350},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
🔧 技術細節
該模型是針對波蘭語的信息檢索任務進行優化的神經文本編碼器。它通過兩步訓練過程得到:首先基於多語言E5檢查點初始化,並利用多語言知識蒸餾方法在大規模的波蘭語 - 英語文本對上進行訓練;然後在波蘭語MS MARCO數據集上使用對比損失進行微調。模型最終能夠將查詢和段落轉換為768維的向量,以用於信息檢索任務。
📄 許可證
本模型採用Apache 2.0許可證。
⚠️ 重要提示
2023 - 12 - 26:我們已將模型更新到新版本,結果有所改進。你仍然可以使用 v1 標籤下載之前的版本:AutoModel.from_pretrained("sdadas/mmlw-retrieval-e5-base", revision="v1")
⚠️ 重要提示
我們的密集檢索器在編碼文本時需要使用特定的前綴和後綴。對於此模型,查詢應加上 "query: " 前綴,段落應加上 "passage: " 前綴。