pipeline_tag: 句子相似度
tags:
- sentence-transformers
- 特征提取
- 句子相似度
- transformers
language: pl
license: gemma
widget:
- source_sentence: "查询:如何活到100岁?"
sentences:
- "需要健康饮食和坚持运动。"
- "应该喝酒、参加派对和开快车。"
- "竞选期间政客们承诺要废除周日购物禁令。"
Stella-PL-retrieval
这是一个基于stella_en_1.5B_v5并针对波兰语信息检索任务进一步微调的文本编码器。
该编码器将文本转换为1024维向量。该模型专门针对波兰语信息检索任务进行了优化。如果您需要一个更通用的编码器,适用于语义相似性或聚类等更广泛的任务,您可能需要使用第一步的蒸馏版本:sdadas/stella-pl。
使用方法(Sentence-Transformers)
该模型使用了与原始stella_en_1.5B_v5相同的提示词。
对于检索任务,查询应前缀**"Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: "**。
对于对称任务(如语义相似性),两个文本都应前缀**"Instruct: Retrieve semantically similar text.\nQuery: "**。
请注意,该模型使用了自定义实现,因此在加载时应添加trust_remote_code=True
参数。
建议使用Flash Attention 2,可通过attn_implementation
参数启用。
您可以使用sentence-transformers这样使用该模型:
from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim
model = SentenceTransformer(
"sdadas/stella-pl-retrieval",
trust_remote_code=True,
device="cuda",
model_kwargs={"attn_implementation": "flash_attention_2", "trust_remote_code": True}
)
model.bfloat16()
query_prefix = "Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: "
queries = [query_prefix + "如何活到100岁?"]
answers = [
"需要健康饮食和坚持运动。",
"应该喝酒、参加派对和开快车。",
"竞选期间政客们承诺要废除周日购物禁令。"
]
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])
sim_prefix = "Instruct: Retrieve semantically similar text.\nQuery: "
sentences = [
sim_prefix + "需要健康饮食和坚持运动。",
sim_prefix + "值得提倡的是保持健康的生活方式,包括体育锻炼和合理饮食。",
sim_prefix + "One should eat healthy and engage in sports.",
sim_prefix + "购物时需输入PIN码确认,该密码可在激活时安全设置。"
]
emb = model.encode(sentences, convert_to_tensor=True, show_progress_bar=False)
print(cos_sim(emb, emb))
评估结果
该模型在波兰信息检索基准测试中达到NDCG@10分数为62.32。详细结果请参见PIRB排行榜。
引用
@article{dadas2024pirb,
title={{PIRB}: 波兰密集和混合文本检索方法的全面基准测试},
author={Sławomir Dadas and Michał Perełkiewicz and Rafał Poświata},
year={2024},
eprint={2402.13350},
archivePrefix={arXiv},
primaryClass={cs.CL}
}