🚀 polish-reranker-large-mse
このモデルは、140万のクエリと1000万の文書からなる大規模なテキストペアデータセットを用いて、平均二乗誤差(MSE)蒸留法で訓練されたポーランド語のテキストランキングモデルです。
🚀 クイックスタート
このポーランド語のテキストランキングモデルは、大規模なデータセットを用いて訓練されており、特定の蒸留法を採用しています。以下に、このモデルの使用方法や評価結果などを紹介します。
✨ 主な機能
- ポーランド語のテキストをランキングすることができます。
- 大規模なデータセットで訓練されており、高い性能を発揮します。
📦 インストール
このセクションでは、原READMEにインストール手順が記載されていないため、スキップします。
💻 使用例
基本的な使用法
Sentence-Transformersを使用する場合
from sentence_transformers import CrossEncoder
import torch.nn
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 = CrossEncoder(
"sdadas/polish-reranker-large-mse",
default_activation_function=torch.nn.Identity(),
max_length=512,
device="cuda" if torch.cuda.is_available() else "cpu"
)
pairs = [[query, answer] for answer in answers]
results = model.predict(pairs)
print(results.tolist())
Huggingface Transformersを使用する場合
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-large-mse"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
texts = [f"{query}</s></s>{answer}" for answer in answers]
tokens = tokenizer(texts, padding="longest", max_length=512, truncation=True, return_tensors="pt")
output = model(**tokens)
results = output.logits.detach().numpy()
results = np.squeeze(results)
print(results.tolist())
📚 ドキュメント
このモデルは、140万のクエリと1000万の文書からなる大規模なテキストペアデータセットを用いて、平均二乗誤差(MSE)蒸留法で訓練されました。訓練データには以下の部分が含まれています:
- ポーランド語のMS MARCO訓練分割データ(80万のクエリ)
- ポーランド語に翻訳されたELI5データセット(50万を超えるクエリ)
- ポーランド語の医学的な質問と回答のコレクション(約10万のクエリ)
教師モデルとして、unicamp-dl/mt5-13b-mmarco-100k(MT5-XXLアーキテクチャに基づく大規模な多言語リランカー)を使用し、学生モデルとしてPolish RoBERTaを選択しました。MSE法では、学生モデルが教師モデルの出力を直接再現するように訓練されます。
🔧 技術詳細
このモデルは、特定の蒸留法を用いて訓練されています。教師モデルの出力を学生モデルが再現するように訓練することで、効果的なテキストランキングを実現しています。
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
評価結果
このモデルは、ポーランド語情報検索ベンチマークのリランカーカテゴリで、NDCG@10が60.27を達成しています。詳細な結果はPIRB Leaderboardを参照してください。
引用
@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}
}