🚀 multi-qa_v1-MiniLM-L6-cls_dot
SentenceTransformersは、与えられたデータから文章埋め込みを学習し生成するためのモデルとフレームワークのセットです。生成された文章埋め込みは、クラスタリング、意味検索などのタスクに利用できます。このモデルは、事前学習されたnreimers/MiniLM-L6-H384-uncasedモデルを使用し、シアメーズネットワークの設定と対照学習の目的で学習されています。StackExchangeの質問と回答のペアを学習データとして使用し、質問/回答の埋め込みの類似性に対してロバストなモデルを作成しました。このモデルでは、文章埋め込みとして平均プーリングではなくcls出力を使用しました。学習目的のために、類似度を計算するためにドット積を使用しました。
🚀 クイックスタート
このモデルは、検索エンジンの文章エンコーダーとして使用することを目的としています。入力文章が与えられると、文章の意味情報を捉えたベクトルを出力します。文章ベクトルは、意味検索、クラスタリング、または文章類似性タスクに使用できます。
✨ 主な機能
- SentenceTransformersを使用して文章埋め込みを生成できます。
- 質問/回答の埋め込みの類似性に対してロバストです。
- ドット積を使用して類似度を計算します。
📦 インストール
このモデルを使用するには、SentenceTransformersライブラリをインストールする必要があります。
pip install sentence-transformers
💻 使用例
基本的な使用法
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('flax-sentence-embeddings/multi-qa_v1-MiniLM-L6-cls_dot')
text = "Replace me by any question / answer you'd like."
text_embbedding = model.encode(text)
📚 ドキュメント
モデルの説明
SentenceTransformersは、与えられたデータから文章埋め込みを学習し生成するためのモデルとフレームワークのセットです。生成された文章埋め込みは、クラスタリング、意味検索などのタスクに利用できます。このモデルは、事前学習されたnreimers/MiniLM-L6-H384-uncasedモデルを使用し、シアメーズネットワークの設定と対照学習の目的で学習されています。StackExchangeの質問と回答のペアを学習データとして使用し、質問/回答の埋め込みの類似性に対してロバストなモデルを作成しました。このモデルでは、文章埋め込みとして平均プーリングではなくcls出力を使用しました。学習目的のために、類似度を計算するためにドット積を使用しました。
想定される用途
このモデルは、検索エンジンの文章エンコーダーとして使用することを目的としています。入力文章が与えられると、文章の意味情報を捉えたベクトルを出力します。文章ベクトルは、意味検索、クラスタリング、または文章類似性タスクに使用できます。
学習手順
事前学習
このモデルは、事前学習されたnreimers/MiniLM-L6-H384-uncasedモデルを使用しています。事前学習手順の詳細については、モデルカードを参照してください。
微調整
このモデルは、対照学習の目的で微調整されています。正式には、バッチ内のすべての可能な文章ペアからコサイン類似度を計算し、真のペアと比較することでクロスエントロピー損失を適用します。
ハイパーパラメータ
このモデルは、TPU v3-8で学習されました。バッチサイズ1024(TPUコアあたり128)を使用して80kステップ学習しました。学習率のウォームアップを500ステップ行いました。シーケンス長は128トークンに制限されました。AdamWオプティマイザを使用し、学習率は2e-5です。完全な学習スクリプトは、現在のリポジトリでアクセスできます。
学習データ
このモデルを微調整するために、複数のStackexchange質問-回答データセットの連結を使用しました。MSMARCO、NQ、その他の質問-回答データセットも使用されました。
データセット |
論文 |
学習タプルの数 |
Stack Exchange QA - Title & Answer |
- |
4,750,619 |
Stack Exchange |
- |
364,001 |
TriviaqQA |
- |
73,346 |
SQuAD2.0 |
論文 |
87,599 |
Quora Question Pairs |
- |
103,663 |
Eli5 |
論文 |
325,475 |
PAQ |
論文 |
64,371,441 |
WikiAnswers |
論文 |
77,427,422 |
MS MARCO |
論文 |
9,144,553 |
GOOAQ: Open Question Answering with Diverse Answer Types |
論文 |
3,012,496 |
Yahoo Answers Question/Answer |
論文 |
681,164 |
SearchQA |
- |
582,261 |
Natural Questions (NQ) |
論文 |
100,231 |
🔧 技術詳細
このモデルは、Hugging Faceによって主催されたCommunity week using JAX/Flax for NLP & CVの間に開発されました。このモデルは、プロジェクトTrain the Best Sentence Embedding Model Ever with 1B Training Pairsの一部として開発されました。このプロジェクトを実行するために、効率的なハードウェアインフラストラクチャ(7台のTPU v3-8)を利用し、GoogleのFlax、JAX、およびCloudチームのメンバーから効率的な深層学習フレームワークに関する支援を受けました。