🚀 MMLW-e5-large
MMLW(必须有更好的消息)是用于波兰语的神经文本编码器。这是一个蒸馏模型,可用于生成适用于许多任务的嵌入向量,如语义相似度、聚类、信息检索等。该模型也可作为进一步微调的基础。它能将文本转换为 1024 维的向量。该模型使用多语言 E5 检查点进行初始化,然后在包含 6000 万对波兰语 - 英语文本的多样化语料库上,采用多语言知识蒸馏方法进行训练。我们使用英语 FlagEmbeddings (BGE) 作为蒸馏的教师模型。
🚀 快速开始
安装
本项目使用 sentence-transformers 库,你可以使用以下命令进行安装:
pip install sentence-transformers
使用
⚠️ 重要提示
本嵌入模型在对文本进行编码时需要使用特定的前缀和后缀。对于此模型,查询应加上 "query: " 前缀,段落应加上 "passage: " 前缀。
💡 使用建议
在使用模型时,确保输入的文本添加了正确的前缀,以获得准确的结果。
以下是使用该模型的示例代码:
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-e5-large")
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])
✨ 主要特性
- 多任务适用性:可用于语义相似度、聚类、信息检索等多种任务。
- 可微调:可作为进一步微调的基础。
- 高维向量转换:能将文本转换为 1024 维的向量。
💻 使用示例
基础用法
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-e5-large")
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])
📚 详细文档
评估结果
- 该模型在波兰大规模文本嵌入基准测试(MTEB)中取得了 61.17 的平均得分。详细结果请参阅 MTEB 排行榜。
- 该模型在波兰信息检索基准测试中取得了 56.09 的 NDCG@10 得分。详细结果请参阅 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}
}
📄 许可证
本项目采用 Apache-2.0 许可证。