Ko Reranker V1.1
基于Alibaba-NLP/gte-multilingual-reranker-base微调的韩语重排序模型,适用于搜索、问答等场景的文本相关性优化
下载量 234
发布时间 : 12/11/2024
模型简介
该模型专注于韩语文本的重排序任务,通过整合多个公开数据集和先进训练技术提升语义理解能力
模型特点
困难负样本挖掘
集成BAAI/bge-m3挖掘高难度负样本,增强模型区分细微语义差异的能力
师生蒸馏
采用BAAI/bge-reranker-v2.5-gemma2-lightweight作为教师模型进行知识蒸馏
多源数据训练
整合5个韩语公开数据集(32.8万组三元组),覆盖广泛主题和语言风格
模型能力
文本相关性评分
搜索结果优化
问答系统答案排序
内容推荐优化
使用案例
信息检索
韩语搜索引擎优化
对搜索引擎返回的韩语结果进行重排序
在AutoRAG Benchmark中top1准确率达80.7%
问答系统
候选答案排序
对问答系统生成的多个候选答案进行相关性排序
🚀 模型卡片:sigridjineth/ko-reranker-v1.1
该模型基于 Alibaba-NLP/gte-multilingual-reranker-base 进行微调,目前仍在开发中。随着我们对其性能的不断优化和改进,模型可能会有进一步的变化。模型使用 A100 x 8 进行了 12 小时的训练。
🚀 快速开始
你可以按照以下步骤使用该模型:
环境要求
transformers
版本需大于等于 4.36.0
代码示例
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_name_or_path = "sigridjineth/ko-reranker-v1.1-preview"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForSequenceClassification.from_pretrained(
model_name_or_path,
trust_remote_code=True,
torch_dtype=torch.float16
)
model.eval()
pairs = [
["중국의 수도는","베이징"],
["2024년 대한민국 대통령은?", "대한민국 대통령은 윤석열이다"],
["파이썬에서 퀵 소트를 구현하기","quick sort로 코테 1등 먹어보자"]
]
with torch.no_grad():
inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512)
scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
print(scores)
# 示例输出:
# tensor([1.2315, 0.5923, 0.3041])
使用 Infinity 部署
Infinity 是一个遵循 MIT 许可证的推理 REST API 服务器,可以轻松托管和服务模型。示例命令如下:
docker run --gpus all -v $PWD/data:/app/.cache -p "7997":"7997" \
michaelf34/infinity:0.0.68 \
v2 --model-id Alibaba-NLP/gte-multilingual-reranker-base --revision "main" \
--dtype bfloat16 --batch-size 32 --device cuda --engine torch --port 7997
✨ 主要特性
困难负样本挖掘
集成了 BAAI/bge-m3 来挖掘具有挑战性的负样本。这种方法增强了模型区分细微差异的能力,提高了模型的鲁棒性和排序质量。
师生蒸馏
利用 BAAI/bge-reranker-v2.5-gemma2-lightweight 作为教师模型。学生重排器从教师提供的正/负得分中学习,加速了收敛过程并实现了更好的最终性能。
📦 安装指南
此部分未提供具体安装命令,暂不展示。
💻 使用示例
基础用法
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_name_or_path = "sigridjineth/ko-reranker-v1.1-preview"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForSequenceClassification.from_pretrained(
model_name_or_path,
trust_remote_code=True,
torch_dtype=torch.float16
)
model.eval()
pairs = [
["중국의 수도는","베이징"],
["2024년 대한민국 대통령은?", "대한민국 대통령은 윤석열이다"],
["파이썬에서 퀵 소트를 구현하기","quick sort로 코테 1등 먹어보자"]
]
with torch.no_grad():
inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512)
scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
print(scores)
# 示例输出:
# tensor([1.2315, 0.5923, 0.3041])
高级用法
此部分未提供高级使用场景的代码示例,暂不展示。
📚 详细文档
预期用途
- 搜索与信息检索:改善韩语搜索查询的文档排序。
- 问答系统(QA):通过重新排序候选答案来提高问答管道的相关性。
- 内容推荐:优化依赖文本信号的推荐引擎,提供更准确的建议。
局限性与未来工作
- 预览版本:该模型仍处于优化阶段,预计未来的更新将提高其稳定性、泛化能力和性能。
- 评估需求:开发和标准化通用韩语检索任务(特别是重排器)的基准将是一项持续的工作。
评估
AutoRAG Benchmark 既作为评估数据集,也作为报告这些指标的工具包。
模型:sigridjineth/ko-reranker-v1.1-preview
top_k | 执行时间 | F1值 | 召回率 | 精确率 | MAP值 | MRR值 | NDCG值 | 是否最佳 |
---|---|---|---|---|---|---|---|---|
1 | 0.0438 | 0.6754 | 0.6754 | 0.6754 | 0.6754 | 0.6754 | 0.6754 | 是 |
3 | 0.0486 | 0.3684 | 0.7368 | 0.2456 | 0.7032 | 0.7032 | 0.7119 | 否 |
5 | 0.0446 | 0.3684 | 0.7368 | 0.2456 | 0.7032 | 0.7032 | 0.7119 | 否 |
模型:Alibaba-NLP/gte-multilingual-reranker-base
top_k | 执行时间 | F1值 | 召回率 | 精确率 | MAP值 | MRR值 | NDCG值 | 是否最佳 |
---|---|---|---|---|---|---|---|---|
1 | 0.0481 | 0.6316 | 0.6316 | 0.6316 | 0.6316 | 0.6316 | 0.6316 | 是 |
3 | 0.0427 | 0.3596 | 0.7193 | 0.2398 | 0.6725 | 0.6725 | 0.6846 | 否 |
5 | 0.0442 | 0.3596 | 0.7193 | 0.2398 | 0.6725 | 0.6725 | 0.6846 | 否 |
模型:dragonkue/bge-reranker-v2-m3-ko
top_k | 执行时间 | F1值 | 召回率 | 精确率 | MAP值 | MRR值 | NDCG值 | 是否最佳 |
---|---|---|---|---|---|---|---|---|
1 | 0.0814 | 0.6930 | 0.6930 | 0.6930 | 0.6930 | 0.6930 | 0.6930 | 是 |
3 | 0.0813 | 0.3596 | 0.7193 | 0.2398 | 0.7061 | 0.7061 | 0.7096 | 否 |
5 | 0.0824 | 0.3596 | 0.7193 | 0.2398 | 0.7061 | 0.7061 | 0.7096 | 否 |
评估结果 (k=1,3,5,10):
准确率@1: 0.8070
F1值@1: 0.8070
召回率@1: 0.8070
精确率@1: 0.8070
准确率@3: 0.9211
F1值@3: 0.4605
召回率@3: 0.9211
精确率@3: 0.3070
准确率@5: 0.9474
F1值@5: 0.3158
召回率@5: 0.9474
精确率@5: 0.1895
准确率@10: 0.9737
F1值@10: 0.1770
召回率@10: 0.9737
精确率@10: 0.0974
总推理时间 (所有查询): 142.64 秒
平均推理时间 (每个查询): 1.2512 秒
🔧 技术细节
此部分未提供具体的技术实现细节,暂不展示。
📄 许可证
本模型使用 Apache-2.0 许可证。
📚 参考文献
@misc{zhang2024mgtegeneralizedlongcontexttext,
title={mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval},
author={Xin Zhang and Yanzhao Zhang and Dingkun Long and Wen Xie and Ziqi Dai and Jialong Tang and Huan Lin and Baosong Yang and Pengjun Xie and Fei Huang and Meishan Zhang and Wenjie Li and Min Zhang},
year={2024},
eprint={2407.19669},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2407.19669},
}
@misc{li2023making,
title={Making Large Language Models A Better Foundation For Dense Retrieval},
author={Chaofan Li and Zheng Liu and Shitao Xiao and Yingxia Shao},
year={2023},
eprint={2312.15503},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@misc{chen2024bge,
title={BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation},
author={Jianlv Chen and Shitao Xiao and Peitian Zhang and Kun Luo and Defu Lian and Zheng Liu},
year={2024},
eprint={2402.03216},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Jina Embeddings V3
Jina Embeddings V3 是一个多语言句子嵌入模型,支持超过100种语言,专注于句子相似度和特征提取任务。
文本嵌入
Transformers 支持多种语言

J
jinaai
3.7M
911
Ms Marco MiniLM L6 V2
Apache-2.0
基于MS Marco段落排序任务训练的交叉编码器模型,用于信息检索中的查询-段落相关性评分
文本嵌入 英语
M
cross-encoder
2.5M
86
Opensearch Neural Sparse Encoding Doc V2 Distill
Apache-2.0
基于蒸馏技术的稀疏检索模型,专为OpenSearch优化,支持免推理文档编码,在搜索相关性和效率上优于V1版本
文本嵌入
Transformers 英语

O
opensearch-project
1.8M
7
Sapbert From PubMedBERT Fulltext
Apache-2.0
基于PubMedBERT的生物医学实体表征模型,通过自对齐预训练优化语义关系捕捉
文本嵌入 英语
S
cambridgeltl
1.7M
49
Gte Large
MIT
GTE-Large 是一个强大的句子转换器模型,专注于句子相似度和文本嵌入任务,在多个基准测试中表现出色。
文本嵌入 英语
G
thenlper
1.5M
278
Gte Base En V1.5
Apache-2.0
GTE-base-en-v1.5 是一个英文句子转换器模型,专注于句子相似度任务,在多个文本嵌入基准测试中表现优异。
文本嵌入
Transformers 支持多种语言

G
Alibaba-NLP
1.5M
63
Gte Multilingual Base
Apache-2.0
GTE Multilingual Base 是一个多语言的句子嵌入模型,支持超过50种语言,适用于句子相似度计算等任务。
文本嵌入
Transformers 支持多种语言

G
Alibaba-NLP
1.2M
246
Polybert
polyBERT是一个化学语言模型,旨在实现完全由机器驱动的超快聚合物信息学。它将PSMILES字符串映射为600维密集指纹,以数值形式表示聚合物化学结构。
文本嵌入
Transformers

P
kuelumbus
1.0M
5
Bert Base Turkish Cased Mean Nli Stsb Tr
Apache-2.0
基于土耳其语BERT的句子嵌入模型,专为语义相似度任务优化
文本嵌入
Transformers 其他

B
emrecan
1.0M
40
GIST Small Embedding V0
MIT
基于BAAI/bge-small-en-v1.5模型微调的文本嵌入模型,通过MEDI数据集与MTEB分类任务数据集训练,优化了检索任务的查询编码能力。
文本嵌入
Safetensors 英语
G
avsolatorio
945.68k
29
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98
智启未来,您的人工智能解决方案智库
简体中文