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
model card @ step 500 (nDCG@10=0.4235)
Browse files
README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language: ja
|
| 3 |
+
license: apache-2.0
|
| 4 |
+
library_name: sentence-transformers
|
| 5 |
+
pipeline_tag: sentence-similarity
|
| 6 |
+
tags: [sentence-transformers, medical, japanese, ruri, modernbert, embedding]
|
| 7 |
+
base_model: genshiai-daichi/med-ruri-v3-70m
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# med-ruri-v3-70m-v2-from-med
|
| 11 |
+
|
| 12 |
+
日本語**医療ドメイン**の文埋め込みモデル (ruri-v3 / ModernBERT-Ja ベース)。**学習進行中の自動アップロード**です。
|
| 13 |
+
|
| 14 |
+
## このモデルの位置づけ
|
| 15 |
+
**継続学習**: 既に医療 fine-tune 済みの `genshiai-daichi/med-ruri-v3-70m`(v1) の上に v2 レシピで追加学習
|
| 16 |
+
|
| 17 |
+
- **現在の step**: `500` / **in-domain nDCG@10**: `0.4235`
|
| 18 |
+
- 各 step は `step-500` のように **revision ブランチ**で固定取得可。`main` は常に最新。
|
| 19 |
+
- step ごとの指標推移: [`metrics_progress.json`](./metrics_progress.json)
|
| 20 |
+
|
| 21 |
+
## v2 学習レシピ
|
| 22 |
+
- **精度**: fp32 重み + **TF32 matmul**(ModernBERT は bf16 計算で grad nan 崩壊するため。TF32 で安定かつ高速)
|
| 23 |
+
- **NFKC 正規化**: PDF 由来の康熙部首などの tokenizer 汚染を除去
|
| 24 |
+
- **strip-year**: ヘッダの発行年【…(YYYY)…】を除去し、埋め込みを版非依存に
|
| 25 |
+
- **temporal hard-negative**: 旧版チャンクを hard-neg に(年号への過適合=「学習分布に近い版」嗜好を抑制), oversample ×10
|
| 26 |
+
- **loss**: MultipleNegativesRankingLoss (scale=50, temp=0.02), lr=1e-5
|
| 27 |
+
- **prefix (必須)**: query=`検索クエリ: ` / document=`検索文書: `(付けないと精度が大きく落ちる)
|
| 28 |
+
|
| 29 |
+
## 使い方
|
| 30 |
+
```python
|
| 31 |
+
from sentence_transformers import SentenceTransformer
|
| 32 |
+
m = SentenceTransformer("genshiai-daichi/med-ruri-v3-70m-v2-from-med", revision="step-500") # main で最新も可
|
| 33 |
+
q = m.encode(["検索クエリ: 心不全の標準治療は"], normalize_embeddings=True)
|
| 34 |
+
d = m.encode(["検索文書: 【…】 …本文…"], normalize_embeddings=True)
|
| 35 |
+
```
|
| 36 |
+
|
| 37 |
+
## 注意
|
| 38 |
+
- **serving 側も train と同じ前処理 (NFKC + strip-year) が必須**(train/serve skew 回避)。
|
| 39 |
+
- 学習中の中間 checkpoint です。最終版・各 step の nDCG@10 比較は `metrics_progress.json` を参照。
|