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-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-70m-v2-from-ruri with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("genshiai-daichi/med-ruri-v3-70m-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-70m-v2-from-ruri
日本語医療ドメインの文埋め込みモデル (ruri-v3 / ModernBERT-Ja ベース)。学習進行中の自動アップロードです。
このモデルの位置づけ
新規学習: 素の cl-nagoya/ruri-v3-70m(汎用)から医療データで v2 レシピ学習(医療知識ゼロから付与)
- 現在の step:
6159/ in-domain nDCG@10:0.4885 - 各 step は
step-6159の revision ブランチで固定取得可。mainは最新/最終。
性能 (in-domain nDCG@10)
※ 同一ガイドライン分布の held-out クエリ + 3万 distractor での検索性能。
汎化/temporal の優劣はこの指標では測れない (別途 ood_affinity で評価)。
- baseline (学習前): 0.3123
- final: 0.4885 (Δ +0.1761)
- best (全step中): 0.4885
| step | nDCG@10 |
|---|---|
| 500 | 0.3859 |
| 1000 | 0.4028 |
| 1500 | 0.4185 |
| 2000 | 0.4333 |
| 2500 | 0.4466 |
| 3000 | 0.4497 |
| 3500 | 0.4609 |
| 4000 | 0.4708 |
| 4500 | 0.4773 |
| 5000 | 0.4835 |
| 5500 | 0.4857 |
| 6000 | 0.4884 |
| 6159 | 0.4885 |
ログ / 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-ruri", 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
- 83
Model tree for genshiai-daichi/med-ruri-v3-70m-v2-from-ruri
Base model
sbintuitions/modernbert-ja-70m Finetuned
cl-nagoya/ruri-v3-pt-70m Finetuned
cl-nagoya/ruri-v3-70m