10億のトレーニングペアを用いたHugging Face Sentence Embedding Models

TL;DR

Hugging Faceは、最大10億の文ペアからなる大規模なコーパスを用いてトレーニングを行うことで、最先端の汎用文埋め込み(sentence embedding)モデルを開発しました。これは、JAX/FlaxフレームワークとGoogle TPU v3-8インフラストラクチャを使用して、大規模な対照学習(contrastive learning)を最適化することで実現されました。

トレーニング手法

モデルアーキテクチャ

文埋め込みモデルは、クラスタリング、テキストマイニング、質問応答などのアプリケーションのために、文を実数のベクトルにマッピングして意味的な意味を捉えます。考えられるすべての文の集合は無限であるため、これらのモデルは構成モジュール(通常はTransformerに続いて、文脈化された単語ベクトルに対するプーリング操作)を使用して、最終的な表現を計算します。

Multiple Negative Ranking Loss (MNRL)

これらのモデルは、Multiple Negative Ranking Loss(InfoNCEまたはNTXentLossとも呼ばれる)として知られる対照学習手法を用いてトレーニングされました。このアプローチは、インバッチ・ネガティブ(in-batch negatives)を使用して埋め込み空間を最適化します:

  1. Dataset Composition: トレーニングセットは、意味が近いペア $(a_i, p_i)$ (例:クエリと回答のペア、重複する質問、または引用された論文のタイトル)で構成されています。
  2. Objective: モデルは、ポジティブなペア $(a_i, p_i)$ を近いベクトルにマッピングし、一方で $i eq j$ である不一致なペア $(a_i, p_j)$ を遠いベクトルに押し出すようにトレーニングされます。
  3. Similarity Functions: モデルは、バッチ内のすべてのペア間の類似度行列を計算します。使用される類似度関数は、Cosine-SimilarityまたはDot-Productのいずれかです。
    • Cosine-Similarity: 正規化されたベクトルは、自分自身との類似度が最も高くなること(1)を保証し、ユークリッド距離に比例するため、k-meansクラスタリングと互換性があります。
    • Dot-Product: 一部の近似最近傍探索法では高速化できる可能性がありますが、k-meansクラスタリングとは互換性がなく、他のベクトルが自分自身との類似度よりも高いドット積を持つことを許容します。

スコアの差が小さくなりすぎるのを防ぐため、類似度スコアにスケーリング係数 $C$ (通常は $C=20$)が適用されます:$sim_{scaled}(a, b) = C * sim(a, b)$。

埋め込みの品質を最適化する

バッチサイズとHard Negatives

バッチの構成は、対照学習のパフォーマンスに極めて重要です。Hugging Faceは、品質を向上させるための3つの主要なレバー(手段)を特定しました:

  • Batch Size: バッチサイズが大きいほど、一般的にモデルのパフォーマンスが向上します。
  • Hard Negatives: ポジティブなサンプル $p_i$ と意味的に近いが、正しい一致ではないサンプル $p_j$ (例:「What is the capital of France?」対「What is the capital of the US?」)を含めることで、モデルにより精密な意味的区別を学習させることができます。
  • Cross-Dataset Batches: 単一のバッチ内に少なくとも2つの異なるデータセットを混合することで、モデルは単一のトピック内の局所的な構造だけでなく、異なるトピック間のグローバルな構造を学習します。

インフラストラクチャとデータの規模

このプロジェクトでは、大規模な対照学習に必要な行列演算を処理するために、7台のTPU v3-8を利用しました。トレーニングデータは、合計で最大10億の文ペアからなる連結されたデータセットで構成されていました。

結果とアプリケーション

Hugging Faceは、Mini-LM、RoBERTa、DistilBERT、およびMPNetを含むアーキテクチャに基づいた20個の汎用Sentence Transformerモデルをトレーニングし、複数の汎用文の類似度評価タスクにおいて最先端(SOTA)の結果を達成しました。

モデルとともに、Sentence-Similarity、Question Answering、およびGender Evaluationのための8つの専門的なデータセットがリリースされました。これらの埋め込みは、いくつかの実用的なアプリケーションを可能にします:

  • Sentence Similarity: コサイン類似度を使用して、2つのテキストの意味的な近さを比較します。

  • Asymmetric QA: 候補となるパッセージが特定のクエリに対して回答となる可能性を判定します。

  • Search and Clustering: ドット積距離を使用して、クエリに近い回答を検索します。

  • Gender Bias Evaluation: 職業に基づいたアンカーテキストにおけるジェンダー化された代名詞のモデル類似度スコアを比較することで、トレーニングセットに内在するジェンダーバイアスを特定します。

Sources

関連