Sentence Similarity
sentence-transformers
Safetensors
Japanese
modernbert
medical
japanese
ruri
embedding
text-embeddings-inference
Instructions to use genshiai-daichi/med-ruri-v3-310m-v2-from-ruri 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-310m-v2-from-ruri with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("genshiai-daichi/med-ruri-v3-310m-v2-from-ruri") 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-310m-v2-from-ruri
日本語医療ドメインの文埋め込みモデル (ruri-v3 / ModernBERT-Ja ベース)。学習進行中の自動アップロードです。
このモデルの位置づけ
新規学習: 素の cl-nagoya/ruri-v3-310m(汎用)から医療データで v2 レシピ学習(医療知識ゼロから付与)
- 現在の step:
9000/ in-domain nDCG@10:0.5201 - 各 step は
step-9000の revision ブランチで固定取得可。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
Model tree for genshiai-daichi/med-ruri-v3-310m-v2-from-ruri
Base model
sbintuitions/modernbert-ja-310m Finetuned
cl-nagoya/ruri-v3-pt-310m Finetuned
cl-nagoya/ruri-v3-310m