🚀 MMLW-retrieval-roberta-large
MMLW (muszę mieć lepszą wiadomość) はポーランド語用のニューラルテキストエンコーダです。このモデルは情報検索タスク向けに最適化されており、クエリとパッセージを1024次元のベクトルに変換することができます。
🚀 クイックスタート
MMLW (muszę mieć lepszą wiadomość) はポーランド語用のニューラルテキストエンコーダです。このモデルは情報検索タスクに最適化されており、クエリとパッセージを1024次元のベクトルに変換することができます。
✨ 主な機能
- ポーランド語の情報検索タスクに最適化されています。
- クエリとパッセージを1024次元のベクトルに変換できます。
📦 インストール
このセクションでは、原READMEに具体的なインストール手順が記載されていないため、省略します。
💻 使用例
基本的な使用法
from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim
query_prefix = "zapytanie: "
answer_prefix = ""
queries = [query_prefix + "Jak dożyć 100 lat?"]
answers = [
answer_prefix + "Trzeba zdrowo się odżywiać i uprawiać sport.",
answer_prefix + "Trzeba pić alkohol, imprezować i jeździć szybkimi autami.",
answer_prefix + "Gdy trwała kampania politycy zapewniali, że rozprawią się z zakazem niedzielnego handlu."
]
model = SentenceTransformer("sdadas/mmlw-retrieval-roberta-large")
queries_emb = model.encode(queries, convert_to_tensor=True, show_progress_bar=False)
answers_emb = model.encode(answers, convert_to_tensor=True, show_progress_bar=False)
best_answer = cos_sim(queries_emb, answers_emb).argmax().item()
print(answers[best_answer])
高度な使用法
原READMEに高度な使用法に関する具体的なコード例がないため、このセクションは省略します。
📚 ドキュメント
モデルの開発手順
このモデルは2段階の手順で開発されました。
- 最初のステップでは、ポーランド語のRoBERTaチェックポイントで初期化され、その後、多言語知識蒸留法を用いて、6000万のポーランド語 - 英語のテキストペアからなる多様なコーパスで学習されました。蒸留の教師モデルとして、English FlagEmbeddings (BGE) を利用しました。
- 2番目のステップでは、得られたモデルを Polish MS MARCO のトレーニング分割データで対照損失を用いて微調整しました。対照学習の効率を向上させるために、小規模モデルでは1152、ベースモデルでは768、大規模モデルでは288という大きなバッチサイズを使用しました。微調整は12台のA100 GPUクラスタで行われました。
評価結果
このモデルは、ポーランド語情報検索ベンチマークで NDCG@10 が 58.46 を達成しています。詳細な結果は PIRB Leaderboard を参照してください。
謝辞
このモデルは、TASKセンターイニシアチブの一環として、グダニスク工科大学が提供するA100 GPUクラスタのサポートを受けて学習されました。
引用
@article{dadas2024pirb,
title={{PIRB}: A Comprehensive Benchmark of Polish Dense and Hybrid Text Retrieval Methods},
author={Sławomir Dadas and Michał Perełkiewicz and Rafał Poświata},
year={2024},
eprint={2402.13350},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
🔧 技術詳細
このモデルは、ポーランド語の情報検索タスクに特化して開発されています。まず、ポーランド語のRoBERTaチェックポイントを初期値として、多言語知識蒸留法を用いて学習を行います。その後、対照損失を用いて微調整することで、情報検索性能を向上させています。
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
⚠️ 重要提示
2023-12-26: モデルを新しいバージョンに更新し、結果を改善しました。以前のバージョンは v1 タグを使用してダウンロードできます: AutoModel.from_pretrained("sdadas/mmlw-retrieval-roberta-large", revision="v1")
⚠️ 重要提示
当社の密ベクトル検索器は、テキストをエンコードする際に特定の接頭辞と接尾辞の使用を必要とします。このモデルの場合、各クエリの前に接頭辞 "zapytanie: " を付ける必要があります。