Untitled
Language Models are Universal Embedders
-
title: Language Models are Universal Embedders
-
source_url: https://aclanthology.org/2025.xllm-1.21/
-
doi: 10.18653/v1/2025.xllm-1.21
-
generated_at: 2026-05-05T08:08:48+00:00
-
多言語のデコーダ専用大規模言語モデル(multilingual large language model; mLLM)を、検索や分類に用いる汎用埋め込み器として使えるかを調べた論文である。
-
BLOOM を基盤とし、対照学習、特殊トークン、Low-Rank Adaptation(LoRA)を用いて、自然言語とプログラミング言語を同じ評価枠で扱う。
-
英語だけで微調整した場合でも、中国語、アラビア語、インドネシア語、Java などに一定の汎化を示し、訓練データの種類を混ぜるとタスク間の偏りが小さくなる。
論文の面白いところ
この論文の焦点は、埋め込みモデルを個別用途ごとに作るのではなく、一つの言語モデルから広く使える表現を取り出す点にある。従来の強い埋め込み器は BERT 型のエンコーダを用いることが多いが、自然言語とコードを同時に扱う公開モデルは限られる。著者らは、BLOOM のような多言語デコーダ専用モデルに目を向ける。生成用のモデルを、文やコードの意味を表すベクトルの生成器として使うわけである。方法は複雑な指示プロンプトに頼らず、入力の先頭と末尾に特殊トークンを足し、末尾トークンの隠れ状態を埋め込みとして用いる。さらに、英語など単一言語の対照学習が他言語の埋め込み空間も整えるかを、比較的丁寧に切り分けている。実用上は、十分なペアデータがない言語にも検索や類似度判定を広げられる可能性を示す点が有用である。ただし、最良の英語専用埋め込み器に勝つことを主目的にはしていない。
問題設定
埋め込みは、文書検索、意味的類似度、分類、コード検索などで使われる基本部品である。大規模言語モデルを使うシステムでも、外部知識や記憶を検索するために埋め込みが必要になる。用途が増えるほど、英語用、中国語用、コード用、検索用、分類用と別々のモデルを持つ管理は煩雑になる。そこで論文は、一つのモデルが複数の言語と複数のタスクをまたいで使えるかを問う。対象には、英語、中国語、アラビア語、インドネシア語の自然言語と、Java などのプログラミング言語が含まれる。タスクは、問い合わせと文書を結びつける非対称タスクと、二つの文やコードの類似性を見る対称タスクに分けられる。特に難しいのは、微調整データがない言語、または事前学習に含まれていない言語である。論文は、単一言語で微調整したモデルを多言語・多タスクの評価にかけ、この問いを実験的に扱っている。
提案手法
基盤モデルには主に BLOOM 系列を用いる。入力列の前後に、問い合わせか文書かを表す特殊トークンを加え、モデルの出力のうち末尾トークン [EOS] の状態を埋め込みベクトルとする。学習には InfoNCE 型の対照損失を用い、正例ペアの類似度を上げ、負例との類似度を下げる。検索向けの非対称データには MS MARCO と mMARCO、自然言語の対称データには SNLI と MNLI の翻訳版を使う。コード側では、CodeSearchNet を非対称データ、BigCloneBench を対称データとして用いる。微調整では破滅的忘却を避けるため、全パラメータ更新ではなく LoRA を採用する。評価は、訓練言語と評価言語をずらし、訓練タスクと評価タスクもずらして行う。これにより、単に同じ分布に強いだけなのか、言語やタスクを越えた表現を得ているのかを見分ける構成になっている。
結果
BLOOM-1b1 の主実験では、非対称データと対称データを合わせて学習した設定が、全体平均で最も安定した。非対称データだけで学習したモデルは、検索には強いが、類似度判定や分類に偏りが残る。対称データだけで学習したモデルは、検索系の性能が大きく落ちる。両方を混ぜると、検索性能は少し下がる場合があるものの、全体としてはタスク汎化が改善する。多言語性については、自然言語のあいだでは、ある言語で微調整したモデルが他言語にも比較的よく移る。Java では例外的な挙動があり、著者らは CodeSearchNet や BigCloneBench の性質が影響した可能性を挙げている。モデルサイズを 1.1B から 3B、7.1B に大きくすると、多くの評価で性能が上がる。MTEB 英語部分では最上位の専用エンコーダには届かないが、デコーダ専用モデルとしては競争力のある値を示す。CodeSearchNet では、提案設定の BLOOM モデルが CodeBERT や GraphCodeBERT を上回る平均値を示した。未事前学習言語に対しては限界もあるが、モデルを大きくすると BUCC のドイツ語・英語、ロシア語・英語の対応探索でも改善が見られた。
具体例
- 「非対称タスク」とは、検索質問と文書のように、二つの入力の役割が異なる場合を指す。たとえば「Python のリストを並べ替える方法」という質問と、該当する説明文を近いベクトルにする。
- 「対称タスク」とは、二つの文や二つのコード片を同じ立場で比べる場合である。自然言語推論では、含意する文を近く、矛盾する文を遠く配置する。
- モデルは入力全体を読んだあと、最後の [EOS] トークンの状態をその入力の代表ベクトルとして使う。文全体の意味を一つの点に写す操作である。
- InfoNCE 損失では、正しい相手を近づけ、複数の負例を遠ざける。検索で言えば、正解文書を近くし、紛らわしい不正解文書を遠くする。
- LoRA は、元の BLOOM の重みをほぼ固定し、小さな追加行列だけを学習する方法である。これにより、英語で微調整しても他言語の能力を失いにくくする狙いがある。
- UMAP による可視化では、微調整前は英語文、中国語訳、Python コードが言語ごとに分かれやすかった。英語データで微調整した後は、同じ意味を持つ文とコードが近くに並ぶ傾向が示された。
- 論文の結論は、mLLM が万能の埋め込み器であるという断定ではない。むしろ、公開された多言語デコーダ専用モデルから、自然言語とコードをまたぐ埋め込み器を作れる余地を実験で示した、という位置づけである。