CoolFace
Modelpublic

genshiai-daichi/med-ruri-v3-310m

sourceHugging Facecc-by-nc-4.0updated 4mo agoView on Hugging Face
0likes115downloads
Model Card

med-ruri-v3-310m

日本語の医療ドメインに特化した文埋め込み (sentence embedding) モデル。 `cl-nagoya/ruri-v3-310m` (ModernBERT-Ja, 768次元, 8192 context) をベースに、医療ドメインの検索タスクで fine-tune しています。

in-domain 医療検索 nDCG@10: 0.305 (base) → 0.434 (+42%)

Ruri prefix (重要)

Ruri 系と同じく 1+3 prefix を付けて使います (付けないと精度が落ちます)。

  • —クエリ: 検索クエリ:
  • —文書: 検索文書:

prefix はモデル設定に登録済みなので prompt_name で自動付与できます。

使い方

python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("genshiai-daichi/med-ruri-v3-310m")

queries = ["バンコマイシンのトラフ目標値は?"]
docs = ["MRSA 感染症における Vancomycin の TDM では ..."]

q = model.encode(queries, prompt_name="query", normalize_embeddings=True)
d = model.encode(docs,    prompt_name="document", normalize_embeddings=True)

scores = q @ d.T   # cosine similarity

評価 (in-domain retrieval, held-out 2,000 queries)

nDCG@10
cl-nagoya/ruri-v3-310m (base)0.3048
med-ruri-v3-310m (step 3500)0.4338

用途

  • —日本語の医療文書 (診療ガイドライン等) に対する 意味検索 / retrieval
  • —医療 RAG の retriever (質問 → 関連 passage の検索)
  • —文書間の意味的類似度・クラスタリング

制限事項

  • —日本語の医療ドメイン特化。一般ドメインや他言語は base モデルの素の性能に近づきます
  • —上記 nDCG は held-out の合成クエリでの in-domain 評価であり、実運用性能は別途検証を推奨
  • —推論時は prefix 必須 (検索クエリ: / 検索文書: )

学習経過 (training progression)

fine-tune 中の held-out 検索性能 (500 step ごとに評価):

stepnDCG@10
(base)0.3048
5000.3887
10000.4108
15000.4178
20000.4246
25000.4233
30000.4292
35000.4338← best
40000.4328
45000.4308
50000.4308
55000.4320
58800.4311

学習 loss (MultipleNegativesRankingLoss)

steploss
503.338
7500.978
14500.796
21500.751
28500.689
35500.634
42500.618
49500.603
56500.622
58500.634

学習設定

  • —base: `cl-nagoya/ruri-v3-310m`
  • —loss: MultipleNegativesRankingLoss (scale=50, temperature=0.02)
  • —1 epoch (5880 steps), best = step 3500 (0.60 epoch 相当)
  • —batch 192 / max_seq 768 / lr 3e-5 / bf16 + gradient checkpointing
  • —query/passage に Ruri prefix を付与して contrastive 学習

チェックポイント

学習途中の checkpoint は step-N ブランチに保存されています (SentenceTransformer("genshiai-daichi/med-ruri-v3-310m", revision="step-3500"))。 main は nDCG@10 が最良の checkpoint (step 3500) です。