GTE 重排序模型

开源权重 · 阿里巴巴通义实验室 ·

Apache 2.0小模型CPU 友好

阿里巴巴的两个 GTE 重排序模型是小型编码器交叉编码器,不是基于大模型的:gte-reranker-modernbert-base(149M,英文)和 gte-multilingual-reranker-base(306M,70 多种语言)。两者都能接收 8,192 token,都是 Apache 2.0。它们的体量在 CPU 或小显卡上就能跑,英文模型甚至能在浏览器里运行。

两个模型

模型参数量语言基于可用的运行方式
Alibaba-NLP/gte-reranker-modernbert-base149M英文ModernBERT-basetransformers、sentence-transformers、transformers.js、Text Embeddings Inference
Alibaba-NLP/gte-multilingual-reranker-base306M70+阿里巴巴自家的编码器transformers(自定义代码)、sentence-transformers、Text Embeddings Inference、Infinity

阿里云托管的 gte-rerank API 是相关模型,并不是这两份权重;托管版本见国内重排序指南。

分数,以及是谁测的

模型评测分数测试方
gte-reranker-modernbert-baseBEIR56.19*阿里巴巴,模型卡
gte-reranker-modernbert-baseLoCo(长文档)90.68*阿里巴巴,模型卡
gte-reranker-modernbert-baseCoIR(代码)79.99*阿里巴巴,模型卡
gte-multilingual-reranker-baseMTEB-R(英文)59.51Qwen,Qwen3-Reranker 模型卡
gte-multilingual-reranker-baseCMTEB-R(中文)74.08Qwen,Qwen3-Reranker 模型卡
gte-multilingual-reranker-baseMMTEB-R(多语言)59.44Qwen,Qwen3-Reranker 模型卡

ModernBERT 模型的卡片没有说明用了哪些 BEIR 数据集、第一阶段是什么。多语言模型的结果阿里巴巴只以图表形式发布(模型卡和 mGTE 论文里),所以这里用的是 Qwen 的数字:Qwen 把它作为 Qwen3-Reranker 的对照基线,重排的是 Qwen3-Embedding-0.6B 召回的前 100 个结果。两个模型的这几行彼此不可比。

和阿里巴巴更新的 Qwen3-Reranker 相比,多语言模型处在低成本那一端:在同一批 Qwen 测试中,0.6B 的 Qwen3-Reranker 在 MTEB-R 上得 65.80*,在 CMTEB-R 上得 71.31,代价是两倍的参数量和大模型式的部署。

快速上手

sentence-transformers

pip install sentence-transformers

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"],
]
scores = model.predict(pairs)   # 0–1: sentence-transformers applies an activation

多语言模型的卡片用普通 transformers 加 trust_remote_code=True 加载,并建议安装 xformers、开启 unpadding 以提速。

作为服务部署

docker run -p 8080:80 -v $PWD/data:/data \
  ghcr.io/huggingface/text-embeddings-inference:cpu-1.7 \
  --model-id Alibaba-NLP/gte-reranker-modernbert-base

curl localhost:8080/rerank -H "Content-Type: application/json" \
  -d '{"query": "What is the capital of China?", "texts": ["Beijing"]}'

Hugging Face 的 Text Embeddings Inference 可以通过 /rerank 接口提供这两个模型,CPU 或 GPU 都行(去掉镜像标签里的 cpu- 并加上 --gpus all)。英文模型还能通过 transformers.js 在浏览器里运行,支持 fp32、fp16、q8、q4、q4f16。

什么时候选 GTE

优缺点

优点

  • Apache 2.0,参数量 149M 和 306M
  • 8,192 token 上下文
  • 可用 Text Embeddings Inference 在 CPU 或 GPU 上部署
  • 英文模型可通过 transformers.js 在浏览器里运行

缺点

  • 不支持任务指令
  • 阿里巴巴的 BEIR 分数没有说明数据集和第一阶段
  • 多语言模型在 transformers 里需要自定义代码
  • 在 Qwen 的多语言测试里落后于基于大模型的重排序

打算自己部署?

自托管指南讲了什么时候自托管划算、怎么选模型、有哪些部署方式,以及一份运维清单。

自托管指南 → 全部模型 →

其他模型