研究データと神経構造が融合した青い抽象ビジュアル
NAW / RESEARCH 04

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などで一括して扱えるようにした実装と、医療検索データでの再現レシピを示したものだ。

Sentence Transformers Multi-Vector ガイドのサムネイル 出典: 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-transformersMultiVectorEncoder本体、学習用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=TrueBatchSamplers.NO_DUPLICATESper_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アーキテクチャを比較した。

NDCG@10 vs アクティブパラメータ、医療200kベンチマーク 出典: 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が無制限長を活かした特例と注意を促している。

全モデル比較 — 系統別に色分けしたNDCG@10 出典: Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers — Hugging Face Blog

ガイドは全モデルをスコア順・系統色分けで並べたチャートや、モデルサイズとNDCGの散布図も掲載。微調整によるジャンプを矢印で示している。

学習・運用のTips

  • Evaluatorの作り方: 金パッセージのみ(10k)ではNDCGが0.97超で飽和するため、学習splitの重複除去パッセージを20万件まで混ぜて識別性を担保。MultiVectorInformationRetrievalEvaluatorqueries/corpus/relevant_docsを与える。
  • Multi-Dataset学習: train_datasetDatasetDictを渡すことで、異なるフォーマットのデータセットを同時学習可能。データセットごとに異なるLossを辞書で割当可能で、バッチはデータセット単位で構成。サンプリングはMultiDatasetBatchSamplers.ROUND_ROBINPROPORTIONAL(既定)を選択。
  • Callbacks: WandbCallback / TensorBoardCallback / CodeCarbonCallback などtransformers.TrainerCallback互換をreport_toで有効化できる。

位置づけと留意点

本ガイドは、小規模GPUでも再現可能なレシピと、長文書検索におけるLate Interactionの優位性を定量的に示した点で実務的価値が高い。公開されたコードとHubモデルにより、ドメイン特化の検索改善を低コストで試せる。一方で、MIRIAD固有の語彙重複バイアスや、20万件規模での結果が他データセットへ一般化するかは別途検証が必要だ。

出典