语言:
- 英文
许可证: apache-2.0
标签:
- 句子转换器
- 交叉编码器
- 训练生成
- 数据集大小:578402
- 损失函数:二元交叉熵损失
基础模型: answerdotai/ModernBERT-base
管道标签: 文本排序
库名称: sentence-transformers
评估指标:
- 平均精度(map)
- 前10命中率(mrr@10)
- 前10标准化折损累积增益(ndcg@10)
模型索引:
- 名称: 基于GooAQ训练的ModernBERT-base
结果:
- 任务:
类型: 交叉编码器重排序
名称: 交叉编码器重排序
数据集:
名称: gooaq开发集
类型: gooaq-dev
指标:
- 类型: 平均精度
值: 0.7258
名称: 平均精度
- 类型: 前10命中率
值: 0.7245
名称: 前10命中率
- 类型: 前10标准化折损累积增益
值: 0.7686
名称: 前10标准化折损累积增益
- 任务:
类型: 交叉编码器重排序
名称: 交叉编码器重排序
数据集:
名称: NanoMSMARCO R100
类型: NanoMSMARCO_R100
指标:
- 类型: 平均精度
值: 0.4807
名称: 平均精度
- 类型: 前10命中率
值: 0.4689
名称: 前10命中率
- 类型: 前10标准化折损累积增益
值: 0.5499
名称: 前10标准化折损累积增益
- 任务:
类型: 交叉编码器重排序
名称: 交叉编码器重排序
数据集:
名称: NanoNFCorpus R100
类型: NanoNFCorpus_R100
指标:
- 类型: 平均精度
值: 0.3866
名称: 平均精度
- 类型: 前10命中率
值: 0.6058
名称: 前10命中率
- 类型: 前10标准化折损累积增益
值: 0.4233
名称: 前10标准化折损累积增益
- 任务:
类型: 交叉编码器重排序
名称: 交叉编码器重排序
数据集:
名称: NanoNQ R100
类型: NanoNQ_R100
指标:
- 类型: 平均精度
值: 0.5595
名称: 平均精度
- 类型: 前10命中率
值: 0.5752
名称: 前10命中率
- 类型: 前10标准化折损累积增益
值: 0.6191
名称: 前10标准化折损累积增益
- 任务:
类型: 交叉编码器Nano BEIR
名称: 交叉编码器Nano BEIR
数据集:
名称: NanoBEIR R100均值
类型: NanoBEIR_R100_mean
指标:
- 类型: 平均精度
值: 0.4756
名称: 平均精度
- 类型: 前10命中率
值: 0.55
名称: 前10命中率
- 类型: 前10标准化折损累积增益
值: 0.5308
名称: 前10标准化折损累积增益
基于GooAQ训练的ModernBERT-base
这是一个从answerdotai/ModernBERT-base微调而来的交叉编码器模型,使用了sentence-transformers库。它计算文本对的分数,可用于文本重排序和语义搜索。
模型详情
模型描述
模型来源
使用方式
直接使用(Sentence Transformers)
首先安装Sentence Transformers库:
pip install -U sentence-transformers
然后可以加载此模型并进行推理。
from sentence_transformers import CrossEncoder
model = CrossEncoder("akr2002/reranker-ModernBERT-base-gooaq-bce")
pairs = [
['如何求质量?', "将物体的重量除以重力加速度即可求得质量。需要将重量单位转换为牛顿。例如,1千克=9.807牛顿。如果测量地球上物体的质量,用牛顿表示的重量除以地球的重力加速度(9.8米/秒²)即可得到质量。"],
['如何求质量?', "通常用法中,'大礼弥撒'指完整的仪式弥撒,很可能伴有音乐,如果特别传统还会使用香炉。...香炉使用相当频繁。传统仪式中的小礼弥撒由一位神父主持,通常只有一两位辅祭人员。"],
['如何求质量?', '中子的质量略大于质子。这些通常以原子质量单位给出,其中一个原子质量单位(u)定义为碳-12原子质量的1/12。你可以用这个证明1u的质量相当于931.5兆电子伏的能量。'],
['如何求质量?', '质量是物体所含物质的量,通常以克或千克等单位计量。重量是作用于质量的力,以牛顿计量。...密度基本上表示特定体积或空间中所含的质量量。相同尺寸的不同材料可能因密度不同而具有不同质量。'],
['如何求质量?', '接收者——大众传播是向大量接收者传递信息。这些大量接收者常被称为大众受众。大众受众规模大、异质且匿名。接收者分散在特定村庄、州或国家。'],
]
scores = model.predict(pairs)
print(scores.shape)
ranks = model.rank(
'如何求质量?',
[
"将物体的重量除以重力加速度即可求得质量。需要将重量单位转换为牛顿。例如,1千克=9.807牛顿。如果测量地球上物体的质量,用牛顿表示的重量除以地球的重力加速度(9.8米/秒²)即可得到质量。",
"通常用法中,'大礼弥撒'指完整的仪式弥撒,很可能伴有音乐,如果特别传统还会使用香炉。...香炉使用相当频繁。传统仪式中的小礼弥撒由一位神父主持,通常只有一两位辅祭人员。",
'中子的质量略大于质子。这些通常以原子质量单位给出,其中一个原子质量单位(u)定义为碳-12原子质量的1/12。你可以用这个证明1u的质量相当于931.5兆电子伏的能量。',
'质量是物体所含物质的量,通常以克或千克等单位计量。重量是作用于质量的力,以牛顿计量。...密度基本上表示特定体积或空间中所含的质量量。相同尺寸的不同材料可能因密度不同而具有不同质量。',
'接收者——大众传播是向大量接收者传递信息。这些大量接收者常被称为大众受众。大众受众规模大、异质且匿名。接收者分散在特定村庄、州或国家。',
]
)
评估
指标
交叉编码器重排序
指标 |
值 |
平均精度 |
0.7258 (+0.1946) |
前10命中率 |
0.7245 (+0.2005) |
前10标准化折损累积增益 |
0.7686 (+0.1774) |
交叉编码器重排序
指标 |
NanoMSMARCO_R100 |
NanoNFCorpus_R100 |
NanoNQ_R100 |
平均精度 |
0.4807 (-0.0089) |
0.3866 (+0.1256) |
0.5595 (+0.1399) |
前10命中率 |
0.4689 (-0.0086) |
0.6058 (+0.1060) |
0.5752 (+0.1485) |
前10标准化折损累积增益 |
0.5499 (+0.0095) |
0.4233 (+0.0982) |
0.6191 (+0.1184) |
交叉编码器Nano BEIR
- 数据集:
NanoBEIR_R100_mean
- 使用
CrossEncoderNanoBEIREvaluator
评估,参数如下:{
"dataset_names": [
"msmarco",
"nfcorpus",
"nq"
],
"rerank_k": 100,
"at_k": 10,
"always_rerank_positives": true
}
指标 |
值 |
平均精度 |
0.4756 (+0.0855) |
前10命中率 |
0.5500 (+0.0820) |
前10标准化折损累积增益 |
0.5308 (+0.0754) |
训练详情
训练数据集
未命名数据集
训练超参数
非默认超参数
eval_strategy
: 按步
per_device_train_batch_size
: 16
per_device_eval_batch_size
: 16
learning_rate
: 2e-05
num_train_epochs
: 1
warmup_ratio
: 0.1
seed
: 12
bf16
: 是
dataloader_num_workers
: 4
load_best_model_at_end
: 是
引用
BibTeX
Sentence Transformers
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: 使用孪生BERT网络的句子嵌入",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "2019年自然语言处理实证方法会议论文集",
month = "11",
year = "2019",
publisher = "计算语言学协会",
url = "https://arxiv.org/abs/1908.10084",
}