genshiai-daichi's picture
model card @ step 5000 (nDCG@10=0.4835)
8c80bfa verified
|
Raw
History Blame
2.16 kB
metadata
language: ja
license: apache-2.0
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - medical
  - japanese
  - ruri
  - modernbert
  - embedding
base_model: cl-nagoya/ruri-v3-70m

med-ruri-v3-70m-v2-from-ruri

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

このモデルの位置づけ

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

  • 現在の step: 5000 / in-domain nDCG@10: 0.4835
  • 各 step は step-5000 のように revision ブランチで固定取得可。main は常に最新。
  • step ごとの指標推移: metrics_progress.json

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-5000")  # 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 を参照。