【Paper&Hacks vol.98】医療LLM事後学習:RL系とPinpointTuningの実験記録

-- Views

September 08, 26

スライド概要

profile-image

東京大学松尾・研究室が運営する「松尾研LLMコミュニティ」でのイベント資料などを公開します。 ◾️ 松尾研LLMコミュニティとは 松尾研LLMコミュニティは、「大規模言語モデルについて知って学べるオンライン空間」として、東京大学松尾・岩澤研究室が運営するコミュニティです。 現在、学生を中心とした10,000名以上が、原則無償で参加しています。 また、本コミュニティでは様々なイベント等を定期的に開催しております。 是非下記のリンクより参加申し込みをお待ちしております。 ◾️ 松尾研LLMコミュニティの各種リンク ・今後のイベント開催情報/参加申込;https://tr.ee/7d_W4DsImD ・松尾研LLMコミュニティ参加フォーム;https://tr.ee/RyDfuRzS55 ・過去イベントアーカイブ;https://tr.ee/wqdbFJJZ25

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
2.

RAMEN TEAM / 東京大学 医療 LLM プロジェクト 医療 LLM の事後学習を複数 手法で並べて回した記録 RL 系(GRPO / GSPO / CHORD)と Pinpoint Tuning の比較実験 NEDO「AI の安全性確保に関する研究開発・検証等の推進事業 / 日本語版医療特化型 LLM の社会実装に向けた安全性検証・実証」(JPNP25006)

3.

AGENDA 本日の構成 1 プロジェクト概要 目的・成果物・2 系統のアプローチ 2 共通基盤 ベースモデル / 学習環境 / 評価データ Part A ─ RL 系手法 GRPO / GSPO / CHORD を 80B MoE で並列比較 3 4 5 3.1 アルゴリズム比較 3.2 報酬関数の設計 3.3 実験と結果 3.4 要因の考察 Part B ─ Pinpoint Tuning Path Patching + Selective SFT の 2 段構え 4.1 diagnose:Path Patching 4.2 optimize:学習設計 4.3 結果と失敗分析 公開成果物 HuggingFace / GitHub / 技術記事

4.

1 プロジェクト概要 2 共通基盤 SECTION 1 プロジェクト概要 何をやったプロジェクトか、成果物は何か。 1-1 プロジェクト概要 1-2 2 系統のアプローチ 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

5.

1-1 プロジェクト概要 医療ドメインにおける LLM 事後学習の実験コード・分析パイプライン一式。 リポジトリ 成果物 singularitypost-training-medical 資金 NEDO AI の安全性確保に関する 01 02 学習済みモデル 5 本 HuggingFace weblab-LLM-M 実験コード・パイプライン RL 系 + Pinpoint Tuning 系 研究開発・検証等の推進事業 JPNP25006 03 技術記事 5 本 Qiita にて公開

6.

1-2 2 系統のアプローチ 同一の学習データから 2 系統を並列に走らせ、共通の評価セットで比較する。 RL 系 Qwen3-Next-80B 医師国試データ 2001–2022 GRPO GSPO CHORD 評価 Post-Training Positive Pinpoint 系 Path Patching Qwen3-30B-A3B で効くヘッド特 Negative 定 専門医試験 13 科 系統 ベースモデル サイズ 手法 RL系 Qwen3-Next-80B-A3B-Instruc t 80B MoE GRPO / GSPO / CHORD Pinpoint 系 Qwen3-30B-A3B-Instruct-250 7 30B MoE(128 experts, top-8) Positive / Negative Pinpoint SFT MoE モデルへの Pinpoint Tuning は先行研究に例がなく、本プロジェクトが第一報にあたる。 igakuqa 2023–25

7.

1 プロジェクト概要 2 共通基盤 SECTION 2 共通基盤 両 Part で共通のベースモデル・学習環境・評価データ。 2-1 ベースモデル / 学習環境 / 評価データ 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

8.

2-1 共通基盤 学習は 2022 年以前、評価は 2023–2025 年。時間軸で分離しておりデータリークはない。 ベースモデル 80B 側 Qwen3-Next-80B-A3B-Instruct 80B MoE 30B 側 Qwen3-30B-A3B-Instruct-2507 用途 データセット 期間 / 規模 RL / SFT 学習 医師国試 2001–2022 評価① igakuqa 医師国試 2023–2025 / N=1,122 評価② specialist 専門医試験 13 診療科 N=3,757 評価③ guideline 診療ガイドライン — 30B MoE / 128 experts, top-8 学習環境 • ms-swift 3.11 + Megatron-LM core_r0.14.0 • 8 nodes × 8 GPU(GSPO のみ 12 nodes) 学習 2001–2022 / 評価 2023–2025 で時間軸を分 離。評価問題が学習データに混入する余地はない。

9.

1 プロジェクト概要 SECTION 3 2 共通基盤 3 Part A ─ RL 系手法 PART A Part A ─ RL 系手法 GRPO / GSPO / CHORD を 80B MoE で並列比較する。まず 3.1 アルゴリズム比較から。 3 アルゴリズム比較 3 報酬関数の設計 3 実験セットアップと結果 3 結果を分けた要因の考察 4 Part B ─ Pinpoint Tuning 5 公開成果物

10.

PART A / 3.1-1 3 手法の関係 GSPO も CHORD も GRPO の派生。共通の骨格は「group ベースラインで advantage を作り、何かに掛ける」 。 GSPO importance ratio を sequence-level に CHORD loss に SFT loss を μ の重みで混合 GRPO 共 通土台 手法 由来 GRPO からの差分 GRPO DeepSeek-R1 系 (基 準) GSPO Qwen ratio を token-level → sequence-level(幾何平 均) CHORD Trinity-RF T loss に SFT loss を μ の重みで混合

11.

PART A / 3.1-2 GRPO PPO の critic を捨て、同一プロンプトに対する G 個のサンプルの報酬平均をベースラインに使う。 advantage(group 内標準化) 要点 critic なし 180B でも実装・メモリの負 担が軽い 目的関数 group 内標準化 advantage 2 他 completion との相対順位が学習信号 importance ratio KL to reference 3 β = 0.1 でベースか らの逸脱を抑制 同じ問題を G = 16 回解かせ、 他より良かった回答を強化する。

12.

PART A / 3.1-3 GSPO token-level ratio を系列全体の幾何平均に置き換える。その他は GRPO と共通。 sequence-level にする理由 • token-level の ratio は MoE で分散が大きい • expert のルーティングが揺れ、その 1 token だけ跳ね る • 系列全体の幾何平均が跳ねを吸収する 実運用 clipping ε = 3e-4 / 4e-4 GRPO デフォルト 0.2 の 3 桁下。ratio が 1 近傍に収まる想定。 例:y₃ で expert が入れ替わり ratio が 2.5 に跳ねた場合 GRPO y₃ の勾配寄与だけが暴れる y1 y2 y3 y4 y5 1.0 1.1 2.5 0.9 1.0 GSPO を全 token に均一に掛ける y1 y2 y3 y4 y5 1.19 1.19 1.19 1.19 1.19

13.

PART A / 3.1-4 CHORD GRPO loss と SFT loss を μ で凸結合する。 μ はステップごとに動くスケジューラ。 •L_GRPO:on-policy の RL loss •L_SFT:SFT データセットに対する token-level NLL μ スケジューラ CHORD framework overview(Xie et al. 2025, Fig 3) Warmup Peak Decay 0 → μ_peak μ_peak を維持 → μ_valley SFT と RL を μ で凸結合し、さらに token-wise の重み φ(·) で SFT 側の焼き付 け強度を制御する。 今回の設定 μ_peak = 0.1 / μ_valley = 0.01 / decay 500 step

14.

PART A / 3.1-4 CHORD ─ 2 バリアントと今回の設定 論文では Chord-φ が Chord-μ を上回り、公式実装も φ 有効がデフォルト。 バリアン ト μ の設定 φ Chord-μ peak 0.9 から valley 0.05 へ decay 無効 Chord-φ μ = 0.1 に固定し token 単位の φ で制御 有効 今回の設定φ 無効 + μ_peak = 0.1Chord-μ 系だが、μ_peak は Chord-φ 側に近 い値。経緯と帰結は 3.4-2 で扱う。 CHORD Table 1 ─ Chord-μ と Chord-φ の比較(Xie et al. 2025) reasoning / tool-use いずれのタスクでも Chord-φ が上回る、というのが論文 側の主張。

15.

PART A / 3.1-5 3 手法の比較 GSPO は advantage を掛ける相手を、CHORD は loss に足すものを変えている。骨格は共通。 観点 GRPO GSPO CHORD 由来 DeepSeek-R1 系 Qwen Trinity-RF T GRPO からの差分 (基 準) ratio を sequence-level に SFT loss を μ で混合 advantag e group 標準化 group 標準化 group 標準化 importance ratio token-leve l sequence-level(幾何平 均) token-leve l 追加ハイパラ β, ε ε(非常に小さ い) μ_peak, μ_valley, decay, φ 追加データ 不要 不要 SFT データセットが必 要 想定用途 汎用 MoE / 大規模系列 SFT 教材が手元にある場面

16.

1 プロジェクト概要 2 共通基盤 SECTION 3.2 報酬関数の設計 RL に渡していた rule-based 報酬 2 本の中身。 3 アルゴリズム比較 3 報酬関数の設計 3 実験セットアップと結果 3 結果を分けた要因の考察 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

17.

PART A / 3.2-1 報酬関数(1)正解報酬 最後の [ans]…[/ans] を抜き出し、gold と完全一致すれば 1.0、それ以外は 0.0。 ANS_PATTERN = re.compile(r"\ [ans\](.*?)\[/ans\]", re.IGNORECASE | re.DOTALL) def parse_output(output: str): matches = list(ANS_PATTERN.finditer(output)) 設計判断 accuracy と format を掛け算 gate で統合 タグ欠落 → parse 失敗 → 0.0 が自動確定 return matches[-1].group(1).strip() if matches else None 単一・複数解答を set 一致で同一視 def answer_reward(pred, gold): 「a」も「a,c」も同じ分岐で判定 if pred is None: return 0.0 return 1.0 if pred == gold else 0.0 部分点なし・順序無視 正解か不正解かの二値のみを渡す 重み 1.5 に固定 主軸の正解信号は動かさない 実装は約 90 行。短く書けたのは、データ変換側で下ごしらえを済ませたため。 SFT / RL / eval で完全に同じフォーマットを使う。

18.
[beta]
PART A / 3.2-2

報酬関数(2)言語ペナルティ
ひらがな・カタカナを含まない文が 2 文連続したら 0.0、それ以外は 1.0。

def has_chinese_consecutive(text: str) -> bool:
judged = [
not re.search(r'[ ぁ-ヿ]', t) # ひらがな + カタカナ
for t in text.split(" 。") if t

「連続」だけを罰する理由
(a)

単発の漢字語は自然

]

「心筋梗塞」
「原発性硬化性胆管炎」など専門用語は仮名を含まない。単

return any(a and b for a, b in zip(judged, judged[1:]))

発を罰すると正常な応答まで潰してしまう。

実質 2 行。

(b)

対処した現象
推論の途中から中国語モードに滑り落ちる
Qwen3 系は中国語の学習比率が高く、日本語プロンプトでも「症状表现为发热和咳嗽。
因此选择。」のように連続して湧く。

モード滑りは連文で起こる

言語モード自体が切り替わる現象だけを狙い撃ちできる。

19.

1 プロジェクト概要 2 共通基盤 SECTION 3.3 実験セットアップと結果 アルゴリズムと報酬が揃った。ここから実際に回した結果。 3 アルゴリズム比較 3 報酬関数の設計 3 実験セットアップと結果 3 結果を分けた要因の考察 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

20.

PART A / 3.3-1 実験セットアップ 揃っていないのは GSPO の ε・steps_per_generation・ノード数と、CHORD の SFT データ併用のみ。 ハイパラ GRPO GSPO CHORD lr / β (KL) 1e-6 / 0.1 1e-6 / 0.1 1e-6 / 0.1 ε (clip) 0. 2 3e-4 / 4e-4 0. 2 batch / generations 512 / 16 512 / 16 512 / 16 max_length / temp 4096 / 0.9 4096 / 0.9 4096 / 0.9 max_epoch s 5 5 5 reward_weigh ts (1.5, 1.0) (1.5, 1.0) (1.5, 1.0) steps_per_generati on 5 3 5 ノード 数 8 12 8 学習データ構成の違い GRPO / GSPO RL データのみ MCQ + [ans] 形式 CHORD RL データ + SFT データ 自然言語質問 → 5 部構成の医療文 CHORD の SFT データだけ MCQ とフォーマットが異なる。 あ

21.

PART A / 3.3-2 結果 ─ 医師国試(N=1,122) Base 89.5% と天井が近く、3 手法とも +0.7〜0.9 pt。統計的な有意差は出ない。 Model 202 3 202 4 202 5 All text only Base 80B 87. 9 89. 8 90. 5 89. 5 93. 6 GRPO 88. 8 91. 0 90. 8 90.3 (+0.8) 94. 2 p= 0.349 GSPO 88. 5 91. 2 90. 5 90.2 (+0.7) 94. 1 p= 0.396 CHORD 89. 1 91. 0 90. 8 90.4 (+0.9) 94. 1 p= 0.282 McNemar 3 手法とも Base との差は有意ではない。天井効果で手法差を検出できない。 年度別 accuracy 推移(80B グループ) 実線は全問、破線はテキストのみ。80B の RL 系は Base を上回る

22.

PART A / 3.3-3 結果 ─ 専門医試験(N=3,757) GRPO と GSPO は Base 比で有意に改善。CHORD は有意差に達しない。 Model All text only Base 80B 69. 0 73. 0 GRPO 71.1 (+2.1) 74. 8 p = 0.0013 意 有 GSPO 70.9 (+1.9) 74. 5 p = 0.0036 意 有 判定 73. 9 p = 0.119 し 有意差な 手法間の比較 CHORD 70.0 (+1.0) p値 McNemar(vs Base) GRPO vs GSPO 0.77 5 GRPO vs CHORD 0.07 6 有意差なし(GRPO がやや有利な傾向) 0.12 有意差な 有意差なし GSPO vs CHORD 改善は確認できるが、どの手法が優れているかまでは判定できない。 し 8 診療科別 Base 差分(80B)

23.

PART A / 3.3-4 診療科別 ─ 最良手法は科によって入れ替わる 13 診療科中、GRPO 最良 5 科 / GSPO 最良 5 科 / CHORD 最良 3 科。 手法 特に効いた科 Base からの改善幅 最良の科数 GRPO 耳鼻科 / 神経内科 / 麻酔科 / 内科 +8.6 / +5.9 / +3.3 / +2.1 5科 GSPO 肝臓 / 産婦人科 / 消化器 / 外科 +5.2 / +4.8 / +2.6 / +2.0 5科 CHORD 整形外科 / 心臓外科 / 救急 +2.8 / +2.4 / +1.7 3科 全科で一貫してリードする手法は存在しない。 診療科別 accuracy(30B・80B グループ)

24.

1 プロジェクト概要 2 共通基盤 SECTION 3.4 結果を分けた要因の考察 数値としての結果はここまで。なぜそうなったかを掘る。 3 アルゴリズム比較 3 報酬関数の設計 3 実験セットアップと結果 3 結果を分けた要因の考察 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

25.

PART A / 3.4-1 GRPO と GSPO はほぼ同着 GSPO の想定効果は accuracy ではなく学習安定性に現れる性質のもの。 71.1 / 70.9 90.3 / 90.2 専門医試験 医師国家資格試験(igakuqa) p = 0.775 McNemar:有意差なし accuracy 差として現れなかった理由 診療科別の噛み合わせも相殺 GSPO の効果は学習安定性に出る • GRPO は耳鼻科 (+8.6) / 神経内科 (+5.9) で伸びる • GSPO は肝臓 (+5.2) / 産婦人科 (+4.8) で伸びる • 総合値では両者が相殺される分布 sequence-level ratio による rollout 分散の抑制は、loss 曲線の滑らかさや divergence 率に現れる性質のもの。今回の 5 epoch × 500-step では GRPO 側 も発散せずに収束した。

26.

PART A / 3.4-2 CHORD が有意差に達しなかった要因 SFT データのフォーマットが評価タスクと乖離していたことが主因。 項目 GRPO/GSPO 用 RL データ CHORD 用 SFT データ 評価データ 入力 MCQ 選択肢 自然言語質問 MCQ 選択肢 出力 [ans]a[/ans] タグ形 式 5 部構成の医療文(数百 字) [ans]a[/ans] タグ形 式 何が起きていたか φ 有効の予備走も同根 1 SFT loss が自然言語 QA のクセを学習させる • φ は迷っている token に SFT を強く焼き付ける • 評価と乖離した状態では精度を下げる方向に働く • 本走は φ を無効にして固定 2 評価と GRPO 側は [ans]a[/ans] を要求する 3 学習方向と評価方向が別のフォーマットに向く RL 側でフォーマットを固定するなら、SFT データも同じ形式で作るべきだった。

27.

PART A / 3.4-3 診療科別ばらつきの解釈 説明はつくが、 母数は「科ごとに手法を使い分ける」結論を出すには足りない。 仮説 手法ごとの噛み合わせ(観察にとどまる解釈) Base の到達度と残余改善余地の関数 GRPO ─ 耳鼻科 +8.6 Base が元々弱い科ほど改善余地が大きい。耳鼻科 Base が 13 科中最低。token-level ratio が低頻度の専門用語に学習圧を通しやすい 54.7% / 心臓外科 63.3% / 神経内科 62.9% 報酬信号は診療科を区別しない GSPO ─ 肝臓 +5.2 / 産婦人科 +4.8 sequence-level ratio が長い推論を一括評価する性質と、複数症状の統合判断が整合 正解/不正解の二値のみ。手法ごとに動きやすい知識回路の癖が、科別スコア に間接的に現れる。 CHORD ─ 整形外科 / 心臓外科 / 救急 3 手法 × 13 科の 39 セルでは、科ごとに手法を使い分ける結論を出すには母 数が足りない。 SFT データの「症状→対応→受診目安」構造が、手術系・急性期系と噛み合った

28.

1 プロジェクト概要 SECTION 4 2 共通基盤 3 PART B Part B ─ Pinpoint Tuning Path Patching + Selective SFT の 2 段構え。まず diagnose 側から。 4 diagnose:Path Patching 4 optimize:学習設計 4 結果と失敗分析 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

29.

PART B / 4.1-1 Chen24 の 2 段構え framework diagnose → optimize の枠組みを医療 QA タスクへ移植する。対象は Qwen3-30B-A3B(1,536 head)。 ① diagnosePath ② optimize そのヘッドだ Patching で効く け狙って学習 Pinpoint ヘッドを特定 Tuning 参照論文 Path Patching の原点 Wang et al. (2022) arXiv:2211.00593 翻訳メカニズム Zhang et al. (2025) arXiv:2502.11806 Sycophancy / 2 段構えの借用元 Chen et al. (2024) arXiv:2409.01658 Chen24 Fig 1 ─ Pinpoint Tuning の 2 段構え MoE モデルへの Pinpoint Tuning は先行研究に例がなく、freeze 粒度 の設計空間を最初の一手として探索した記録にあたる。

30.

PART B / 4.1-2 Path Patching の考え方 別の入力を通したときの活性値を対象ヘッドの位置にだけ差し込み、出力の変化量を測る。 正常な forward X_f Head 0 Head 1 Head 2 y_f 「head を 1 個」の正確な意味 モデルは Layer × Head の 2 次元格子。 全マスを 1 個ずつ順に潰す。 Head 1 の活性値だけ、壊した問題文から得たものに差し替えた forward X_f Head 0 Head 1 差し替え Head 2 ỹ_f •X_f:正常な問題文 / X_cf:壊した問題文 •impact は元のロジット差分に対する相対変化 48 Layer × 32 Head = 1,536 head Qwen3-30B-A3B(MoE, 128 experts, top-8) 1,536 マス分をまとめると、Layer × Head の 2 次元 impact マップが得られる。

31.

PART B / 4.1-3 医療 QA への写像 反事実入力を 2 種類つくり、 「医療知識」と「問いの構造」を別々に炙り出す。 反事実的入力 内容 例 メトリク ス 医療用語 → 一般語 医療知識の手がかりを削る 「胃癌」→「疾 患」 medical_impac t 推論キーワード置換 問いの構造を歪める 「誤っているのはどれか」→「診断されるのはどれ か」 reasoning_impa ct impact の定義 符号の解釈 impact > 0 元の head は正解と誤答の差を縮める方向に効いていた impact < 0 元の head は差を広げる方向に効いていた

32.

PART B / 4.1-4 計算規模と並列化 1,536 head × 6,478 サンプル。素朴に 1 GPU で回すと数週間規模になる。 1,536 6,478 約 995 万 約 60 GB Head 数 サンプル数 Forward pass 数 モデルロード 並列化戦略 8 node × 8 GPU = 64 プロセスで並列実行 • forward は互いに独立で embarrassingly parallel • 6,478 サンプルを 64 分割、各 101 サンプル程 度 • サンプル数で重み付け平均して統合 実行条件 • Path Patching 実行(batch=2) :A100 80GB 必須 • 1 サンプルあたり十数秒 • Expert 側への patch は今回の対象外 128 Expert × top-8 のルーティングを持つが、Attention head 単位で測る縛りを維 持した。

33.

PART B / 4.1-5 結果 ─ 効くヘッドの分布 1,536 head の約半数で 2 軸の符号が一致した。Positive は浅い層、Negative は深い層に集中。 集合 定義 Head 数 割合 Layer 別の集中場所 Both Positive medical > 0 かつ reasoning > 0 378 24.6 % Both Negative medical < 0 かつ reasoning < 0 457 29.8 % 混在 符号が一致しないもの impact 分布のスケール感 70 1 45.6 % Both Positive Both Negative 含む Layer 数 46 / 48 48 / 48(全層) Top5 集中層 L24, L22, L1, L0,L26 L45, L47, L44, L16,L43 傾向 浅い層 + 中間層 深い層 Both Positive Both Negative 浅い層 = 用語のマッチングなど表面パターン処理 medical 範囲 +0.0000 〜 +0.0494 −0.6238 〜 −0.0000 深い層 = MCQ の推論・回答生成 medical 平均 +0.0061 −0.0075 reasoning 範囲 +0.0000 〜 +0.1291 −0.1965 〜 −0.0000 reasoning 平均 +0.0067 −0.0076 impact の絶対値は Negative 側のほうが大きい。 最大は Layer 9 Head 3 の medical = −0.624。

34.

PART B / 4.1-5 Path Patching ヒートマップ 緑枠は medical / reasoning の両軸で符号が一致した head。 Both-Positive Heads(378 個 , 24.6%) Both-Negative Heads(457 個 , 29.8%) L24 / L22 / L1 / L0 が上位。浅い層は用語マッチングなど表面パターン処理を担う。 L45 / L47 / L44 が上位。深い層は MCQ の推論・回答生成を担う。Zhang25 の翻訳タス クでも同種の傾向が報告されている。

35.

1 プロジェクト概要 2 共通基盤 3 Part A ─ RL 系手法 SECTION 4.2 optimize ─ Pinpoint Tuning の設計 Path Patching の出力を、実際の学習にどう繋いだか。 4 diagnose:Path Patching 4 optimize:学習設計 4 結果と失敗分析 4 Part B ─ Pinpoint Tuning 5 公開成果物

36.

PART B / 4.2-1 学習対象とした head 「妨害を弱める」と「貢献を強める」の両方向を、 同じ学習パイプラインで並列に検証する。 Positive Pinpoint medical > 0 かつ reasoning > 0 378 head(24.6%) Negative Pinpoint medical < 0 かつ reasoning < 0 医療用語を消すと正解率が上がる 医療用語を消すと正解率が下がる 元の head は正答を妨害していた 医療タスクに貢献している → 修正して伸ばす → 貢献をさらに伸ばす Path Patching 段階での予想 Negative 側の impact の絶対値が大きい = モデルは貢献している head に強く依存 → Negative 側のほうが強く動くはず 457 head(29.8%)

37.

PART B / 4.2-2 学習設定と pinpoint plugin ms-swift の既定は全パラ学習と LoRA の 2 択。pinpoint 制御は plugin として自前で拡張した。 plugin が提供する制御レベル • Layer 単位 • Expert 単位(MoE) • Attention Head 単位 • ブロック freeze(mlp / attention / router …) MLP を該当 layer で開放した理由 • Chen24 の Dense 版は attention と MLP を両方触る • freeze すると MoE Expert 側の医療知識に触れられない • 中間解として head 粒度 + MLP 該当 layer 開放を採用 ハイパ ラ 値 Base model Qwen3-30B-A3B-Instruct-25 07 Trainable heads 378 / 457(qkv_proj スライスの み) Learning rate 1e-4(cosine, warmup 5%) Global batch size 32 Epochs 1 MLP freeze 無効(該当 layer の MLP は学習対象) Attention freeze 無効(対象 head の qkv の み) その他 router / shared_expert / embed / lm_head は 凍結

38.

1 プロジェクト概要 SECTION 4.3 結果と失敗分析 本走した結果と、その解釈。 4 diagnose:Path Patching 4 optimize:学習設計 4 結果と失敗分析 2 共通基盤 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

39.

PART B / 4.3-1 結果 ─ 3 データセットすべてで劣化 いずれも p < 10⁻⁶。モデル自体が悪化していることが確認された。 評価データセット Base 30B Positive Negative 医師国家試験 86.2 80.3 (−5.9) 79.2 (−7.0) 専門医試験 60.9 44.9 (−16.0) 48.2 (−12.7) 診療ガイドライン 15.7 10.8 (−5.0) 11.7 (−4.0) McNemar(vs Base 30B) 改善 劣化 Net chi² p値 igakuqa ─ Positive 57 123 −66 23.47 < 10⁻⁶ igakuqa ─ Negative 58 136 −78 30.56 < 10⁻⁶ specialist ─ Positive 305 905 −600 296.53 < 10⁻⁶ specialist ─ Negative 337 813 −476 196.20 < 10⁻⁶ Base 正解の 35〜40% が壊れる一方、改善は 20〜23%。 診療科別 Base 差分(30B)

40.

PART B / 4.3-1 診療科別の壊れ率 Base で正答していた問題のうち、不正解化した割合。 診療科 Base 正答数 Positive 壊れ 率 Negative 壊れ 率 specialist 全 体 改善 改善率 劣化 劣化率 Net 耳鼻科 15 4 50.0 % 44.8 % Positiv e 30 5 20.7 % 90 5 39.6 % − 600 神経内科 11 6 47.4 % 40.5 % Negativ e 33 7 22.9 % 81 3 35.5 % − 476 麻酔科 20 4 47.1 % 41.7 % 所見 肝臓 12 9 45.7 % 31.8 % 13 科中もっとも激しい壊れ方 救急 18 2 45.6 % 33.5 % 眼科 13 8 42.8 % 46.4 % Positive は 13 科中 10 科で Negative より壊れ率が高く、診療科によらず満遍なく壊れている。 産婦人科 内科 23 1 29.9 % 35.1 % 282 20.9 % 19.9 % 耳鼻科は Positive で半数が破壊 眼科・産婦人科では Negative が壊れる この非対称性は 4.3-3 で扱う 内科だけが 20% 台に留まる 原因は特定できていない

41.

PART B / 4.3-2 劣化の要因 ─ 3 つの仮説 影響度が大きいと考える順に並べる。 仮説 1 MLP unfreeze が MoE ではスケール的に強すぎた • Dense なら 1 layer あたり MLP は 1 個で問題にならない • MoE では 1 layer に Expert が 128 個。46 layer × 128 ≒ 5,888 個が学習対象になる • head 側の 378 個とは 2 桁近くスケールが違う Expert 側が学習の主役になり、head 粒度の pinpoint はほぼ寄与しなくなった。 仮説 2 378 ≒5,888 絞った attention head 開いた Expert MLP Dense の直感がそのまま MoE に転用できない 学習率 lr = 1e-4 full-SFT でも 5e-5〜2e-5 が標準。 広範囲を高い lr で更新し、既存知識の消し込みを加速した。 仮説 3 選ばれた head の層分布が壊れ方に反映されている • Positive(浅い層):下流の全 head の入力を狂わせ、全診療科に波及する • Negative(深い層):特定領域に集中して壊れ、集計平均には乗りにくい Expert 側の分析もしなけれ ば使えない?

42.

PART B / 4.3-3 Positive と Negative の優劣は判定できない 劣化幅の差は「どこで壊れるか」の違いであって、学習の優劣ではない。 評価 Positiv e Negative igakuq a −5.9 pt −7.0 pt Positive が 1.1pt 小さ い specialis t −16.0 pt −12.7 pt Negative が 3.3pt 小さ い 差 Negative が 1.0pt 小さ guidelin −5.0 精度が上がったことを意味しない。 −4.0 劣化幅が小さいことは、 e pt pt い 結論 見かけの優位は specialist の Negative(3.3pt)だが、中身は壊し 1 た 領域の偏りであって学習の優劣ではない Negative は眼科・産婦人科を強く壊しつつ他の科では軽く済ま 2 せ ており、どこで壊れるかのトレードオフでしかない 差は「壊す領域の違い」 Positive 浅い層に集中。下流の全 head の入力を狂わせ、全診療科に波及。 Negative 深い層に集中。特定領域に集中して壊れ、集計平均には乗りにくい。 両手法とも大幅に劣化しており、どちらが有効だったかという問 3 い に正の答えは出せない

43.

1 プロジェクト概要 SECTION 5 公開成果物 成果として何を外に出したか。 5-1 学習済みモデル 5-2 コードと技術記事 5-3 主要成果まとめ 2 共通基盤 3 Part A ─ RL 系手法 4 Part B ─ Pinpoint Tuning 5 公開成果物

44.

5-1 公開成果物 ─ 学習済みモデル HuggingFace の weblab-LLM-M org 配下に 5 モデルを公開している。 モデル 手法 ベース Ramen-GRPO-Qwen3-Next-80B-A3B-Instruc t GRPO 80B MoE Ramen-GSPO-Qwen3-Next-80B-A3B-Instruc t GSPO 80B MoE Ramen-CHORD-Qwen3-Next-80B-A3B-Instruc t CHORD 80B MoE Ramen-PinPointTuning-Positive-Qwen3-30B-A3B-Instruct-25 07 Pinpoint Positive 30B MoE Pinpoint Negative 30B MoE https://huggingface.co/collections/weblab-LLM-M/ramen-team Ramen-PinPointTuning-Negative-Qwen3-30B-A3B-Instruct-25 07

45.

5-2 公開成果物 ─ コードと技術記事 技術記事 5 本は Qiita で公開 GitHub リポジトリ構成( リンク) 技術記事(Qiita にて公開) singularity-post-training-medical/ ├── Pinpoint-tuning/ │ MoE 版 ├── Qwen30B-A3B/ 共通モジュール └── shared/ ├── ms-swift-megatron_v3.8.1/ SFT / DFT / DPO ├── ms-swift-megatron_v3.9.3/ GRPO / GSPO / │ CHORD / Pinpoint ├── dataset_sft/ データ生成 ├── tools/ 補助ツール └── outputs/ 分析結果・評価レポート RL 系 2 系統と Pinpoint 系 2 実装を、同一リポジトリ内で並列に保持して いる。 1 医療 LLM に GRPO / GSPO / CHORD を並べて学習 Dense 版 ├── Qwen14B/ │ │ Path Patching + SFT 2 医療 LLM の RL post-training で CHORD を ms-swift に載せて回した 3 医療 LLM を RL post-training するときに使った報酬関数 4 医療 LLM に Pinpoint Tuning をかけて「特定の場所」だけを学習してみた話 5 Qwen3-30B に Path Patching をかけて Head / Layer の傾向を見た話

46.

5-3 主要成果まとめ モデル 手法 Base 80B 医師国試 専門医試験 89.5 % 69.0 % 統計的有意性(専門医試験) GRPO RL 90.3% (+0.8) 71.1% (+2.1) p = 0.0013 意 有 GSPO RL 90.2% (+0.7) 70.9% (+1.9) p = 0.0036 意 有 CHORD RL 90.4% (+0.9) 70.0% (+1.0) p = 0.119 し 有意差な 86.2 % 60.9 % 80.3% (− 5.9) 44.9% (− 16.0) Part B 48.2% (− 12.7) MoE への Pinpoint Tuning は劣化。MLP unfreeze のスケールが最大要因。 p < 10⁻⁶ 有意に劣 化 Base 30B Pinpoint Part A (Positive) SFT RL 系は 80B MoE で専門医試験を +1〜2 pt 改善。GRPO / GSPO は有意。 Pinpoint 79.2% (− SFT (Negative) 7.0) p < 10⁻⁶ 化 有意に劣

47.

ACKNOWLEDGEMENTS 謝辞 本研究は、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)「AI の安全性確保に関す る研究開発・検証等の推進事業 / 日本語版医療特化型 LLM の社会実装に向けた安全性検証・実証」の 支援を受けて実施されました。 JPNP25006 This paper is based on results obtained from a project, JPNP25006, commissioned by the New Energy and Industrial Technology Development Organization (NEDO). 免責事項 公開している学習済みモデルは医療ドメインを対象とした事後学習の研究成果であり、臨床診断・治療判断など医療 現場での実利用を意図したものではありません。 Ramen Team / 東京大学 医療 LLM プロジェクト 参照論文 GRPO Shao et al. (2024) ─ arXiv:2402.03300 GSPO Zheng et al. (2025) ─ arXiv:2507.18071 CHORD Xie et al. (2025) ─ arXiv:2508.11408 Path Patching Wang et al. (2022) ─ arXiv:2211.00593 翻訳メカニズム Zhang et al. (2025) ─ arXiv:2502.11806 Sycophancy Chen et al. (2024) ─ arXiv:2409.01658