🚀 gte-multilingual-reranker-base
gte-multilingual-reranker-base 模型是 GTE 模型家族中的首個重排模型,具備以下關鍵特性:
- 高性能:在多語言檢索任務和多任務表示模型評估中,與同規模的重排模型相比,達到了當前最優(SOTA)的結果。
- 訓練架構:採用僅編碼器的 Transformer 架構進行訓練,模型尺寸更小。與之前基於僅解碼器的大語言模型(LLM)架構的模型(如 gte-qwen2 - 1.5b - instruct)不同,該模型推理時對硬件的要求更低,推理速度提升了 10 倍。
- 長上下文支持:支持最長達 8192 個標記的文本長度。
- 多語言能力:支持超過 70 種語言。
✨ 主要特性
- 高性能:在多語言檢索任務和多任務表示模型評估中,相較於同規模的重排模型,取得了當前最優的結果。
- 訓練架構:採用僅編碼器的 Transformer 架構進行訓練,模型尺寸更小。與之前基於僅解碼器的大語言模型(LLM)架構的模型(如 gte - qwen2 - 1.5b - instruct)不同,該模型推理時對硬件要求更低,推理速度提升 10 倍。
- 長上下文:支持文本長度達 8192 個標記。
- 多語言能力:支持超過 70 種語言。
📦 安裝指南
⚠️ 重要提示
建議安裝 xformers 並啟用無填充(unpadding)以加速,詳情請參考 [enable - unpadding - and - xformers](https://huggingface.co/Alibaba - NLP/new - impl#recommendation - enable - unpadding - and - acceleration - with - xformers)。
💡 使用建議
關於如何離線使用該模型,請參考 [new - impl/discussions/2](https://huggingface.co/Alibaba - NLP/new - impl/discussions/2#662b08d04d8c3d0a09c88fa3)。
💻 使用示例
基礎用法
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_name_or_path = "Alibaba-NLP/gte-multilingual-reranker-base"
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 = [["中國的首都在哪兒","北京"], ["what is the capital of China?", "北京"], ["how to implement quick sort in python?","Introduction of quick sort"]]
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)
高級用法
使用 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
📚 詳細文檔
模型信息
屬性 |
詳情 |
模型大小 |
3.06 億參數 |
最大輸入標記數 |
8192 |
評估
基於多個文本檢索數據集的重排結果:

更詳細的實驗結果可在 論文 中查看。
雲 API 服務
除了開源的 [GTE](https://huggingface.co/collections/Alibaba - NLP/gte - models - 6680f0b13f885cb431e6d469) 系列模型外,GTE 系列模型還在阿里雲上提供商業 API 服務。
- [嵌入模型](https://help.aliyun.com/zh/model - studio/developer - reference/general - text - embedding/):提供三種版本的文本嵌入模型:text - embedding - v1/v2/v3,其中 v3 是最新的 API 服務。
- [重排模型](https://help.aliyun.com/zh/model - studio/developer - reference/general - text - sorting - model/):提供 gte - rerank 模型服務。
請注意,商業 API 背後的模型與開源模型並不完全相同。
🔧 技術細節
- 訓練架構:採用僅編碼器的 Transformer 架構進行訓練,模型尺寸更小。與之前基於僅解碼器的大語言模型(LLM)架構的模型(如 gte - qwen2 - 1.5b - instruct)不同,該模型推理時對硬件要求更低,推理速度提升 10 倍。
- 長上下文支持:支持最長達 8192 個標記的文本長度。
📄 許可證
本模型採用 Apache 2.0 許可證。
📚 引用
如果您覺得我們的論文或模型有幫助,請考慮引用:
@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}
}