ONNX 模型库
返回模型

说明文档

gte-reranker-modernbert-base

我们很高兴推出 gte-modernbert 系列模型,这些模型基于最新的 ModernBERT 预训练纯编码器基础模型构建。gte-modernbert 系列模型包括文本嵌入模型和重排序模型。

gte-modernbert 模型在多个文本嵌入和文本检索评估任务中展现出与当前开源社区同规模模型相当的竞争力。评估包括 MTEBLoCOCOIR

模型概览

  • 开发机构:阿里巴巴集团通义实验室
  • 模型类型:文本重排序器
  • 主要语言:英语
  • 模型参数: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] 对于 transformerssentence-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

text-ranking transformers
↓ 721.4K ♥ 87

创建时间: 2025-01-20 05:46:18+00:00

更新时间: 2025-07-04 10:03:42+00:00

在 Hugging Face 上查看

文件 (15)

.gitattributes
README.md
config.json
model.safetensors
onnx/model.onnx ONNX
onnx/model_bnb4.onnx ONNX
onnx/model_fp16.onnx ONNX
onnx/model_int8.onnx ONNX
onnx/model_q4.onnx ONNX
onnx/model_q4f16.onnx ONNX
onnx/model_quantized.onnx ONNX
onnx/model_uint8.onnx ONNX
special_tokens_map.json
tokenizer.json
tokenizer_config.json