🚀 基于nreimers/MiniLM-L6-H384-uncased的交叉编码器
这是一个基于 nreimers/MiniLM-L6-H384-uncased 微调的 交叉编码器 模型,使用了 sentence-transformers 库。它可以计算文本对的分数,可用于文本重排序和语义搜索。
🚀 快速开始
直接使用(Sentence Transformers)
首先安装 Sentence Transformers 库:
pip install -U sentence-transformers
然后你可以加载这个模型并进行推理。
from sentence_transformers import CrossEncoder
model = CrossEncoder("ayushexel/reranker-MiniLM-L6-H384-uncased-gooaq-5-epoch-1995000")
pairs = [
['2020年民主党总统辩论何时举行?', '主要候选人提名将在2020年民主党全国代表大会上正式确定,该大会暂定于2020年8月17日至20日在威斯康星州密尔沃基举行。'],
['2020年民主党总统辩论何时举行?', '主要候选人截至2020年6月8日,前副总统乔·拜登通过积累足够的代表票数,成为了总统候选人的推定人选。'],
['2020年民主党总统辩论何时举行?', '2019年3月5日,布隆伯格宣布他不会参加2020年总统竞选;相反,他鼓励民主党“提名一位最有能力击败唐纳德·特朗普的民主党人”。'],
['2020年民主党总统辩论何时举行?', '基于2010年人口普查数据的2020年选举地图。2020年美国总统大选定于2020年11月3日星期二举行。这将是第59届总统大选。'],
['2020年民主党总统辩论何时举行?', '共有29位主要民主党候选人。其中,23位候选人参加了至少一场辩论。只有乔·拜登和伯尼·桑德斯参加了所有辩论;皮特·布蒂吉格、艾米·克洛布查尔和伊丽莎白·沃伦参加了除一场之外的所有辩论。'],
]
scores = model.predict(pairs)
print(scores.shape)
ranks = model.rank(
'2020年民主党总统辩论何时举行?',
[
'主要候选人提名将在2020年民主党全国代表大会上正式确定,该大会暂定于2020年8月17日至20日在威斯康星州密尔沃基举行。',
'主要候选人截至2020年6月8日,前副总统乔·拜登通过积累足够的代表票数,成为了总统候选人的推定人选。',
'2019年3月5日,布隆伯格宣布他不会参加2020年总统竞选;相反,他鼓励民主党“提名一位最有能力击败唐纳德·特朗普的民主党人”。',
'基于2010年人口普查数据的2020年选举地图。2020年美国总统大选定于2020年11月3日星期二举行。这将是第59届总统大选。',
'共有29位主要民主党候选人。其中,23位候选人参加了至少一场辩论。只有乔·拜登和伯尼·桑德斯参加了所有辩论;皮特·布蒂吉格、艾米·克洛布查尔和伊丽莎白·沃伦参加了除一场之外的所有辩论。',
]
)
✨ 主要特性
- 基于
nreimers/MiniLM-L6-H384-uncased
模型微调,可用于文本重排序和语义搜索。
- 计算文本对的分数,输出单个标签。
📦 模型详情
模型描述
模型来源
📚 评估
指标
交叉编码器重排序
指标 |
值 |
map |
0.4719 (+0.2021) |
mrr@10 |
0.4714 (+0.2125) |
ndcg@10 |
0.5149 (+0.2052) |
交叉编码器重排序
指标 |
NanoMSMARCO_R100 |
NanoNFCorpus_R100 |
NanoNQ_R100 |
map |
0.3405 (-0.1491) |
0.3375 (+0.0765) |
0.3251 (-0.0945) |
mrr@10 |
0.3251 (-0.1524) |
0.5157 (+0.0159) |
0.3406 (-0.0861) |
ndcg@10 |
0.4090 (-0.1314) |
0.3596 (+0.0346) |
0.4065 (-0.0942) |
交叉编码器 Nano BEIR
- 数据集:
NanoBEIR_R100_mean
- 使用
CrossEncoderNanoBEIREvaluator
进行评估,参数如下:{
"dataset_names": [
"msmarco",
"nfcorpus",
"nq"
],
"rerank_k": 100,
"at_k": 10,
"always_rerank_positives": true
}
指标 |
值 |
map |
0.3344 (-0.0557) |
mrr@10 |
0.3938 (-0.0742) |
ndcg@10 |
0.3917 (-0.0637) |
🔧 训练详情
训练数据集
未命名数据集
训练超参数
非默认超参数
eval_strategy
:按步数评估
per_device_train_batch_size
:256
per_device_eval_batch_size
:256
learning_rate
:2e-05
num_train_epochs
:5
warmup_ratio
:0.1
seed
:12
bf16
:True
dataloader_num_workers
:12
load_best_model_at_end
:True
框架版本
- Python:3.11.0
- Sentence Transformers:4.0.1
- Transformers:4.50.3
- PyTorch:2.6.0+cu124
- Accelerate:1.5.2
- Datasets:3.5.0
- Tokenizers:0.21.1
📄 许可证
本模型使用 Apache-2.0 许可证。
📖 引用
BibTeX
Sentence Transformers
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
month = "11",
year = "2019",
publisher = "Association for Computational Linguistics",
url = "https://arxiv.org/abs/1908.10084",
}