说明文档
gte-reranker-modernbert-base
我们很高兴推出 gte-modernbert 系列模型,这些模型基于最新的 ModernBERT 预训练纯编码器基础模型构建。gte-modernbert 系列模型包括文本嵌入模型和重排序模型。
gte-modernbert 模型在多个文本嵌入和文本检索评估任务中展现出与当前开源社区同规模模型相当的竞争力。评估包括 MTEB、LoCO 和 COIR。
模型概览
- 开发机构:阿里巴巴集团通义实验室
- 模型类型:文本重排序器
- 主要语言:英语
- 模型参数:149M
- 最大输入长度:8192 个 token
模型列表
| 模型 | 语言 | 模型类型 | 模型参数 | 最大序列长度 | 维度 | MTEB-en | BEIR | LoCo | CoIR |
|---|---|---|---|---|---|---|---|---|---|
gte-modernbert-base |
English | 文本嵌入 | 149M | 8192 | 768 | 64.38 | 55.33 | 87.57 | 79.31 |
gte-reranker-modernbert-base |
English | 文本重排序器 | 149M | 8192 | - | - | 56.19 | 90.68 | 79.99 |
使用方法
[!TIP] 对于
transformers和sentence-transformers,如果您的 GPU 支持,并且已安装flash_attn,高效的 Flash Attention 2 将自动启用。这不是强制要求的。pip install flash_attn
配合 transformers 使用:
# 需要 transformers>=4.48.0
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_name_or_path = "Alibaba-NLP/gte-reranker-modernbert-base"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForSequenceClassification.from_pretrained(
model_name_or_path,
torch_dtype=torch.float16,
)
model.eval()
pairs = [
["what is the capital of China?", "Beijing"],
["how to implement quick sort in python?", "Introduction of quick sort"],
["how to implement quick sort in python?", "The weather is nice today"],
]
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([ 2.1387, 2.4609, -1.6729])
配合 sentence-transformers 使用:
开始之前,请安装 sentence-transformers 库:
pip install sentence-transformers
# 需要 transformers>=4.48.0
from sentence_transformers import CrossEncoder
model = CrossEncoder(
"Alibaba-NLP/gte-reranker-modernbert-base",
automodel_args={"torch_dtype": "auto"},
)
pairs = [
["what is the capital of China?", "Beijing"],
["how to implement quick sort in python?","Introduction of quick sort"],
["how to implement quick sort in python?", "The weather is nice today"],
]
scores = model.predict(pairs)
print(scores)
# [0.8945664 0.9213594 0.15742092]
# 注意:Sentence Transformers 默认对输出调用 Softmax,因此分数范围在 [0, 1] 内。
配合 transformers.js 使用:
import {
AutoTokenizer,
AutoModelForSequenceClassification,
} from "@huggingface/transformers";
const model_id = "Alibaba-NLP/gte-reranker-modernbert-base";
const model = await AutoModelForSequenceClassification.from_pretrained(
model_id,
{ dtype: "fp32" }, // 支持的选项:"fp32"、"fp16"、"q8"、"q4"、"q4f16"
);
const tokenizer = await AutoTokenizer.from_pretrained(model_id);
const pairs = [
["what is the capital of China?", "Beijing"],
["how to implement quick sort in python?", "Introduction of quick sort"],
["how to implement quick sort in python?", "The weather is nice today"],
];
const inputs = tokenizer(
pairs.map((x) => x[0]),
{
text_pair: pairs.map((x) => x[1]),
padding: true,
truncation: true,
},
);
const { logits } = await model(inputs);
console.log(logits.tolist()); // [[2.138258218765259], [2.4609625339508057], [-1.6775450706481934]]
此外,您还可以通过 Text Embeddings Inference (TEI) 部署 Alibaba-NLP/gte-reranker-modernbert-base:
- CPU
docker run --platform linux/amd64 \
-p 8080:80 \
-v $PWD/data:/data \
--pull always \
ghcr.io/huggingface/text-embeddings-inference:cpu-1.7 \
--model-id Alibaba-NLP/gte-reranker-modernbert-base
- GPU
docker run --gpus all \
-p 8080:80 \
-v $PWD/data:/data \
--pull always \
ghcr.io/huggingface/text-embeddings-inference:1.7 \
--model-id Alibaba-NLP/gte-reranker-modernbert-base
然后您可以通过 /rerank 路由向部署的 API 发送请求(详见 Text Embeddings Inference OpenAPI 规范):
curl https://0.0.0.0:8080/rerank \
-H "Content-Type: application/json" \
-d '{
"query": "What is the capital of China?",
"raw_scores": false,
"return_text": false,
"texts": [ "Beijing" ],
"truncate": true,
"truncation_direction": "right"
}'
训练详情
gte-modernbert 系列模型遵循先前 GTE 模型的训练方案,唯一的区别是将预训练语言模型基座从 GTE-MLM 替换为 ModernBert。更多训练详情请参阅我们的论文:mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval
评估结果
MTEB
其他模型的结果来自 MTEB 排行榜。由于 gte-modernbert 系列所有模型的参数规模均小于 1B,我们仅关注 MTEB 排行榜中参数规模小于 1B 的模型结果。
| 模型名称 | 参数量 (M) | 维度 | 序列长度 | 平均 (56) | 分类 (12) | 聚类 (11) | 配对分类 (3) | 重排 (4) | 检索 (15) | STS (10) | 摘要 (1) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| mxbai-embed-large-v1 | 335 | 1024 | 512 | 64.68 | 75.64 | 46.71 | 87.2 | 60.11 | 54.39 | 85 | 32.71 |
| multilingual-e5-large-instruct | 560 | 1024 | 514 | 64.41 | 77.56 | 47.1 | 86.19 | 58.58 | 52.47 | 84.78 | 30.39 |
| bge-large-en-v1.5 | 335 | 1024 | 512 | 64.23 | 75.97 | 46.08 | 87.12 | 60.03 | 54.29 | 83.11 | 31.61 |
| gte-base-en-v1.5 | 137 | 768 | 8192 | 64.11 | 77.17 | 46.82 | 85.33 | 57.66 | 54.09 | 81.97 | 31.17 |
| bge-base-en-v1.5 | 109 | 768 | 512 | 63.55 | 75.53 | 45.77 | 86.55 | 58.86 | 53.25 | 82.4 | 31.07 |
| gte-large-en-v1.5 | 409 | 1024 | 8192 | 65.39 | 77.75 | 47.95 | 84.63 | 58.50 | 57.91 | 81.43 | 30.91 |
| modernbert-embed-base | 149 | 768 | 8192 | 62.62 | 74.31 | 44.98 | 83.96 | 56.42 | 52.89 | 81.78 | 31.39 |
| nomic-embed-text-v1.5 | 768 | 8192 | 62.28 | 73.55 | 43.93 | 84.61 | 55.78 | 53.01 | 81.94 | 30.4 | |
| gte-multilingual-base | 305 | 768 | 8192 | 61.4 | 70.89 | 44.31 | 84.24 | 57.47 | 51.08 | 82.11 | 30.58 |
| jina-embeddings-v3 | 572 | 1024 | 8192 | 65.51 | 82.58 | 45.21 | 84.01 | 58.13 | 53.88 | 85.81 | 29.71 |
| gte-modernbert-base | 149 | 768 | 8192 | 64.38 | 76.99 | 46.47 | 85.93 | 59.24 | 55.33 | 81.57 | 30.68 |
LoCO(长文档检索)
| 模型名称 | 维度 | 序列长度 | 平均 (5) | QsmsumRetrieval | SummScreenRetrieval | QasperAbstractRetrieval | QasperTitleRetrieval | GovReportRetrieval |
|---|---|---|---|---|---|---|---|---|
| gte-qwen1.5-7b | 4096 | 32768 | 87.57 | 49.37 | 93.10 | 99.67 | 97.54 | 98.21 |
| gte-large-v1.5 | 1024 | 8192 | 86.71 | 44.55 | 92.61 | 99.82 | 97.81 | 98.74 |
| gte-base-v1.5 | 768 | 8192 | 87.44 | 49.91 | 91.78 | 99.82 | 97.13 | 98.58 |
| gte-modernbert-base | 768 | 8192 | 88.88 | 54.45 | 93.00 | 99.82 | 98.03 | 98.70 |
| gte-reranker-modernbert-base | - | 8192 | 90.68 | 70.86 | 94.06 | 99.73 | 99.11 | 89.67 |
COIR(代码检索任务)
| 模型名称 | 维度 | 序列长度 | 平均(20) | CodeSearchNet-ccr-go | CodeSearchNet-ccr-java | CodeSearchNet-ccr-javascript | CodeSearchNet-ccr-php | CodeSearchNet-ccr-python | CodeSearchNet-ccr-ruby | CodeSearchNet-go | CodeSearchNet-java | CodeSearchNet-javascript | CodeSearchNet-php | CodeSearchNet-python | CodeSearchNet-ruby | apps | codefeedback-mt | codefeedback-st | codetrans-contest | codetrans-dl | cosqa | stackoverflow-qa | synthetic-text2sql |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gte-modernbert-base | 768 | 8192 | 79.31 | 94.15 | 93.57 | 94.27 | 91.51 | 93.93 | 90.63 | 88.32 | 83.27 | 76.05 | 85.12 | 88.16 | 77.59 | 57.54 | 82.34 | 85.95 | 71.89 | 35.46 | 43.47 | 91.2 | 61.87 |
| gte-reranker-modernbert-base | - | 8192 | 79.99 | 96.43 | 96.88 | 98.32 | 91.81 | 97.7 | 91.96 | 88.81 | 79.71 | 76.27 | 89.39 | 98.37 | 84.11 | 47.57 | 83.37 | 88.91 | 49.66 | 36.36 | 44.37 | 89.58 | 64.21 |
BEIR
| 模型名称 | 维度 | 序列长度 | 平均(15) | ArguAna | ClimateFEVER | CQADupstackAndroidRetrieval | DBPedia | FEVER | FiQA2018 | HotpotQA | MSMARCO | NFCorpus | NQ | QuoraRetrieval | SCIDOCS | SciFact | Touche2020 | TRECCOVID |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gte-modernbert-base | 768 | 8192 | 55.33 | 72.68 | 37.74 | 42.63 | 41.79 | 91.03 | 48.81 | 69.47 | 40.9 | 36.44 | 57.62 | 88.55 | 21.29 | 77.4 | 21.68 | 81.95 |
| gte-reranker-modernbert-base | - | 8192 | 56.73 | 69.03 | 37.79 | 44.68 | 47.23 | 94.54 | 49.81 | 78.16 | 45.38 | 30.69 | 64.57 | 87.77 | 20.60 | 73.57 | 27.36 | 79.89 |
招聘
我们在通义实验室有 研究实习生 和 全职研究员 的开放职位。 我们寻求在表示学习、LLM 驱动的信息检索、检索增强生成(RAG)和基于代理的系统方面具有专业知识的热情人才。 我们的团队位于充满活力的 北京 和 杭州。 如果您好奇心强、渴望通过工作产生有意义的影响,我们很乐意收到您的来信。请将您的简历和简要介绍发送至 <a href="mailto:dingkun.ldk@alibaba-inc.com">dingkun.ldk@alibaba-inc.com</a>。
引用
如果您发现我们的论文或模型有帮助,欢迎引用我们。
@inproceedings{zhang2024mgte,
title={mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval},
author={Zhang, Xin and Zhang, Yanzhao and Long, Dingkun and Xie, Wen and Dai, Ziqi and Tang, Jialong and Lin, Huan and Yang, Baosong and Xie, Pengjun and Huang, Fei and others},
booktitle={Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing: Industry Track},
pages={1393--1412},
year={2024}
}
@article{li2023towards,
title={Towards general text embeddings with multi-stage contrastive learning},
author={Li, Zehan and Zhang, Xin and Zhang, Yanzhao and Long, Dingkun and Xie, Pengjun and Zhang, Meishan},
journal={arXiv preprint arXiv:2308.03281},
year={2023}
}
Alibaba-NLP/gte-reranker-modernbert-base
作者 Alibaba-NLP
创建时间: 2025-01-20 05:46:18+00:00
更新时间: 2025-07-04 10:03:42+00:00
在 Hugging Face 上查看