IMAGE: AI生成ビジュアル
RESEARCH / Research
Hugging Face、Sentence TransformersでMulti-Vector埋め込みの学習・微調整を本格対応 — 医療検索でNDCG 0.914、RTX 3090で14.5時間
Hugging Faceは8月26日、Sentence TransformersでのMulti-Vector(ColBERT型)モデルの学習・微調整ガイドを公開。MIRIAD医療データ100万件で微調整したmLateOn-medicalが200k検索でNDCG@10 0.9139を記録し、単一ベクトルの最強Denseを0.13上回った。
Hugging Faceは2026年8月26日、Sentence TransformersでMulti-Vector Embeddingモデルを学習・微調整するためのガイド「Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers」 を公開した。著者はTom Aarsen。ColBERT型のLate Interactionモデル(トークンごとにベクトルを持つ検索モデル)を、Sentence TransformersのMultiVectorEncoder, MultiVectorEncoderTrainerなどで一括して扱えるようにした実装と、医療検索データでの再現レシピを示したものだ。
出典: Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers — Hugging Face Blog
何が発表されたか
- 公開日と一次情報: 2026年8月26日付のHugging Face Blog。メタ情報では
datePublished: 2026-08-26T00:00:00.737Z、著者Tom Aarsen。 - 対象: Single-vector(Dense/Sparse)ではなく、Multi-Vector(Late Interaction) の埋め込みモデル。クエリと文書をトークン単位の複数ベクトルで表現し、クエリトークンごとに文書トークンとの最大類似度を取るMaxSimなどでスコアリングする方式。
- 提供物:
sentence-transformersのMultiVectorEncoder本体、学習用MultiVectorEncoderTrainer/MultiVectorEncoderTrainingArguments、評価用MultiVectorInformationRetrievalEvaluator等、損失関数CachedMultiVectorMultipleNegativesRankingLossなどの一式。Hugging Face Hubでは起点チェックポイントlightonai/mLateOn-unsupervisedと微調整済みmulti-vector-encoder/mLateOn-medicalが公開されている。
再現レシピ — MIRIAD医療データで100万件学習
ガイドは、MIRIAD(医療Q&A 440万件)からの100万問-パッセージ対で微調整する完全なスクリプトを公開している。
- 起点:
lightonai/mLateOn-unsupervised(教師なし対照事前学習済み、教師あり未学習)。float32でのロードを推奨。 - 長文対応:
query_length/document_lengthの上限をNoneに解放し、学習・推論ともに全文を見る。著者の計測では512トークンに制限するとNDCG@10が約0.015低下し、データ量を増やしても縮まらなかった。 - インデックス削減: 句読点トークンをスコアリングから除外(
skiplist_words = string.punctuation)すると品質が小幅に向上し、インデックスが9.6%縮小。 - 学習設定:
CachedMultiVectorMultipleNegativesRankingLoss(GradCacheでミニバッチ16ずつ処理しつつ、実効バッチ128を実現)、learning_rate=1e-4(5e-6〜2e-4でスイープした最良値)、bf16=True、BatchSamplers.NO_DUPLICATES、per_device_train_batch_size=128、エポック1。プロンプトは[Q]/[D]を明示的にマッピング。 - コスト: 単一RTX 3090で14.5時間、ピーク17.5GB VRAM。10万件(約75分)でもフル100万件比で-0.012 NDCG@10に留まり、大半の利得は最初の1時間で得られるとする。
評価 — 200k検索でLate Interactionが最上位を独占
ガイドでは、MIRIAD評価セット(1000問×20万パッセージ:10k金パッセージ+19万の重複除去ディストラクタ)で50超のモデル構成・4アーキテクチャを比較した。
出典: Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers — Hugging Face Blog
| モデル | 系統 | NDCG@10 |
|---|---|---|
| multi-vector-encoder/mLateOn-medical | Multi-vector, finetuned | 0.9139 |
| lightonai/mLateOn | Multi-vector, zero-shot | 0.8520 |
| lightonai/GTE-ModernColBERT-v1 (cap lifted) | Multi-vector, zero-shot | 0.8502 |
| Qwen/Qwen3-Embedding-4B | Dense, zero-shot | 0.7817 |
| voyageai/voyage-4-nano | Dense, zero-shot | 0.7563 |
| BM25 | Lexical | 0.7501 |
| naver/splade-v3 | Sparse, zero-shot | 0.6853 |
- 微調整の効果: 最強のゼロショット比で+0.062ポイント。ランク1正答率は最強ゼロショット75.8%に対し、微調整モデル84.9%で、ランク1エラーを3分の1以上削減。
- アーキテクチャの差: 上位をLate Interactionが独占。同一データ・同一バックボーンでヘッドだけが違うDenseOn vs LateOnで+0.12、多言語対のmDenseOn vs mLateOnで+0.13の差。アクティブ33倍のQwen3-Embedding-4B(4B)でも0.13届かず、8Bは4Bより低下。
- BM25の健闘: 0.7501でSparse全モデルや切り捨てありMulti-Vector、Denseの多くを上回る。ただしMIRIADはパッセージから質問を生成しており語彙重複が大きく、神経モデルが切り捨てる中でBM25が無制限長を活かした特例と注意を促している。
出典: Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers — Hugging Face Blog
ガイドは全モデルをスコア順・系統色分けで並べたチャートや、モデルサイズとNDCGの散布図も掲載。微調整によるジャンプを矢印で示している。
学習・運用のTips
- Evaluatorの作り方: 金パッセージのみ(10k)ではNDCGが0.97超で飽和するため、学習splitの重複除去パッセージを20万件まで混ぜて識別性を担保。
MultiVectorInformationRetrievalEvaluatorにqueries/corpus/relevant_docsを与える。 - Multi-Dataset学習:
train_datasetにDatasetDictを渡すことで、異なるフォーマットのデータセットを同時学習可能。データセットごとに異なるLossを辞書で割当可能で、バッチはデータセット単位で構成。サンプリングはMultiDatasetBatchSamplers.ROUND_ROBINとPROPORTIONAL(既定)を選択。 - Callbacks:
WandbCallback/TensorBoardCallback/CodeCarbonCallbackなどtransformers.TrainerCallback互換をreport_toで有効化できる。
位置づけと留意点
本ガイドは、小規模GPUでも再現可能なレシピと、長文書検索におけるLate Interactionの優位性を定量的に示した点で実務的価値が高い。公開されたコードとHubモデルにより、ドメイン特化の検索改善を低コストで試せる。一方で、MIRIAD固有の語彙重複バイアスや、20万件規模での結果が他データセットへ一般化するかは別途検証が必要だ。