SGPT: 意味検索のためのGPTによる文章埋め込み

SGPT: GPT Sentence Embeddings for Semantic Search

f:id:e4exp:20220303152808p:plain
提案手法の構造図.左(a)がSGPTクロスエンコーダ,右(b)がSGPTバイエンコーダ.

f:id:e4exp:20220303153033p:plain
BEIRでのre-ranking 性能比較(クロスエンコーダ)


  • GPTをバイエンコーダやクロスエンコーダとして対称検索や非対称検索に適用するためのSGPT-BEとSGPT-CEを提案
    • GPTは利用可能な最大の言語モデルであるが、意味探索はこれまでBERTに支配されていた
    • SGPT-BEは、バイアステンソルだけを対照的に微調整し、新しいプーリング手法により、意味的に意味のある文埋め込みを生成.BEIRで最も優れた文埋め込みを6%上回り、新たな最先端を達成(OpenAI Embeddings of the 175B Davinci endpoint(25万倍のパラメータを微調整)を凌駕)
    • SGPT-CEは、GPTモデルからの対数確率を微調整なしで使用.BEIRにおいて教師無しで最先端.7つのデータセットで教師ありの最先端
  • バイエンコーダはdocumentとqueryそれぞれをGPTに通してposition-weighted mean pooling(後のトークンほど重みが大きい)を適用し,queryベクトルとそれぞれのdocument vectorとcos similarityを測りargmax
  • クロスエンコーダはqueryとdocumentを結合してGPTにいれ,query token上のlog probability sumをとりargmax

背景

クロスエンコーダー:

バイエンコーダー:

  • クエリとドキュメントを別々にエンコードする方法
  • 新しいクエリはクエリベクトルを生成するために、変換器を一回通過するだけでよい。このクエリベクトルは、キャッシュされた文書ベクトルに対して類似性関数でスコアリングされる。バイエンコーダの埋め込みは、クラスタリング機械学習モデルの入力特徴など、検索以外のタスクに利用可能
  • クロスエンコーダーはBi-Encoderよりも性能が高いが遅い

非対称検索:

  • クエリと文書が交換可能でない。ある質問から答えを見つけることは非対称検索問題

対称検索:

  • クエリと文書が交換可能である。クエリと文書がともに質問である場合、重複質問を見つけることは対称検索問題