Sentence Similarity
sentence-transformers
Safetensors
Japanese
modernbert
medical
japanese
ruri
embedding
text-embeddings-inference
Instructions to use genshiai-daichi/med-ruri-v3-70m-v2-from-med with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use genshiai-daichi/med-ruri-v3-70m-v2-from-med with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("genshiai-daichi/med-ruri-v3-70m-v2-from-med") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
med-ruri-v3-70m-v2-from-med
日本語医療ドメインの文埋め込みモデル (ruri-v3 / ModernBERT-Ja ベース)。学習進行中の自動アップロードです。
このモデルの位置づけ
継続学習: 既に医療 fine-tune 済みの genshiai-daichi/med-ruri-v3-70m(v1) の上に v2 レシピで追加学習
- 現在の step:
6159/ in-domain nDCG@10:0.5117 - 各 step は
step-6159の revision ブランチで固定取得可。mainは最新/最終。
性能 (in-domain nDCG@10)
※ 同一ガイドライン分布の held-out クエリ + 3万 distractor での検索性能。
汎化/temporal の優劣はこの指標では測れない (別途 ood_affinity で評価)。
- baseline (学習前): 0.4137
- final: 0.5117 (Δ +0.0980)
- best (全step中): 0.5117
| step | nDCG@10 |
|---|---|
| 500 | 0.4235 |
| 1000 | 0.4371 |
| 1500 | 0.4498 |
| 2000 | 0.4565 |
| 2500 | 0.4669 |
| 3000 | 0.4713 |
| 3500 | 0.4840 |
| 4000 | 0.4919 |
| 4500 | 0.4983 |
| 5000 | 0.5061 |
| 5500 | 0.5044 |
| 6000 | 0.5117 |
| 6159 | 0.5117 |
ログ / 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-70m-v2-from-med", revision="step-6159") # 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
- 102
Model tree for genshiai-daichi/med-ruri-v3-70m-v2-from-med
Base model
sbintuitions/modernbert-ja-70m Finetuned
cl-nagoya/ruri-v3-pt-70m Finetuned
cl-nagoya/ruri-v3-70m Finetuned
genshiai-daichi/med-ruri-v3-70m