1 of 26

Improving Text Embeddings with Large Language Models

Liang Wang, Nan Yang, Xiaolong Huang, Linjun Yang, Rangan Majumder, Furu Wei

ACL 2024

第16回最先端NLP勉強会

紹介者: 山田 康輔 (CA AI Lab)

2 of 26

概要

  • 人手で作成されたデータセットを用いずに、高品質なテキスト埋め込みを獲得する手法を提案
  • LLMを活用して多様なテキスト埋め込みタスクの合成データを作成し、対照学習を用いてfine-tuningすることで実現
  • 情報検索のベンチマークBEIRやテキスト埋め込みベンチマークMTEBで、高い性能を示すことを実証

選定理由:

最近のテキスト埋め込み手法の共有、LLMによる合成データの知見の共有

2

3 of 26

背景: テキスト埋め込み (Text Embeddings) とは

  • 自然言語テキストのベクトル表現
    • テキストの意味の近さをベクトルで表現

机の上に置き時計がある。

机の上に時計が置かれている。

壁に絵画が飾られている。

テキスト埋め込み

モデル

[0.1, -0.5, ...]

[0.2, -0.6, ...]

[0.6, -0.2, ...]

3

4 of 26

背景: テキスト埋め込みベンチマーク

  • Massive Text Embedding Benchmark (MTEB)[1] [リーダーボード]
    • 情報検索ベンチマークBEIR[2] 🍻

4

5 of 26

背景: テキスト埋め込み (主に文埋め込み) の変遷 (1/3)

  • BERTの登場以前 (~2018)
    • Word2vecやGloVeなどの静的な単語埋め込みから後処理で生成
      • GloVeの平均[3]、SIF[4]など
    • RNNやCNNをベースとしたモデルを訓練
      • Skip-Thought[5]、InferSent[6]、Universal Sentence Encoder[7]など
  • BERTの登場以降 (2019~)
    • BERTをFine-tuningして文埋め込みモデルを作成
      • Sentence-BERT[8]、BERT-flow[9]など

5

6 of 26

背景: テキスト埋め込み (主に文埋め込み) の変遷 (2/3)

  • 対照学習全盛期 (2021~)
    • 対照学習: クエリ(q)に対して正例(k+)が近づき負例(k)が離れるように学習
    • 代表的な手法の一つがSimCSE[10]
      • Unsupervised SimCSE
        • 異なるDropoutを適用する同じ入力文を正例、

他の入力文を負例として学習

      • Supervised SimCSE
        • NLIデータセットで含意関係の文を正例

そうではない文を負例として対照学習

6

7 of 26

背景: テキスト埋め込み (主に文埋め込み) の変遷 (3/3)

  • モデルや訓練の大規模化 (2023~)
    • データ量やバッチサイズを増大した多段階対照学習の導入
      • 大量の弱教師データを用いた事前学習→教師データを用いたFine-tuning
      • Contriever[11]E5[12]、GTE[13]BGE[14]
    • T5を使用したモデルの登場
      • Sentence-T5[15]GTR[16]
    • タスク固有のテキスト埋め込み
      • 指示Fine-tuning:
        • タスク指示を追加してFine-tuning
      • InstructOR[17]

7

8 of 26

背景: 既存のテキスト埋め込み手法の弱み

  • データ量やバッチサイズを増大した多段階対照学習の導入
    • 複雑な学習パイプラインとなるため、エンジニアリング力が要求される
  • T5を使用したモデルの登場
    • 数々のNLPタスクで、より高い性能を示すモデルが存在する
  • タスク固有なテキスト埋め込み
    • 人手でアノテーションされたデータセットを訓練で活用しているが、   タスクや言語の多様性に欠ける

8

9 of 26

手法: 提案するテキスト埋め込み手法 E5-Mistral

  • データ量やバッチサイズを増大した多段階対照学習の導入
    • 一段階の訓練でテキスト埋め込みベンチマークで高い性能を実現
  • T5を使用したモデルの登場
    • Decoder型のLLMであるMistralをベースとした手法
  • タスク固有なテキスト埋め込み
    • LLMで生成した多様なタスクや言語の合成データに基づく訓練

9

10 of 26

手法: E5-Mistral構築のパイプライン

  • 2段階のプロンプトを用いて合成データ (synthetic data)の作成
    1. 検索タスクに関するブレインストーミング
    2. 対照学習に用いる三つ組(クエリ, 正例, 負例)の作成
  • Mistralに対して対照学習によるFine-tuning

Open AI API

(GPT-3.5 Turbo, GPT-4)

プロンプト

合成データ

Mistral

E5-Mistral

対照学習

10

11 of 26

手法: 合成データの作成 (1/2)

  • 合成データで作成するテキスト埋め込みタスクを2つに分類
    • 非対称タスク (Asymmetric Tasks)
      • クエリと文書が意味的に関連しているが、言い換えではないタスク
        • 例: 検索
      • 長さによって4つのサブグループを作成 {short, long} x {short, long}
      • 2段階のプロンプト (予備実験で1段階のプロンプトでは多様性が出なかった)
    • 対称タスク (Symmetric Tasks)
      • 意味的には類似しているが、表層は異なるタスク
        • 例: 意味的類似度算出、二言語テキストマイニング
      • 1段階のプロンプト (ブレインストーミングは省略)

11

12 of 26

手法: 合成データの作成 (2/2)

  • プロンプトテンプレートの中でいくつかの変数を容易
    • 非対称タスクのlong-shortの場合
      • クエリタイプ: {extremely long-tail, long-tail, common}
      • クエリ長: {less than 5 words, 5 to 15 words, at least 10 words}
      • 難易度: {high school, college, PhD}
      • 明瞭さ: {clear, understandable with some effort, ambiguous
      • 単語数: {50, 100, 200, 300, 400, 500}

12

13 of 26

手法: 1段階目のプロンプトと出力例 (非対称, short-long)

13

14 of 26

手法: 2段階目のプロンプトと出力例 (非対称, short-long)

14

15 of 26

手法: 対照学習によるFine-tuning (実験はLoRAを利用)

  • モデルへの入力形式
    • クエリ(q)には指示を付与
    • 文書(d)には何も付与しない
  • InfoNCE損失で対照学習
    • 負例として、hard negativeと同じミニバッチ内の他の負例を利用
    • クエリと文書の埋め込み(h)は、LLMの最終層の[EOS]トークンのベクトル

15

16 of 26

実験: 合成データの統計

  • 15万種類のプロンプトを用いて50万のデータを作成
  • 主な言語は英語で合計93言語 (下位75言語では平均1,000事例)

16

17 of 26

実験: MTEBの実験結果 (1/2)

  • 提案手法E5-Mistralで全体的に高い性能
    • 合成データのみでさえ従来手法の性能に拮抗
    • 従来通り人手で作成されたデータも訓練に入れることでさらに高い性能

埋め込みタスクの定義があれば自身で訓練データを生成して 埋め込みモデルへ変換できる 可能性を示唆

17

18 of 26

実験: MTEBの実験結果 (2/2)

  • 商用モデルと比較しても提案手法は高い性能を示す
    • 商用モデルの実態は不明なので公平な比較は困難なことに注意

18

19 of 26

実験: 多言語の検索タスクにおける実験結果

  • 多言語検索ベンチマークであるMIRACL[18]で実験
    • 高資源言語では、提案手法が既存手法を上回る結果一方で、       低資源言語では、既存手法を下回る結果
    • Mistralが主に英語データで事前学習されていることが原因

19

20 of 26

分析: 弱教師データを用いた事前学習の必要性

  • 近年のテキスト埋め込み手法では、2段階の対照学習を行っている
    • 大量の弱教師データを用いた事前学習→教師データを用いたFine-tuning
  • Mistralでは言語モデリングによる事前学習で優れたテキスト表現を獲得できているため、 弱教師データを用いた対照学習による事前学習はモデルの品質に影響しない

20

21 of 26

分析: 長いテキストに対する埋め込みを評価

  • 個人のパスキー検索タスク[19]
    • 100件の長い文書の中からクエリ中の人物名のパスキーを含む文書を検索

  • Rotary Positional Embedding (RoPE) [20]を用いて長文文脈へ対応

21

22 of 26

分析: 手法の設定を変更した実験結果

  • Llama 2よりMistralをベースとした手法の方が高い性能
  • プロンプトの指示の有無が性能に影響

22

23 of 26

まとめ

  • LLMによって生成した多様な合成データに基づく対照学習を行うことで、各種ベンチマークで高い性能を示すテキスト埋め込み手法を提案
    • 多段階の訓練の排除
    • LLMの活用
    • 多様なタスクや言語の合成データの作成

23

24 of 26

所感

  • 比較的正確性が重視されないタスクでは、合成データのみでも十分かも
  • データ拡張がしやすい時代に
    • ようやくまともに機能し始めそうな印象
    • NVIDIA Nemotron-4 340Bなど、商用利用可能でさらに高品質な合成データ生成も進んでおり、活用が広がりそう [link]
  • 小さいモデルで機能するかの実験が欲しい

24

25 of 26

引用 (1/2)

  1. Muennighoff et al.: MTEB: Massive Text Embedding Benchmark, 2023, EACL
  2. Thakur et al.: BEIR: A Heterogenous Benchmark for Zero-shot Evaluation of Information Retrieval Models, 2021, NeurIPS
  3. Pennington et al.: GloVe: Global Vectors for Word Representation, 2014, EMNLP
  4. Arora et al.: A Simple but Tough-to-Beat Baseline for Sentence Embeddings, 2017, ICLR
  5. Kiros et al.: Skip-thought vectors, 2015, NIPS
  6. Conneau et al.: Supervised Learning of Universal Sentence Representations from Natural Language Inference Data, 2017, EMNLP
  7. Cer et al.: Universal Sentence Encoder for English, 2018, EMNLP
  8. Reimers and Gurevych: Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks, 2019, EMNLP
  9. Li et al.: On the Sentence Embeddings from Pre-trained Language Models, 2020, EMNLP
  10. Gao et al.: SimCSE: Simple Contrastive Learning of Sentence Embeddings, 2021, EMNLP
  11. Izacard et al.: Unsupervised Dense Information Retrieval with Contrastive Learning, 2022, TMLR

25

26 of 26

引用 (2/2)

26