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

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

このモデルの位置づけ

新規学習: 素の cl-nagoya/ruri-v3-310m(汎用)から医療データで v2 レシピ学習(医療知識ゼロから付与)

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

性能 (in-domain nDCG@10)

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

  • baseline (学習前): 0.3153
  • final: 0.5201 (Δ +0.2048)
  • best (全step中): 0.5201
step nDCG@10
500 0.3742
1000 0.4062
1500 0.4311
2000 0.4434
2500 0.4469
3000 0.4605
3500 0.4632
4000 0.4748
4500 0.4770
5000 0.4797
5500 0.4864
6000 0.4921
6500 0.4957
7000 0.5080
7500 0.5081
8000 0.5158
8500 0.5161
9000 0.5201
9238 0.5189

ログ / 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-ruri", revision="step-9000")  # 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
129
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-ruri

Finetuned
(3)
this model