0 / 0
資料の 英語版 に戻る
IBM slate-30m-english-rtrvr-v2 モデルカード
最終更新: 2024年11月28日
IBM slate-30m-english-rtrvr-v2 モデルカード

バージョン 2.0.1 Date: 06/30/2024

モデルの説明

slate.30m.english.rtrvrモデルは、バイエンコーダーに基づく標準的な文変換モデルです。このモデルは、与えられた入力(クエリー、パッセージ、文書など)に対する埋め込みを生成する。 例えば、テキストA(クエリテキスト)とテキストB(パッセージテキスト)の間の余弦類似度を最大化するように学習される。 これらの文の埋め込みは、コサイン類似度を用いて比較することができる。

スレート符号化されたクエリーテキストと符号化された通過テキストを比較するダイアグラム

図1: 検索のためのバイエンコーダ埋め込みモデル

基本言語モデル

エンベッディングの言語モデル(LM)は“slate.30m.english”です。 これは、small-RoBERTaトランスフォーマー モデルと同じアーキテクチャ (6層) で、~3,000万個のパラメータと384の埋め込み次元を持ちます。 具体的には、“slate.30m.english”は“slate.125m.english”(以前はWatBERT)から蒸留されたものである。 最終的なモデルの名前はslate.30m.english.rtrvr です。 末尾の接尾辞は、検索ベースのタスクのために基礎となるモデル・アーキテクチャを微調整していることを示す。

トレーニング・アルゴリズム

最先端の、またはMTEB リーダーボードのトップに位置する埋め込みモデルのほとんどは、通常、次の 3 つの段階でトレーニングされます。

  1. 課題別(検索ベース)事前トレーニング
  2. 採掘されたペアのタスク別微調整
  3. 教師付きペアの微調整 我々は同様のアプローチをとり、最後の2つの段階を1つの微調整ステップにまとめる。

slate.30m.english.rtrvr は、“slate.125m.english.rtrvr-06-30-2024”モデルから微調整ステップで蒸留して生成されます(大きな教師モデルの詳細は、この場所にあります)。 知識蒸留は、高パフォーマンスの教師モデルから、より小さな生徒モデルに知識を転送します。これは、生徒の出力確率分布が教師の出力確率分布にできるだけ一致するように訓練することで、生徒のパフォーマンスを単独で微調整するよりも向上させます。

タスク別の事前トレーニング

この段階では、 RetroMAEフレームワークを使用して、基盤となる LM をより検索指向にします。 “slate.30m.english”でベースLMを初期化し、表1のデータを使ってRetroMAEで事前学習を続ける。 ここでは、データからのハードラベルだけを使うのではなく、slate.125m.english.rtrvr で使われている RetroMAE エンコーダーの予測値も抽出します。 ハイパーパラメータは次のとおりである:学習率:2e-5、ステップ数:435000、GPU:8 A100 (80GB) GPUs.

注:これは次の2ステージのベースとなるLMである。

教師なしペアと教師ありペアを用いた蒸留

埋め込みモデルの学習には、図1のようなバイエンコーダの枠組みを用いる。 RetroMAEで初期化し、さらにクエリー、パッセージのテキストペアを用いて、対比的損失の目的語を用いてバッチ内否定で知識蒸留を行う。 知識蒸留は、生徒の出力確率分布を教師の出力確率分布にできるだけ近づけるように訓練する。 レトリーバーモデルの文脈では、出力分布はテキストのペア間の類似度スコアである。 具体的には、クエリ、パッセージの文のペアごとに、クエリパッセージの埋め込み間の教師の得点の分布、つまり埋め込み間の余弦類似度を生徒に抽出する。

蒸留に使用する教師は、後述の同じデータで学習した"slate.125m.english.rtrvr”モデルです。 教師モデルは、RetroMAEの事前学習済みモデルが事前学習段階で教師なしデータを見るという多段階パラダイムを使って学習され、その後、よりクリーンな、採掘された、またはゴールドラベルのデータで数百ステップにわたって微調整された。 データセット間のロバスト性を確保するため、この微調整されたモデルを、同じデータに対して異なるハイパーパラメットで訓練された別のモデルと融合させた。 詳細はslate.125m.english.rtrvrモデルカードをご参照ください。

知識移転の流れを図2に示す。

slate.125m.englishからslate.125m.rtrvr、slate.30m.rtrvrまでの蒸留を示す図

図2: 知識の蒸留

トレーニングデータのセクションで示したように、様々なドメインから大規模なペアをマイニングする。 さらに、検索タスクのための高品質なペアも以下のデータセットに含まれている:SQuAD, Natural Questions、Specter、Stack Exchange (Title, Body)のペア、S2ORC、SearchQA, HotpotQA, Fever、Miracl。 これらの教師ありデータセットには、slate.125m.english.rtrvr モデルの前のバージョンで採掘されたハードネガも含まれています。 さらに、`Mixtral-8x7B-Instruct-v0.1`を使用して、質問-回答、事実確認などの良質なペアを作成するために、トリプルを合成的に生成します。IBM固有のユースケースでより良いパフォーマンスを提供するために、IBMソフトウェアサポートデータとIBM Docsから作成されたペアも含まれています。

蒸留ハイパーパラメータは次の通り:学習rate:7e-4、ステップ数:500000, 有効バッチサイズ: 2048, GPUs:4 A100_80GB GPUs.

データの学習

表 1. トレーニング前のデータ
データ・セット パッセージ
ウィキペディア 36396918
書籍コーパス 3401308
スタックエクスチェンジ 15999837
表 2. データの微調整
データ・セット ペア
SPECTERの3連引用 684100
Stack Exchange 重複する質問(タイトル) 304525
Stack Exchange 重複する質問(遺体) 250519
Stack Exchange 重複する質問(タイトル+本文) 250460
ナチュラル・クエスチョン(NQ) 100231
SQuAD2.0 87599
PAQ(質問と回答)ペア 64371441
スタック・エクスチェンジ(タイトル、回答)ペア 4067139
スタック・エクスチェンジ(タイトル、本文)ペア 23978013
スタック・エクスチェンジ(タイトル+本文、回答)ペア 187195
S2ORC 引用ペア(タイトル) 52603982
S2ORC(タイトル、アブストラクト) 41769185
S2ORC_citations_abstracts 52603982
WikiAnswers 重複する質問のペア 77427422
SearchQA 582261
HotpotQA 85000
フィーバー 109810
Arxiv 2358545
ウィキペディア 20745403
PubMed 20000000
ミラクル・エン・ペア 9016
DBPediaタイトルとボディのペア 4635922
総合的なクエリ-ウィキペディアのパッセージ 1879093
シンセティック事実の検証 9888
IBM:ソフトウェア・サポートが3倍に 40290
IBMです:IBM Docs (タイトル-本文) 474637
IBMです:IBM サポート (タイトル-本文) 1049949

使用法

# make sure you’ve sentence transformers installed

pip install -U sentence-transformers

from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('path_to_slate_model')

input_queries = [
' Who made the song My achy breaky heart? ',
'summit define']

input_passages = [
" Achy Breaky Heart is a country song written by Don Von Tress. Originally titled Don't Tell My Heart and performed by The Marcy Brothers in 1991. ",
"Definition of summit for English Language Learners. : 1 the highest point of a mountain : the top of a mountain. : 2 the highest level. : 3 a meeting or series of meetings between the leaders of two or more governments."]

query_embeddings = model.encode(input_queries)

passage_embeddings = model.encode(input_passages)

print(util.cos_sim(query_embeddings, passage_embeddings))

このモデルの最大シーケンス長は512トークンである。

評価

ベースライン

公正な比較のために、以下のベースラインと比較する:

  1. BM25(tf-idfに基づく伝統的モデル)

  2. ELSER(Elasticが提供する商用検索アルゴリズム)

  3. all-MiniLM-l6-v2:人気のあるオープンソースの文章変形モデルです。 このモデルはslate.30m.english.rtrvrと同じアーキテクチャーを共有し、商用に適したライセンスなしで、より多くのデータでトレーニングされています。 詳細はハギングフェイスモデルカードをご覧ください

  4. E5-base:最近のオープンソースのトランスフォーマーモデルで、BEIRベンチマークで非常に優れた性能を発揮します。 これはベースサイズのモデルで、slate.125m.english.rtrvrと同じアーキテクチャを持つ。 [参考文献王 et.al、 2022: 弱教師付き対照事前学習によるテキスト埋め込み]. ハギングフェイスモデルカード

  5. E5-small:オープンソースのE5ファミリーの中の小型モデル。 このモデルの埋め込み次元はslate.30m.rtrvr(384)と同じだが、レイヤー数が12であるため、より大きく、わずかに遅い。 [参考文献王 et.al、 2022: 弱教師付き対照事前学習によるテキスト埋め込み]. ハギングフェイスモデルカード

  6. BGE-base:最近のオープンソース変換モデルで、768エンベッディングサイズのBEIRベンチマークで最高の性能を発揮。 ハギングフェイスモデルカード

  7. BGE-small:384エンベッディングサイズのBEIRベンチマークで最高のパフォーマンスを発揮する、最近のオープンソースのトランスフォーマーモデル。 ハギングフェイスモデルカード

また、これらのモデルのパフォーマンスを、スレートモデルの旧バージョンであるslate.125m.english.rtrvr-012024とslate.30m.english.rtrvr-012024と比較する。

当社の評価ベンチマーク: BEIR ( MTEB の検索タブ)

BEIRベンチマークは、ゼロショット設定下で評価された15のオープンソース検索タスクで構成されています。 BEIRは、9つの異なる検索タスクを含む多様性に焦点を当てた:ファクトチェック、引用予測、重複質問検索、議論検索、ニュース検索、質問応答、ツイート検索、バイオ・医療IR、エンティティ検索である。 さらに、多様なテキストドメインのデータセット、幅広いトピック(ウィキペディアのような)と専門的なトピック(COVID-19 出版物のような)をカバーするデータセット、異なるテキストタイプ(ニュース記事対.ツイート)、様々なサイズのデータセット(3.6k - 15M documents)、異なるクエリ長(平均クエリ長は3~192語)とドキュメント長(平均ドキュメント長は11~635語)のデータセットがある。 BEIRは評価に正規化累積割引利益(具体的にはnDCG@10)指標を使用する。

ロングNQ

Long NQはIBMのデータセットで、NaturalQuestionsデータセットのサブセットに基づいて、RAGパイプライン全体を評価するために設計されています。 開発セットには、2,345のウィキペディア文書から178,891の文章をコーパスとする300の回答可能な質問がある。 ロングNQはまた、各問題に関連するゴールド・ウィキペディアの文章も提供している。 検索中、タスクはすべての質問に対してコーパスから関連する金文を取得することである。

結果

表 3. BEIRベンチマークでの性能比較(MTEB検索タブ)
モデル BEIR-15 (NDCG@10)
BM25 42.02
エルザー 49.01
all-miniLM-L6-v2 41.95
ES-small-v2 49.04
ES-base-v2 50.29
BGE-小 51.68
BGEベース 53.25
slate.30m.english.rtrvr 01.20.2024 46.91
slate.125m.english.rtrvr-01.20.2024 49.37
slate.30m.english.rtrvr 06.30.2024 49.06
slate.125m.english.rtrvr-06.30.2024 51.26

スレートと他のモデルの結果を示すグラフ

図3: BEIRベンチマークでの性能比較(MTEB検索タブ)

表 4. ロングNQデータセットでの性能比較
モデル LONGNQ (NDCG@10)
all-miniLM-L6-v2 58.10
BGE-小 59.33
BGEベース 61.29
ES-small-v2 61.88
ES-base-v2 63.80
slate.30m.english.rtrvr 01.20.2024 59.94
slate.125m.english.rtrvr-01.20.2024 65.01
slate.30m.english.rtrvr 06.30.2024 62.07
slate.125m.english.rtrvr-06.30.2024 66.80

スレートと他のモデルの結果を示すグラフ

図4: ロングNQデータセットでの性能比較

ランタイム・パフォーマンス

パフォーマンスの実行時間は、466のクエリーを持つ再ランキングタスクで測定された。 各クエリについて、top-100 によって得られたBM25のパッセージを再ランク付けし、全クエリの平均時間を報告する。 再ランキングはA100_40GB GPUで実行された。

表 5. 再ランキングにおけるランタイム・パフォーマンス
モデル 時間/クエリー
all-miniLM-L6-v2 0.18秒
E5-small 0.33秒
E5-base 0.75秒
BGE-小 0.34秒
BGEベース 0.75秒
slate.125m.english.rtrvr 0.71秒
slate.30m.english.rtrvr 0.20秒
生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細