许可证:apache-2.0
支持语言:
评估指标:
基础模型:
任务类型:文本排序
库名称:sentence-transformers
重排序模型(交叉编码器)
与嵌入模型不同,重排序模型直接以问题和文档作为输入,输出相似度而非嵌入向量。通过输入查询和段落,重排序模型会返回相关性分数,该分数可通过Sigmoid函数映射到[0,1]区间。
模型详情
- 基础模型:BAAI/bge-reranker-v2-m3
- 该多语言模型已针对韩语进行优化
Transformers使用示例
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model = AutoModelForSequenceClassification.from_pretrained('dragonkue/bge-reranker-v2-m3-ko')
tokenizer = AutoTokenizer.from_pretrained('dragonkue/bge-reranker-v2-m3-ko')
features = tokenizer([['몇 년도에 지방세외수입법이 시행됐을까?', '실무교육을 통해 ‘지방세외수입법’에 대한 자치단체의 관심을 제고하고 자치단체의 차질 없는 업무 추진을 지원하였다. 이러한 준비과정을 거쳐 2014년 8월 7일부터 ‘지방세외수입법’이 시행되었다.'],
['몇 년도에 지방세외수입법이 시행됐을까?', '식품의약품안전처는 21일 국내 제약기업 유바이오로직스가 개발 중인 신종 코로나바이러스 감염증(코로나19) 백신 후보물질 ‘유코백-19’의 임상시험 계획을 지난 20일 승인했다고 밝혔다.']], padding=True, truncation=True, return_tensors="pt")
model.eval()
with torch.no_grad():
logits = model(**features).logits
scores = torch.sigmoid(logits)
print(scores)
SentenceTransformers使用示例
安装库:
pip install -U sentence-transformers
from sentence_transformers import CrossEncoder
model = CrossEncoder('dragonkue/bge-reranker-v2-m3-ko', default_activation_function=torch.nn.Sigmoid())
scores = model.predict([['몇 년도에 지방세외수입법이 시행됐을까?', '실무교육을 통해 ‘지방세외수입법’에 대한 자치단체의 관심을 제고하고 자치단체의 차질 없는 업무 추진을 지원하였다. 이러한 준비과정을 거쳐 2014년 8월 7일부터 ‘지방세외수입법’이 시행되었다.'],
['몇 년도에 지방세외수입법이 시행됐을까?', '식품의약품안전처는 21일 국내 제약기업 유바이오로직스가 개발 중인 신종 코로나바이러스 감염증(코로나19) 백신 후보물질 ‘유코백-19’의 임상시험 계획을 지난 20일 승인했다고 밝혔다.']])
print(scores)
FlagEmbedding使用示例
安装库:
pip install -U FlagEmbedding
from FlagEmbedding import FlagReranker
reranker = FlagReranker('dragonkue/bge-reranker-v2-m3-ko')
scores = reranker.compute_score([['몇 년도에 지방세외수입법이 시행됐을까?', '실무교육을 통해 ‘지방세외수입법’에 대한 자치단체의 관심을 제고하고 자치단체의 차질 없는 업무 추진을 지원하였다. 이러한 준비과정을 거쳐 2014년 8월 7일부터 ‘지방세외수입법’이 시행되었다.'],
['몇 년도에 지방세외수입법이 시행됐을까?', '식품의약품안전처는 21일 국내 제약기업 유바이오로직스가 개발 중인 신종 코로나바이러스 감염증(코로나19) 백신 후보물질 ‘유코백-19’의 임상시험 계획을 지난 20일 승인했다고 밝혔다.']], normalize=True)
print(scores)
微调
参考:https://github.com/FlagOpen/FlagEmbedding
性能评估
双编码器 vs 交叉编码器
双编码器将文本转换为固定维度的向量,适合快速处理大规模数据;交叉编码器直接计算文本对的相似度,精度更高但速度较慢,适合对候选结果进行重排序。
韩语金融领域基准测试
(数据来源:AutoRAG韩语嵌入基准测试)
Top-1 结果
双编码器模型表现:
模型名称 |
F1 |
召回率 |
精确率 |
BGE-m3-ko |
0.7456 |
0.7456 |
0.7456 |
交叉编码器模型表现:
模型名称 |
F1 |
召回率 |
精确率 |
bge-reranker-v2-m3-ko |
0.9123 |
0.9123 |
0.9123 |
Top-3 结果
双编码器模型表现:
模型名称 |
F1 |
召回率 |
精确率 |
BGE-m3-ko |
0.4517 |
0.9035 |
0.3011 |
交叉编码器模型表现:
模型名称 |
F1 |
召回率 |
精确率 |
bge-reranker-v2-m3-ko |
0.4825 |
0.9649 |
0.3216 |