🚀 MS Marco用クロスエンコーダ
このモデルは、MS Marco段落ランキングタスクで訓練されています。
このモデルは情報検索に使用できます。具体的には、クエリが与えられると、そのクエリとすべての可能性のある段落(例えばElasticSearchで検索された段落)をエンコードし、段落を降順に並べ替えます。詳細については、SBERT.netの検索と再ランキングを参照してください。訓練コードはこちらで入手できます:SBERT.netのMS Marco訓練。
🚀 クイックスタート
✨ 主な機能
- 特定のMS Marcoタスクを基に訓練されており、情報検索シーンに適しています。
transformers
とSentenceTransformers
ライブラリと組み合わせて使用でき、使い方が柔軟です。
📦 インストール
ドキュメントに具体的なインストール手順は記載されていません。transformers
とSentenceTransformers
ライブラリの公式インストールガイドを参照してインストールしてください。
💻 使用例
基本的な使用法
transformers
ライブラリを使用してモデルを呼び出す例:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model = AutoModelForSequenceClassification.from_pretrained('cross-encoder/ms-marco-TinyBERT-L4')
tokenizer = AutoTokenizer.from_pretrained('cross-encoder/ms-marco-TinyBERT-L4')
features = tokenizer(['How many people live in Berlin?', 'How many people live in Berlin?'], ['Berlin has a population of 3,520,031 registered inhabitants in an area of 891.82 square kilometers.', 'New York City is famous for the Metropolitan Museum of Art.'], padding=True, truncation=True, return_tensors="pt")
model.eval()
with torch.no_grad():
scores = model(**features).logits
print(scores)
高度な使用法
SentenceTransformersライブラリをインストールすると、より簡単に使用できます:
from sentence_transformers import CrossEncoder
model = CrossEncoder('cross-encoder/ms-marco-TinyBERT-L4', max_length=512)
scores = model.predict([('Query', 'Paragraph1'), ('Query', 'Paragraph2') , ('Query', 'Paragraph3')])
📚 ドキュメント
属性 |
詳細 |
モデルタイプ |
MS Marco用クロスエンコーダ |
訓練データ |
sentence-transformers/msmarco |
ベースモデル |
nreimers/TinyBERT_L-4_H-312_v2 |
タスクタイプ |
テキストランキング |
ライブラリ名 |
sentence-transformers |
ラベル |
transformers |
🔧 技術詳細
このモデルはMS Marco段落ランキングタスクで訓練され、情報検索に使用できます。クエリと段落をエンコードし、段落を降順に並べ替えることで、効果的な情報検索を実現します。
📄 ライセンス
このプロジェクトはApache-2.0ライセンスの下で提供されています。
📦 性能表現
以下の表では、様々な事前訓練されたクロスエンコーダと、それらがTRECディープラーニング2019およびMS Marco段落再ランキングデータセットでの性能表現を提供しています。
モデル名 |
TREC DL 19のNDCG@10 |
MS Marco DevのMRR@10 |
1秒あたりの処理文書数 |
バージョン2モデル |
|
|
|
cross-encoder/ms-marco-TinyBERT-L2-v2 |
69.84 |
32.56 |
9000 |
cross-encoder/ms-marco-MiniLM-L2-v2 |
71.01 |
34.85 |
4100 |
cross-encoder/ms-marco-MiniLM-L4-v2 |
73.04 |
37.70 |
2500 |
cross-encoder/ms-marco-MiniLM-L6-v2 |
74.30 |
39.01 |
1800 |
cross-encoder/ms-marco-MiniLM-L12-v2 |
74.31 |
39.02 |
960 |
バージョン1モデル |
|
|
|
cross-encoder/ms-marco-TinyBERT-L2 |
67.43 |
30.15 |
9000 |
cross-encoder/ms-marco-TinyBERT-L4 |
68.09 |
34.50 |
2900 |
cross-encoder/ms-marco-TinyBERT-L6 |
69.57 |
36.13 |
680 |
cross-encoder/ms-marco-electra-base |
71.99 |
36.41 |
340 |
その他のモデル |
|
|
|
nboost/pt-tinybert-msmarco |
63.63 |
28.80 |
2900 |
nboost/pt-bert-base-uncased-msmarco |
70.94 |
34.75 |
340 |
nboost/pt-bert-large-msmarco |
73.36 |
36.48 |
100 |
Capreolus/electra-base-msmarco |
71.23 |
36.89 |
340 |
amberoad/bert-multilingual-passage-reranking-msmarco |
68.40 |
35.54 |
330 |
sebastian-hofstaetter/distilbert-cat-margin_mse-T2-msmarco |
72.82 |
37.88 |
720 |
注意:実行時間はV100 GPUで計算されています。