本日、Ettin ModernBERTエンコーダーをベースとした6つの新しいSentence Transformersクロスエンコーダーリランカー、Ettinリランカーファミリーをリリースします。これらのモデルはそれぞれのパラメータサイズにおいて最先端の性能を達成しています。すべてのモデルは蒸留レシピを用いてトレーニングされました。教師モデルとしてmixedbread-ai/mxbai-rerank-large-v2のスコアを使用し、点単位の平均二乗誤差(MSE)損失で学習しています。使用したデータセットcross-encoder/ettin-reranker-v1-dataは、約1億4300万件の(クエリ、ドキュメント、ラベル)トリプルから構成され、39の名前付きサブセットに分割されており、各行の出自が明確です。
リランカー(一点投票クロスエンコーダー)は、クエリとドキュメントのペアを受け取り、単一の関連性スコアを出力するニューラルモデルです。埋め込みモデルがクエリとドキュメントを別々にエンコードし、そのベクトル間の類似度を計算するのに対し、リランカーは二つのテキストがすべてのTransformer層で相互に注意を払うことを可能にします。この結合エンコードはより高精度ですが、計算コストも高くなります。そのため、実運用では「検索→リランク」パイプラインが一般的です。高速な埋め込みモデルで上位K件の候補を取得し(低コスト)、その後クロスエンコーダーでそれらのK件を高精度に再順位付けします。
モデルの使用方法は非常に簡単です。sentence_transformersからCrossEncoderをインポートし、モデルをロードして、predictメソッドに(クエリ、ドキュメント)のペアを渡すだけです。
6つのモデルはすべて、MTEB(英語、v2版)検索タスクで優れた性能を示しました。特に、cross-encoder/ettin-reranker-150m-v1は600Mパラメータ未満の最強の中級リランカーであり、cross-encoder/ettin-reranker-400m-v1は1.54Bの教師モデルとのMTEBスコア差がわずか0.0024、cross-encoder/ettin-reranker-1b-v1に至っては教師とほぼ同じスコア(差0.0001未満)を達成しました。
トレーニングレシピは意図的に単純に保たれています。すべてのモデルに同一のスクリプト(約150行)を使用し、学習率とデバイスごとのバッチサイズのみを各サイズに合わせて変更しています。スクリプトにはデータ読み込み、損失関数の定義、トレーニング引数の設定、評価器の作成などが含まれています。マルチノードトレーニングの場合は、torchrunを使用して起動します。
まとめると、Ettinリランカーファミリーは、シンプルながら強力な蒸留レシピにより、17Mから1Bパラメータの全範囲で業界トップクラスの性能を実現しました。すべてのモデル、データセット、トレーニングスクリプトはオープンソースとして公開されており、コミュニティがさらに強力なシステムを構築するための基盤を提供します。