🚀 波蘭語重排器 bge - v2
這是一個基於 [BAAI/bge - reranker - v2 - m3](https://huggingface.co/BAAI/bge - reranker - v2 - m3) 的波蘭語重排器,並在大量文本對數據集上進行了進一步微調。該模型可用於文本排序任務,為波蘭語信息檢索提供支持。
🚀 快速開始
此重排器基於 [BAAI/bge - reranker - v2 - m3](https://huggingface.co/BAAI/bge - reranker - v2 - m3) 構建,並在大規模文本對數據集上進行了微調:
- 採用 RankNet 損失,並在與 [sdadas/polish - reranker - roberta - v2](https://huggingface.co/sdadas/polish - reranker - roberta - v2) 相同的數據上訓練模型。
- 使用 [BAAI/bge - reranker - v2.5 - gemma2 - lightweight](https://huggingface.co/BAAI/bge - reranker - v2.5 - gemma2 - lightweight) 作為蒸餾的教師模型。
- 訓練完成後,合併原始權重和微調後的權重,創建最終的檢查點。
- 使用支持 Flash Attention 2 的 XLM - RoBERTa 自定義實現。如果要使用這些功能,請使用參數
trust_remote_code = True
和 attn_implementation = "flash_attention_2"
加載模型。這對於此模型尤為重要,因為 [BAAI/bge - reranker - v2 - m3](https://huggingface.co/BAAI/bge - reranker - v2 - m3) 支持 8192 個標記的長上下文。對於這樣的輸入長度,使用 Flash Attention 進行推理的速度比原始模型快達 400%。
在大多數情況下,建議優先使用 [sdadas/polish - reranker - roberta - v2](https://huggingface.co/sdadas/polish - reranker - roberta - v2),因為它在波蘭語任務上能取得更好的效果。此模型的主要優勢在於其上下文長度,因此在一些包含長文檔的數據集上可能表現更好。
💻 使用示例
基礎用法
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import numpy as np
query = "Jak dożyć 100 lat?"
answers = [
"Trzeba zdrowo się odżywiać i uprawiać sport.",
"Trzeba pić alkohol, imprezować i jeździć szybkimi autami.",
"Gdy trwała kampania politycy zapewniali, że rozprawią się z zakazem niedzielnego handlu."
]
model_name = "sdadas/polish-reranker-bge-v2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(
model_name,
trust_remote_code=True,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
device_map="cuda"
)
texts = [f"{query}</s></s>{answer}" for answer in answers]
tokens = tokenizer(texts, padding="longest", max_length=8192, truncation=True, return_tensors="pt").to("cuda")
output = model(**tokens)
results = output.logits.detach().cpu().float().numpy()
results = np.squeeze(results)
print(results.tolist())
📚 詳細文檔
評估結果
該模型在波蘭信息檢索基準的重排器類別中實現了 NDCG@10 為 64.21 的成績。詳細結果請參閱 PIRB 排行榜。
引用
@article{dadas2024assessing,
title={Assessing generalization capability of text ranking models in Polish},
author={Sławomir Dadas and Małgorzata Grębowiec},
year={2024},
eprint={2402.14318},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
📄 許可證
本項目使用 gemma 許可證。