Blog
この記事は、パートタイムエンジニアの川上航さん、エンジニアの鈴木渓太・吉川 真史とリサーチャーの岩澤諄一郎による共著です。
概要
- 既存の大規模言語モデル (LLM) に対し、日本語医療ドメインの独自コーパスを用いた継続事前学習とReasoning Preference Optimization (RPO) という二段階のfine-tuningを行い、医療分野に特化した72BパラメータのLLM、Preferred-MedLLM-Qwen-72B を開発しました。
- 開発したモデルは、日本医師国家試験のベンチマーク (IgakuQA) において、GPT-4o を上回る最高水準の正答率を達成しました。
- 継続事前学習でドメイン知識を注入し、RPOで推論能力をさらに洗練させることで、高い精度を実現しました。RPOは説明生成時における性能の一貫性向上にも寄与することを確認しました。
- 本モデルの重みはHugging Face Hubで公開し、モデルの詳細に関する論文をarXivで公開しています。
はじめに
大規模言語モデル (LLM) は、自然言語処理の分野で目覚ましい進歩を遂げ、様々な領域でその応用が期待されています。特に医療分野においては、診断支援 [1]、臨床テキストの要約 [2]、患者との対話 [3]、電子カルテからの情報抽出 [4] などへの貢献が期待されています。しかし、LLMを医療現場で活用するには、依然として課題が存在します。例えば、専門的な知識の精度 [5] や、言語(特に日本語のような英語以外の言語)への対応 [6] などが挙げられます。また、医療従事者がAIを信頼し活用するためには、高い精度と同時にその判断根拠を理解できることが重要になります。
これらの課題に対処するため、既存LLMを特定のドメインやタスクに適応させるfine-tuning技術が研究されています。一般的な手法として、ドメイン知識を注入する継続事前学習 [7] や、特定の指示に応答するよう調整する指示学習 [8] などがあります。
今回私たちは、特に日本語の医療ドメインにおいて高い精度を持つLLMの開発を目指し、Preferred-MedLLM-Qwen-72B を開発しました。このモデルは、Qwen2.5-72B [9] に対して独自の二段階fine-tuningを適用しています。第一段階では、網羅的な日本語医療コーパスを用いた継続事前学習を行い、深いドメイン知識を注入します。第二段階では、Reasoning Preference Optimization (RPO) [10] という手法を用い、正解の回答と質の高い説明(推論パス)を生成する能力をさらに強化・洗練させています。
本記事では、Preferred-MedLLM-Qwen-72Bの開発手法と、日本の医師国家試験ベンチマーク (IgakuQA) [11] での実証結果について詳しく解説します。特にIgakuQAにおいて本モデルはGPT-4oをも上回る最高水準の得点を達成しました。これは、継続事前学習による知識注入とRPOによる推論能力の向上の組み合わせによる成果です。
開発したモデルの重みはHugging Face Hubにて公開しています。ぜひお試しください。
https://huggingface.co/pfnet/Preferred-MedLLM-Qwen-72B
(注意: 本モデルは研究目的で開発されたものであり、実際の診療目的での使用はお控えください。)
手法:二段階fine-tuning
Preferred-MedLLM-Qwen-72Bは、Qwen2.5-72Bに対して二段階のfine-tuningを適用することで構築されました。
ステージ1: 継続事前学習によるドメイン適応
第一段階の目的は、ベースモデルの汎用的な事前学習コーパスではカバーしきれていない可能性のある、包括的かつ最新の日本語医療知識をモデルに注入することです。新しいドメイン固有の情報を獲得することが目的のため、fine-tuningの手段として指示学習ではなく継続事前学習を選択しています[12]。
継続事前学習には、PFN独自の日本語医療コーパスを用いました。また、72Bパラメータモデルの学習には膨大な計算資源が必要となるため、QLoRA [13] を採用しました。これは、モデルのパラメータを4ビットなどの低いビット数で表現する量子化 [14] と、元のモデルの重みを固定しつつ低ランク行列(アダプター)のみを学習するLoRA (Low-Rank Adaptation) [15] を組み合わせることで、少ない計算資源(特にGPUメモリ)で効率的に大規模モデルのfine-tuningを可能にする手法です。学習は社内の計算クラスタにあるNVIDIA A100 80GB GPU 4台で実行しました。
ステージ2: Reasoning Preference Optimization
継続事前学習の後、第二段階ではReasoning Preference Optimization (RPO) [10] を行いました。RPOとは、DPO (Direct Preference Optimization) [16] を拡張したアラインメント手法です。ここでの主な目標は、継続事前学習で注入された知識を基に、モデルが正確な回答だけでなく、より質の高い、一貫性のある推論説明を生成する能力を高めることです。
RPOのために、2017年までの日本医師国家試験をベースにした専用の選好データセットを構築しました。データセット構築手順は以下の通りです。
- まず、ステージ1で得られた継続事前学習モデルに、3-shotプロンプトを用いて段階的な説明と最終的な回答を含む応答を生成させます。
- 次に生成された応答を、その最終回答が医師国家試験の問題の正解と一致するかどうかに基づいて自動的に分類します(正解なら「chosen」、不正解なら「rejected」)。
- 最後に、正解の最終回答と検証済みの説明文からなる「Ground Truth」の応答を用意します。
この選好データを用いて、RPOを適用しました。各医師国家試験の問題に対して、「Ground truth > chosen > rejected」という選好階層を設定し、RPO損失(選択された選好に対する重み付きNLL損失とDPO損失の組み合わせ)を用いて学習します。この構造により、モデルは、正当性と質の高い推論を示す応答を好み、不正解の応答を避けるように学習します。
RPO学習フェーズは、継続事前学習後のモデル重みに適用されました。ここでもQLoRAを使用し、選好データセット全体で1エポック学習しました。NLL損失とDPO損失の比率を表すalphaパラメータは10に設定し、A100 GPU 2台で実行しました。
医師国家試験での結果
開発したモデルPreferred-MedLLM-Qwen-72Bの性能を評価します。まず主要なベンチマークである日本の医師国家試験 (IgakuQA) での結果を示し、次に継続事前学習とRPOの効果を分析する ablation study、最後に他の日本語医療QAデータセットでの汎化性能を評価します。
IgakuQAベンチマークでの性能
モデル評価には、2018年から2022年までの日本の医師国家試験問題から構成されるIgakuQAベンチマーク [11] を使用しました。性能は、5年間の平均得点で報告します。
評価は2つの異なるプロンプト設定で行いました。
- 通常の3-shot: 3つの例題(問題・選択肢・正解)を提示後に問題を解かせる。
- 説明付き3-shot (3-shot w/ explanation): 回答前に段階的な説明を生成するように3-shot のテンプレートを用いて指示する。
表1に示すように、Preferred-MedLLM-Qwen-72Bは通常の3-shotで431.2のスコアを達成しました。これはベースのQwen2.5-72B (398.4) や強力なプロプライエタリモデルであるGPT-4o (430.4) をわずかに超える、最高水準の性能です。また、説明付き設定でも431.2と高い精度を維持しており、ベースモデルと比較して性能の一貫性が向上していることがわかります。ただし、説明付き設定単体ではGPT-4oがより高いスコアを記録しており、説明生成能力にはまだ改善の余地があることを示唆しています。
モデル | IgakuQA (3-shot) | IgakuQA (3-shot w/ explanation) |
Preferred-MedLLM-Qwen-72B | 431.2 | 431.2 |
gpt-4o | 430.4 | 438 |
gpt-4-turbo | 403.6 | 404.6 |
Qwen2.5-72B | 398.4 | 353 |
Llama3-Preferred-MedSwallow-70B | 395.2 | 370 |
Llama-3.3-Swallow-70B-v0.4 | 391.2 | 375.4 |
gpt-4* | 388.8 | – |
gpt-4o-mini | 373.4 | 377.2 |
sarashina2-70b | 278.6 | 272.8 |
表1: IgakuQAベンチマークにおける性能比較(スコアは2018-2022年の試験の平均得点)。
* GPT-4のスコアは[11]から引用。
Fine-tuning 各段階の効果検証
継続事前学習 (CPT) とRPOの寄与を分析するため、アブレーションを実施しました。結果を表2に示します。比較のため、RPOの代わりに標準的なDPOを用いた場合も評価しました。
モデル | IgakuQA (3-shot) | IgakuQA (3-shot w/ explanation) |
Preferred-MedLLM-Qwen-72B (CPT+RPO) | 431.2 | 431.2 |
Qwen2.5-72B + CPT + DPO | 431.2 | 421.6 |
Qwen2.5-72B + CPT | 430.8 | 402 |
Qwen2.5-72B + RPO | 416.6 | 401.2 |
Qwen2.5-72B (ベースライン) | 398.4 | 353 |
表2: IgakuQAにおける ablation study
Qwen2.5-72Bに対する継続事前学習(CPT), RPO, DPOの効果を示す。スコアは標準3-shotと説明付き3-shot (‘w/ explanation’) 設定での平均得点 (2018–2022の5年平均)。
- ベースラインと比較して、継続事前学習のみでも標準設定の精度が398.4から430.8へと大幅に向上しており、ドメイン知識注入の効果が確認できます。
- 継続事前学習に加えてRPOを適用することで、標準設定での最高精度(431.2)を達成しつつ、説明生成が要求された場合でも同等の高い精度(431.2)を維持しました。
- CPT+DPOも標準設定では高い精度を示しますが、説明付き設定ではCPT+RPOほどの性能には至りませんでした。
これらの結果から、継続事前学習によるドメイン知識の注入が精度向上に不可欠であり、その上でRPOが推論能力をさらに洗練させ、結果として両設定で最高性能を達成する上で重要な役割を果たしていることが示唆されます。RPOは、単に正解を選ぶだけでなく、より良い推論プロセスを学習するよう促す効果があると考えられます。
他の日本語医療ベンチマークでの性能
我々のfine-tuning手法の汎用性を評価するため、他の日本語医療質問応答ベンチマークでもPreferred-MedLLM-Qwen-72Bをゼロショット設定で評価しました。使用したベンチマークは、MedQA [17]、MedMCQA [18]、PubMedQA [19] の日本語翻訳版(文献[20]による翻訳を使用)と、MMMLU [21, 22] の日本語医療関連サブセット*です。
表3にまとめた結果は、Preferred-MedLLM-Qwen-72Bがこれらの多様なタスクにおいても、ベースのQwen2.5-72BやQwen2.5-72B-Instructモデルを概ね上回ることを示しています。特にMMMLUの日本語医療関連タスク*、日本語訳MedQA、日本語訳MedMCQAで最高スコアを達成し、平均スコア(0.716)も比較対象の中で最高となりました。継続事前学習のみのモデル(平均0.710)と比較しても、RPOを追加することで若干の性能向上が見られ、継続事前学習+RPOのアプローチが特定の試験形式だけでなく、より広範な日本語の医療QAシナリオにも有効であることを示唆しています。
* MMMLU では日本語で書かれた問題のうち以下の科目を医療関連サブセットとして用いました: anatomy, clinical_knowledge, college_medicine, medical_genetics, professional_medicine
モデル (0-shot) | MMMLU (日本語医療サブセット) |
MedQA (日本語訳) |
MedMCQA (日本語訳) |
PubMedQA (日本語訳) |
平均 |
Preferred-MedLLM-Qwen-72B | 0.800 | 0.684 | 0.602 | 0.779 | 0.716 |
Qwen2.5-72B + CPT | 0.799 | 0.669 | 0.598 | 0.775 | 0.710 |
Qwen2.5-72B | 0.797 | 0.652 | 0.591 | 0.779 | 0.705 |
Qwen2.5-72B-Instruct | 0.795 | 0.626 | 0.601 | 0.714 | 0.684 |
表3: 他の日本語医療QAベンチマークにおけるゼロショット性能
スコアはMedQA, MedMCQA, PubMedQAの日本語翻訳版、およびMMMLUの日本語医療関連サブセットにおける正解率。
最後に
本研究では、日本語の医療ドメインにおけるLLMの精度向上を目指し、継続事前学習とReasoning Preference Optimization (RPO) を組み合わせた二段階fine-tuning手法を用いて、Preferred-MedLLM-Qwen-72Bを開発しました。
開発したモデルは、日本の医師国家試験ベンチマーク (IgakuQA) において、GPT-4oをも上回る最高水準の正解率を達成しました。これは、継続事前学習によるドメイン知識の深い注入と、RPOによる推論能力のさらなる洗練が組み合わさることで実現されました。また、RPOは説明生成時における性能の一貫性向上にも寄与することを確認しました。このアプローチは、医療といった専門分野におけるLLMの信頼性を高める上で有望な方向性の一つを示しています。今回の手法の詳細に関しては arXiv で公開している論文をご参照ください (https://arxiv.org/abs/2504.18080)。
今回開発した Preferred-MedLLM-Qwen-72B は、ベンチマークにおいて高い性能を示しましたが、これらの能力を実世界のシナリオで活用するには、さらなる開発と検証が必要です。この目的のため現在 PFN では、医療ドメイン知識をもったPreferred-MedLLM-Qwen-72B をベースとして、指示応答能力を高めた Instruct モデル Preferred-MedLLM-Qwen-72B-Instruct の開発を進めています。以下は、開発中のモデルによる回答例です。
指示: 患者情報: 58歳男性。1ヶ月前からの腰痛。1週間前から右臀部から大腿後面、下腿外側にかけて放散する痛みとしびれ感が出現。重いものを持ち上げた後に症状が悪化した。この患者の腰痛および下肢症状の原因として、考えられる鑑別診断を挙げてください。特に神経症状との関連を考慮してください。 |
Preferred-MedLLM-Qwen-72B-Instruct(開発中)による回答: この患者の腰痛および下肢症状の原因として、以下の鑑別診断が考えられます。特に神経症状との関連を考慮した上で、以下に挙げます。 1. 腰椎椎間板ヘルニア: – 腰痛と下肢への放散痛、しびれ感が典型的な症状です。重いものを持ち上げた後に症状が悪化したという点も一致します。神経根が圧迫されることで、下肢の感覚障害や運動障害が出現することがあります。 2. 腰椎管狭窄症: – 腰痛と下肢への放散痛、しびれ感がみられますが、通常は長時間の歩行や立ち仕事で症状が悪化します。しかし、椎間板ヘルニアと併存することもあり、鑑別が必要です。 3. 坐骨神経痛: – 坐骨神経が圧迫または炎症を起こすことで、腰痛と下肢への放散痛、しびれ感が出現します。腰椎椎間板ヘルニアや腰椎管狭窄症が原因となることが多く、神経症状との関連が深いです。 4. 脊柱分離症/脊柱滑脱症: – 腰痛と下肢への放散痛、しびれ感がみられ、神経根が圧迫されることで神経症状が出現します。特に脊柱滑脱症では、腰椎の不安定性が原因となることがあります。 5. 脊髄腫瘍: – 腰痛と下肢への放散痛、しびれ感がみられ、神経症状が進行性に悪化することがあります。脊髄や神経根が圧迫されることで、感覚障害や運動障害が出現します。 6. 多発性神経炎: – 腰痛は直接関連しませんが、下肢のしびれ感や感覚障害がみられます。糖尿病や自己免疫疾患が原因となることがあります。 7. 大動脈解離: – 腰痛と下肢への放散痛がみられますが、急性の激しい痛みが特徴的です。神経症状は直接関連しませんが、大動脈解離が進行すると脊髄血流障害を引き起こし、神経症状が出現することがあります。 これらの鑑別診断の中で、最も可能性が高いのは腰椎椎間板ヘルニアです。神経根が圧迫されることで、下肢への放散痛としびれ感が出現し、重いものを持ち上げた後に症状が悪化したという点も一致します。ただし、他の疾患も考慮し、適切な検査(MRIやCTなど)を実施して確定診断を下すことが重要です。 |
主要な鑑別診断を挙げる能力は高いものの、一部で症状名(坐骨神経痛)を疾患名と混同していたり、梨状筋症候群など他に考慮される鑑別診断が網羅されていなかったりする点に関しては、実際の使用目的に応じて、さらなる調整が必要となります。
PFN では今回公開した Preferred-MedLLM-Qwen-72B や、開発中の Preferred-MedLLM-Qwen-72B-Instruct を、実世界データを用いて評価し、さらなる応用可能性を探るための共同研究に関心のある企業や研究機関を歓迎します。ご興味をお持ちいただけましたら、ぜひお問い合わせフォームよりご連絡ください。
結論として、Preferred-MedLLM-Qwen-72Bは、継続事前学習とRPOを組み合わせることで、日本語医療ドメインにおいて高い精度と改善された推論能力を持つLLMを実現しました。これは、より信頼性の高いAIシステム構築に向けた重要な一歩であり、医療分野をはじめとする様々な専門領域へのLLMの責任ある応用に貢献するものと考えています。
最後に、Preferred Networksでは採用を行っております。今回の記事で興味を持っていただけた方はぜひご応募ください。
- Machine Learning・Optimization・Data Science Engineer/機械学習・最適化・データサイエンスエンジニア
- LLM Service Development Engineer/基盤モデルサービス開発エンジニア
- ビジネス開発(ソリューションビジネス)
- その他の募集職種
参考文献
[1] Nori, Harsha, et al. “From Medprompt to o1: Exploration of Run-Time Strategies for Medical Challenge Problems and Beyond.” arXiv:2411.03590 (2024).
[2] Van Veen, Dave, et al. “Adapted large language models can outperform medical experts in clinical text summarization.” Nat. Med. 30, 1134–1142 (2024).
[3] Cosentino, Justin, et al. “Towards a Personal Health Large Language Model.” arXiv:2406.06474 (2024).
[4] Mou, Yongli, et al. “RadLink: Linking Clinical Entities from Radiology Reports.” 2nd International Conference on Foundation and Large Language Models (FLLM). 443-449, 2024.
[5] Kim, Yubin, et al. “Medical Hallucinations in Foundation Models and Their Impact on Healthcare.” arXiv:2503.05777 (2025).
[6] Xie, Yunfei, et al. “A Preliminary Study of o1 in Medicine: Are We Closer to an AI Doctor?.” arXiv:2409.15277 (2024).
[7] Chen, Zeming, et al. “Meditron-70b: Scaling Medical Pretraining for Large Language Models.” arXiv:2311.16079 (2023).
[8] Ouyang, Long, et al. “Training language models to follow instructions with human feedback.” Advances in Neural Information Processing Systems 35 (2022): 27730-27744.
[9] Qwen Team. “Qwen2.5 Technical Report.” arXiv:2412.15115 (2024).
[10] Pang, Richard Yuanzhe, et al. “Iterative Reasoning Preference Optimization.” arXiv:2404.19733 (2024).
[11] Kasai, Jungo, et al. “Evaluating GPT-4 and ChatGPT on Japanese Medical Licensing Examinations.” arXiv:2303.18027 (2023).
[12] Gekhman, Zorik, et al. “Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?.” arXiv:2405.05904 (2024).
[13] Dettmers, Tim, et al. “QLoRA: Efficient Finetuning of Quantized LLMs.” Advances in Neural Information Processing Systems 36 (2023): 10088-10115.
[14] Dettmers, Tim, and Luke Zettlemoyer. “The case for 4-bit precision: k-bit Inference Scaling Laws.” In International Conference on Machine Learning, pp. 7750-7774. PMLR, 2023.
[15] Hu, Edward J., et al. “LoRA: Low-Rank Adaptation of Large Language Models.” arXiv:2106.09685 (2021).
[16] Rafailov, Rafael, et al. “Direct Preference Optimization: Your Language Model is Secretly a Reward Model.” arXiv:2305.18290 (2023).
[17] Jin, Di, et al. “What Disease does this Patient Have? A Large-scale Open Domain Question Answering Dataset from Medical Exams.” arXiv:2009.13081 (2020).
[18] Pal, Ankit, Logesh Kumar Umapathi, and Malaikannan Sankarasubbu. “MedMCQA: A Large-scale Multi-Subject Multi-Choice Dataset for Medical domain Question Answering.” arXiv:2203.14371 (2022).
[19] Jin, Qiao, et al. “PubMedQA: A dataset for biomedical research question answering.” In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). 2019.
[20] Jiang, Junfeng, Jiahao Huang, and Akiko Aizawa. “JMedBench: A Benchmark for Evaluating Japanese Biomedical Large Language Models.” In Proceedings of the 31st International Conference on Computational Linguistics, pages 5918–5935. 2025.
[21] Hendrycks, Dan, et al. “Measuring Massive Multitask Language Understanding.” arXiv:2009.03300 (2020).
[22] OpenAI. “openai/MMMLU”. Hugging Face Datasets. (2024). https://huggingface.co/datasets/openai/MMMLU.
Tag