模型简介
模型特点
模型能力
使用案例
标签:
- 句子转换器
- 句子相似度
- 特征提取
- 训练生成 基础模型: intfloat/multilingual-e5-small 管道标签: 句子相似度 库名称: sentence-transformers 许可证: apache-2.0 语言:
- 韩语
- 英语

基于intfloat/multilingual-e5-small的SentenceTransformer
这是一个从intfloat/multilingual-e5-small微调而来的sentence-transformers模型,训练数据包含韩语查询-段落对,以提高韩语检索任务的性能。它将句子和段落映射到384维密集向量空间,可用于语义文本相似性、语义搜索、释义挖掘、文本分类、聚类等任务。
该模型是一个轻量级的韩语检索器,设计用于实际检索任务中的易用性和强大性能。非常适合运行演示或轻量级应用,在速度和准确性之间提供了良好的平衡。
为了获得更高的检索性能,我们建议将其与重排序器结合使用。推荐的重排序器模型:
- dragonkue/bge-reranker-v2-m3-ko
- BAAI/bge-reranker-v2-m3
模型详情
模型描述
- 模型类型: 句子转换器
- 基础模型: intfloat/multilingual-e5-small
- 最大序列长度: 512个标记
- 输出维度: 384维
- 相似性函数: 余弦相似度
- 训练数据集: 与dragonkue/snowflake-arctic-embed-l-v2.0-ko相同的数据集,包含韩语查询-段落对
模型来源
- 文档: Sentence Transformers文档
- 仓库: GitHub上的Sentence Transformers
- Hugging Face: Hugging Face上的Sentence Transformers
完整模型架构
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Normalize()
)
使用方式
🪶 提供轻量级版本
我们还提供了该模型的轻量级变体:exp-models/dragonkue-KoEn-E5-Tiny
,移除了除韩语和英语外的所有标记以减少模型大小,同时保持性能。
该仓库还包含GGUF量化版本,适合高效的本地或设备端嵌入模型服务。
🔧 对于实际部署,我们强烈建议将这种轻量级检索器与重排序器模型结合使用——它形成了一个强大且资源高效的检索设置。
直接使用(Sentence Transformers)
首先安装Sentence Transformers库:
pip install -U sentence-transformers
然后可以加载此模型并运行推理:
from sentence_transformers import SentenceTransformer
# 从🤗 Hub下载
model = SentenceTransformer("dragonkue/multilingual-e5-small-ko")
# 运行推理
sentences = [
'query: 북한가족법 몇 차 개정에서 이혼판결 확정 후 3개월 내에 등록시에만 유효하다는 조항을 확실히 했을까?',
'passage: 1990년에 제정된 북한 가족법은 지금까지 4차례 개정되어 현재에 이르고 있다. 1993년에 이루어진 제1차 개정은 주로 규정의 정확성을 기하기 위하여 몇몇 조문을 수정한 것이며, 실체적인 내용을 보완한 것은 상속의 승인과 포기기간을 설정한 제52조 정도라고 할 수 있다. 2004년에 이루어진 제2차에 개정에서는 제20조제3항을 신설하여 재판상 확정된 이혼판결을 3개월 내에 등록해야 이혼의 효력이 발생한다는 것을 명확하게 하였다. 2007년에 이루어진 제3차 개정에서는 부모와 자녀 관계 또한 신분등록기관에 등록한 때부터 법적 효력이 발생한다는 것을 신설(제25조제2항)하였다. 또한 미성년자, 노동능력 없는 자의 부양과 관련(제37조제2항)하여 기존에는 “부양능력이 있는 가정성원이 없을 경우에는 따로 사는 부모나 자녀, 조부모나 손자녀, 형제자매가 부양한다”고 규정하고 있었던 것을 “부양능력이 있는 가정성원이 없을 경우에는 따로 사는 부모나 자녀가 부양하며 그들이 없을 경우에는 조부모나 손자녀, 형제자매가 부양한다”로 개정하였다.',
'passage: 환경마크 제도, 인증기준 변경으로 기업부담 줄인다\n환경마크 제도 소개\n□ 개요\n○ 동일 용도의 다른 제품에 비해 ‘제품의 환경성*’을 개선한 제품에 로고와 설명을 표시할 수 있도록하는 인증 제도\n※ 제품의 환경성 : 재료와 제품을 제조․소비 폐기하는 전과정에서 오염물질이나 온실가스 등을 배출하는 정도 및 자원과 에너지를 소비하는 정도 등 환경에 미치는 영향력의 정도(「환경기술 및 환경산업 지원법」제2조제5호)\n□ 법적근거\n○ 「환경기술 및 환경산업 지원법」제17조(환경표지의 인증)\n□ 관련 국제표준\n○ ISO 14024(제1유형 환경라벨링)\n□ 적용대상\n○ 사무기기, 가전제품, 생활용품, 건축자재 등 156개 대상제품군\n□ 인증현황\n○ 2,737개 기업의 16,647개 제품(2015.12월말 기준)',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# 获取嵌入的相似度分数
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
直接使用(Transformers)
import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel
def average_pool(last_hidden_states: Tensor,
attention_mask: Tensor) -> Tensor:
last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]
# 每个输入文本应以"query: "或"passage: "开头,即使是非英语文本。
# 对于非检索任务,可以简单地使用"query: "前缀。
input_texts = ["query: 북한가족법 몇 차 개정에서 이혼판결 확정 후 3개월 내에 등록시에만 유효하다는 조항을 확실히 했을까?",
"passage: 1990년에 제정된 북한 가족법은 지금까지 4차례 개정되어 현재에 이르고 있다. 1993년에 이루어진 제1차 개정은 주로 규정의 정확성을 기하기 위하여 몇몇 조문을 수정한 것이며, 실체적인 내용을 보완한 것은 상속의 승인과 포기기간을 설정한 제52조 정도라고 할 수 있다. 2004년에 이루어진 제2차에 개정에서는 제20조제3항을 신설하여 재판상 확정된 이혼판결을 3개월 내에 등록해야 이혼의 효력이 발생한다는 것을 명확하게 하였다. 2007년에 이루어진 제3차 개정에서는 부모와 자녀 관계 또한 신분등록기관에 등록한 때부터 법적 효력이 발생한다는 것을 신설(제25조제2항)하였다. 또한 미성년자, 노동능력 없는 자의 부양과 관련(제37조제2항)하여 기존에는 “부양능력이 있는 가정성원이 없을 경우에는 따로 사는 부모나 자녀, 조부모나 손자녀, 형제자매가 부양한다”고 규정하고 있었던 것을 “부양능력이 있는 가정성원이 없을 경우에는 따로 사는 부모나 자녀가 부양하며 그들이 없을 경우에는 조부모나 손자녀, 형제자매가 부양한다”로 개정하였다.",
"passage: 환경마크 제도, 인증기준 변경으로 기업부담 줄인다\n환경마크 제도 소개\n□ 개요\n○ 동일 용도의 다른 제품에 비해 ‘제품의 환경성*’을 개선한 제품에 로고와 설명을 표시할 수 있도록하는 인증 제도\n※ 제품의 환경성 : 재료와 제품을 제조․소비 폐기하는 전과정에서 오염물질이나 온실가스 등을 배출하는 정도 및 자원과 에너지를 소비하는 정도 등 환경에 미치는 영향력의 정도(「환경기술 및 환경산업 지원법」제2조제5호)\n□ 법적근거\n○ 「환경기술 및 환경산업 지원법」제17조(환경표지의 인증)\n□ 관련 국제표준\n○ ISO 14024(제1유형 환경라벨링)\n□ 적용대상\n○ 사무기기, 가전제품, 생활용품, 건축자재 등 156개 대상제품군\n□ 인증현황\n○ 2,737개 기업의 16,647개 제품(2015.12월말 기준)"]
tokenizer = AutoTokenizer.from_pretrained('dragonkue/multilingual-e5-small-ko')
model = AutoModel.from_pretrained('dragonkue/multilingual-e5-small-ko')
# 对输入文本进行标记化
batch_dict = tokenizer(input_texts, max_length=512, padding=True, truncation=True, return_tensors='pt')
outputs = model(**batch_dict)
embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask'])
# 归一化嵌入
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:1] @ embeddings[1:].T)
print(scores.tolist())
评估
- 本评估参考了KURE GitHub仓库(https://github.com/nlpai-lab/KURE)
- 我们对MTEB中注册的所有韩语检索基准进行了评估
韩语检索基准
- Ko-StrategyQA: 一个韩语ODQA多跳检索数据集,从StrategyQA翻译而来
- AutoRAGRetrieval: 一个韩语文档检索数据集,通过解析五个领域(金融、公共、医疗、法律和商业)的PDF构建
- MIRACLRetrieval: 一个基于维基百科的韩语文档检索数据集
- PublicHealthQA: 一个专注于韩语医疗和公共卫生领域的检索数据集
- BelebeleRetrieval: 一个基于FLORES-200的韩语文档检索数据集
- MrTidyRetrieval: 一个基于维基百科的韩语文档检索数据集
- XPQARetrieval: 一个跨领域韩语文档检索数据集
指标
- 标准指标: NDCG@10
信息检索
模型 | 大小(M) | 平均 | XPQARetrieval | PublicHealthQA | MIRACLRetrieval | Ko-StrategyQA | BelebeleRetrieval | AutoRAGRetrieval | MrTidyRetrieval |
---|---|---|---|---|---|---|---|---|---|
BAAI/bge-m3 | 560 | 0.724169 | 0.36075 | 0.80412 | 0.70146 | 0.79405 | 0.93164 | 0.83008 | 0.64708 |
Snowflake/snowflake-arctic-embed-l-v2.0 | 560 | 0.724104 | 0.43018 | 0.81679 | 0.66077 | 0.80455 | 0.9271 | 0.83863 | 0.59071 |
intfloat/multilingual-e5-large | 560 | 0.721607 | 0.3571 | 0.82534 | 0.66486 | 0.80348 | 0.94499 | 0.81337 | 0.64211 |
intfloat/multilingual-e5-base | 278 | 0.689429 | 0.3607 | 0.77203 | 0.6227 | 0.76355 | 0.92868 | 0.79752 | 0.58082 |
dragonkue/multilingual-e5-small-ko | 118 | 0.688819 | 0.34871 | 0.79729 | 0.61113 | 0.76173 | 0.9297 | 0.86184 | 0.51133 |
exp-models/dragonkue-KoEn-E5-Tiny | 37 | 0.687496 | 0.34735 | 0.7925 | 0.6143 | 0.75978 | 0.93018 | 0.86503 | 0.50333 |
intfloat/multilingual-e5-small | 118 | 0.670906 | 0.33003 | 0.73668 | 0.61238 | 0.75157 | 0.90531 | 0.80068 | 0.55969 |
ibm-granite/granite-embedding-278m-multilingual | 278 | 0.616466 | 0.23058 | 0.77668 | 0.59216 | 0.71762 | 0.83231 | 0.70226 | 0.46365 |
ibm-granite/granite-embedding-107m-multilingual | 107 | 0.599759 | 0.23058 | 0.73209 | 0.58413 | 0.70531 | 0.82063 | 0.68243 | 0.44314 |
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | 118 | 0.409766 | 0.21345 | 0.67409 | 0.25676 | 0.45903 | 0.71491 | 0.42296 | 0.12716 |
模型大小性能对比(基于平均NDCG@10)

训练详情
训练数据集
该模型在dragonkue/snowflake-arctic-embed-l-v2.0-ko使用的相同数据集上进行了微调,该数据集包含韩语查询-段落对。训练目标是提高韩语任务的检索性能。
训练方法
遵循dragonkue/snowflake-arctic-embed-l-v2.0-ko的训练方法,该模型基于聚类段落构建批内负样本。此外,我们引入了具有可配置边界的GISTEmbedLoss。
📈 基于边界的训练结果
- 单独使用标准MNR(多重负样本排名)损失导致性能下降
- 原始GISTEmbedLoss(无边界)带来了约+0.8 NDCG@10的适度改进
- 应用边界带来了高达+1.5 NDCG@10的性能提升
- 这表明仅调整边界值就能带来高达2倍的改进,显示了边界缩放的高度敏感性和有效性
这种基于边界的方法扩展了NV-Retriever论文中提出的想法,该论文最初在硬负样本采样期间过滤假负样本。我们将其适应于批内负样本,将假负样本视为由基于边界的过滤引导的动态样本。

sentence-transformers库现在支持带边界配置的GISTEmbedLoss,可以轻松集成到任何训练流程中。
您可以通过以下命令安装最新版本:
pip install -U sentence-transformers
训练超参数
非默认超参数
eval_strategy
: stepsper_device_train_batch_size
: 20000per_device_eval_batch_size
: 4096learning_rate
: 0.00025num_train_epochs
: 3warmup_ratio
: 0.05fp16
: Truedataloader_drop_last
: Truebatch_sampler
: no_duplicates
框架版本
- Python: 3.11.10
- Sentence Transformers: 4.1.0
- Transformers: 4.51.3
- PyTorch: 2.7.0+cu126
- Accelerate: 1.6.0
- Datasets: 3.5.1
- Tokenizers: 0.21.1
常见问题
1. 我需要在输入文本前添加"query: "和"passage: "前缀吗?
是的,这是模型的训练方式,否则您会看到性能下降。
以下是一些经验法则:
对于非对称任务(如开放QA中的段落检索、特定信息检索),相应使用"query: "和"passage: "前缀。
对于对称任务(如语义相似性、双语文本挖掘、释义检索),使用"query: "前缀。
如果您想将嵌入用作特征(如线性探测分类、聚类),使用"query: "前缀。
2. 为什么余弦相似度分数分布在0.7到1.0之间?
这是一个已知且预期的行为,因为我们使用低温度0.01进行InfoNCE对比损失。
对于文本嵌入任务(如文本检索或语义相似性),重要的是分数的相对顺序而不是绝对值,因此这不应成为问题。
引用
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",
}
基础模型
@article{wang2024multilingual,
title={Multilingual E5 Text Embeddings: A Technical Report},
author={Wang, Liang and Yang, Nan and Huang, Xiaolong and Yang, Linjun and Majumder, Rangan and Wei, Furu},
journal={arXiv preprint arXiv:2402.05672},
year={2024}
}
NV-Retriever: 通过有效的硬负样本挖掘改进文本嵌入模型
@article{moreira2024nvretriever,
title = {NV-Retriever: Improving text embedding models with effective hard-negative mining},
author = {Moreira, Gabriel de Souza P. and Osmulski, Radek and Xu, Mengyao and Ak, Ronay and Schifferer, Benedikt and Oldridge, Even},
journal = {arXiv preprint arXiv:2407.15831},
year = {2024},
url = {https://arxiv.org/abs/2407.15831},
doi = {10.48550/arXiv.2407.15831}
}
KURE
@misc{KURE,
publisher = {Youngjoon Jang, Junyoung Son, Taemin Lee},
year = {2024},
url = {https://github.com/nlpai-lab/KURE}
}
限制
长文本将被截断至最多512个标记。
致谢
特别感谢lemon-mint在优化和压缩该模型方面做出的宝贵贡献。







