med-ruri-v3-310m-v2-from-med

日本語医療ドメインの文埋め込みモデル (ruri-v3 / ModernBERT-Ja ベース)。学習進行中の自動アップロードです。

このモデルの位置づけ

継続学習: 既に医療 fine-tune 済みの genshiai-daichi/med-ruri-v3-310m(v1) の上に v2 レシピで追加学習

  • 現在の step: 9238 / in-domain nDCG@10: 0.5348
  • 各 step は step-9238revision ブランチで固定取得可。main は最新/最終。

性能 (in-domain nDCG@10)

※ 同一ガイドライン分布の held-out クエリ + 3万 distractor での検索性能汎化/temporal の優劣はこの指標では測れない (別途 ood_affinity で評価)。

  • baseline (学習前): 0.4244
  • final: 0.5348 (Δ +0.1104)
  • best (全step中): 0.5348
step nDCG@10
500 0.4195
1000 0.4300
1500 0.4422
2000 0.4640
2500 0.4623
3000 0.4700
3500 0.4775
4000 0.4920
4500 0.4916
5000 0.5025
5500 0.4996
6000 0.5008
6500 0.5120
7000 0.5179
7500 0.5243
8000 0.5287
8500 0.5305
9000 0.5343
9238 0.5348

ログ / TensorBoard

  • step毎 nDCG: metrics_progress.json
  • TensorBoard event は各 step-N ブランチの runs/ に同梱 (tensorboard --logdir runs で loss/nDCG を可視化可)。

v2 学習レシピ

  • 精度: fp32 重み + TF32 matmul(ModernBERT は bf16 計算で grad nan 崩壊するため。TF32 で安定かつ高速)
  • NFKC 正規化: PDF 由来の康熙部首などの tokenizer 汚染を除去
  • strip-year: ヘッダの発行年【…(YYYY)…】を除去し、埋め込みを版非依存に
  • temporal hard-negative: 旧版チャンクを hard-neg に(年号への過適合=「学習分布に近い版」嗜好を抑制), oversample ×10
  • loss: MultipleNegativesRankingLoss (scale=50, temp=0.02), lr=1e-5
  • prefix (必須): query=検索クエリ: / document=検索文書: (付けないと精度が大きく落ちる)

使い方

from sentence_transformers import SentenceTransformer
m = SentenceTransformer("genshiai-daichi/med-ruri-v3-310m-v2-from-med", revision="step-9238")  # main で最新も可
q = m.encode(["検索クエリ: 心不全の標準治療は"], normalize_embeddings=True)
d = m.encode(["検索文書: 【…】 …本文…"], normalize_embeddings=True)

注意

  • serving 側も train と同じ前処理 (NFKC + strip-year) が必須(train/serve skew 回避)。
  • 学習中の中間 checkpoint です。最終版・各 step の nDCG@10 比較は metrics_progress.json を参照。
Downloads last month
676
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for genshiai-daichi/med-ruri-v3-310m-v2-from-med