💊

医薬分野のQ&AでローカルLLMを評価する③

に公開

「医薬分野のQ&AでローカルLLMを評価するシリーズ」の続編です。

https://zenn.dev/eques/articles/20cc5451ac9b09

https://zenn.dev/eques/articles/73ad8458adf8d0

これまでは薬剤師国家試験と医師国家試験に焦点を当てていましたが、今回はより広範な国家試験を取り扱います。
今回利用するのは、2025年6月にpreprintが公開されたKokushiMD-10というものです。
これは日本語の医療および隣接分野の国家試験10種をLLMの評価用データセットとして整理したものです。
EQUESのYakugakuQAも一部に含まれ、論文も引用されています!

公式リポジトリを拝見したところ、評価用スクリプト(calc_scores.py)は存在するものの、LLM推論用スクリプトは共有されていないようでした。そこで、今回vLLMライブラリの利用を前提としたスクリプトを作成・公開しました。使ってみたい方は以下リポジトリを参照ください!

https://github.com/EQUES-Inc/KokushiMD-10

実験結果

以下実験結果の報告です。

KokushiMD-10元論文での報告

まずは元論文のTable 2を表示します。各試験2020年〜2024年分に対し、平均得点と標準偏差が表示されています。Table 2はMedicineのスコアでソートされているようですが、他の科目では意外と単調増加しているわけではない様子が興味深いです。

Qwen2.5-7B-Instructの性能

まずはKokushiMD-10が再現するかを確認します。
論文の設定では、temperatureは0で一定です。

  • (Medicine) 医師: total_score mean=231.40, std=17.64 (N=5)
  • (Dentistry) 歯科: total_score mean=134.40, std=14.71 (N=5)
  • (Nursing) 看護: total_score mean=108.60, std=10.64 (N=5)
  • (Physical Therapy) 理学: total_score mean=66.20, std=5.17 (N=5)
  • (Occupational Therapy) 作業: total_score mean=70.20, std=3.27 (N=5)
  • (Public Health Nursing) 保健: total_score mean=37.80, std=4.97 (N=5)
  • (Midwife) 助産: total_score mean=30.60, std=8.88 (N=5)
  • (Radiological Technology) 診療: total_score mean=36.40, std=2.70 (N=5)
  • (Optometry) 視能: total_score mean=33.40, std=7.23 (N=5)
  • (Pharmacy) 薬剤: total_score mean=125.60, std=15.90 (N=5)

max_tokensが小さすぎ、かつstop_wordsを入れてしまっていたことによる誤抽出が原因と考え、次にmax_tokens=128, stop_words=""と変更してみました。

  • (Medicine) 医師: total_score mean=238.00, std=16.02 (N=5)
  • (Dentistry) 歯科: total_score mean=144.80, std=14.96 (N=5)
  • (Nursing) 看護: total_score mean=112.40, std=11.70 (N=5)
  • (Physical Therapy) 理学: total_score mean=73.00, std=2.35 (N=5)
  • (Occupational Therapy) 作業: total_score mean=73.20, std=2.95 (N=5)
  • (Public Health Nursing) 保健: total_score mean=40.80, std=6.14 (N=5)
  • (Midwife) 助産: total_score mean=35.20, std=9.83 (N=5)
  • (Radiological Technology) 診療: total_score mean=42.80, std=3.42 (N=5)
  • (Optometry) 視能: total_score mean=38.80, std=7.98 (N=5)
  • (Pharmacy) 薬剤: total_score mean=170.80, std=20.52 (N=5)

若干スコアは改善しましたが、元論文に記載のスコアには至りませんでした。
論文の実験設定は正確には明かされていないため原因は判然としませんが、出力後の後処理や正誤判定などで差が出たのかもしれません。(論文ではtransformersライブラリで実装されているかもしれませんが、vllmの利用により大きな差が出るとは考えにくいです。)

EQUES作成の製薬LLMの性能

弊社EQUESで以前開発したEQUES/JPharmatron-7Bも試してみます。スコアは以下となりました。

  • (Medicine) 医師: total_score mean=282.00, std=17.44 (N=5)
  • (Dentistry) 歯科: total_score mean=181.80, std=8.20 (N=5)
  • (Nursing) 看護: total_score mean=138.00, std=6.04 (N=5)
  • (Physical Therapy) 理学: total_score mean=106.60, std=2.61 (N=5)
  • (Occupational Therapy) 作業: total_score mean=109.60, std=7.54 (N=5)
  • (Public Health Nursing) 保健: total_score mean=54.40, std=5.03 (N=5)
  • (Midwife) 助産: total_score mean=44.80, std=8.53 (N=5)
  • (Radiological Technology) 診療: total_score mean=55.00, std=1.87 (N=5)
  • (Optometry) 視能: total_score mean=42.80, std=8.23 (N=5)
  • (Pharmacy) 薬剤: total_score mean=218.80, std=11.10 (N=5)

SIP作成の医療LLMの性能

代表的な国産モデルであるSIP-med-LLM/SIP-jmed-llm-3-8x13b-AC-32k-instructを利用しました。スコアは以下となりました。

  • (Medicine) 医師: total_score mean=241.20, std=11.41 (N=5)
  • (Dentistry) 歯科: total_score mean=112.40, std=19.60 (N=5)
  • (Nursing) 看護: total_score mean=181.40, std=12.40 (N=5)
  • (Physical Therapy) 理学: total_score mean=130.00, std=5.52 (N=5)
  • (Occupational Therapy) 作業: total_score mean=140.40, std=9.74 (N=5)
  • (Public Health Nursing) 保健: total_score mean=77.60, std=8.88 (N=5)
  • (Midwife) 助産: total_score mean=74.00, std=6.52 (N=5)
  • (Radiological Technology) 診療: total_score mean=60.80, std=8.67 (N=5)
  • (Optometry) 視能: total_score mean=51.00, std=8.57 (N=5)
  • (Pharmacy) 薬剤: total_score mean=183.20, std=28.93 (N=5)

Qwen3-Nextの性能

今回試したモデルはQwen3-Next-80B-A3B-Instructです。
Huggingfaceのモデルカードを参照すると, expertが512個あり、レイヤー数は48層です。A3Bは、そのうち3Bがアクティベートパラメタという意味です。
1つ前のモデルとは少し異なる点として、

  • 8x13Bは大きめのモデルをExpertとし少数組み合わせる
  • 本モデルは小さいモデルをExpertとし多数組み合わせる

ということが挙げられます。

スコアは以下となりました。

  • (Medicine) 医師: total_score mean=372.60, std=5.94 (N=5)
  • (Dentistry) 歯科: total_score mean=272.60, std=23.07 (N=5)
  • (Nursing) 看護: total_score mean=174.40, std=5.94 (N=5)
  • (Physical Therapy) 理学: total_score mean=125.00, std=10.86 (N=5)
  • (Occupational Therapy) 作業: total_score mean=116.60, std=9.04 (N=5)
  • (Public Health Nursing) 保健: total_score mean=70.40, std=5.68 (N=5)
  • (Midwife) 助産: total_score mean=70.60, std=15.55 (N=5)
  • (Radiological Technology) 診療: total_score mean=83.80, std=5.36 (N=5)
  • (Optometry) 視能: total_score mean=67.00, std=8.46 (N=5)
  • (Pharmacy) 薬剤: total_score mean=291.60, std=20.12 (N=5)

結果

KokushiMD-10というヘルスケア領域の国家試験を対象としたベンチマークにおいて、Qwen3-Next-80B-A3B-Instructがより高い性能を示しました。Alibaba Cloud流石といったところでしょうか。
単純に医薬ドメインの知識において優れているという側面以外に、Instruction能力やタスク遂行能力に長けておりスコアが伸びた可能性もあります。7Bのモデルも優秀なので概ね選択肢回答に対応しますが、時折フォーマット等で失敗するケースも見受けられました。

科目別の評価では、SIPモデルが理学や作業など一部の科目においてQwen-Nextより高いスコアとなりました。また、JPharmatronは薬学や医学論文が追加学習されていることに起因し、よりモデルサイズの大きなSIPモデルや汎用counterpartであるQwenと比較して「医師国家試験」と「薬剤師国家試験」においては明確に良いスコアを記録しました。ドメイン特化モデルの特徴が綺麗に現れる結果となりました。
しかしそれらの両ドメインにおいてもQwen3-Nextには圧倒されており、80B-A3Bというモデルサイズと推論の軽量さを兼ね備えたモデルが光っています。

一方でKokushiMD-10の元論文で報告されているスコアと比較して、今回はいずれのスコア(特に薬剤師国家試験において)もひと回り、ふた周り低い結果となりました。この原因としては推論の方法、評価の方法の両方が考えられますが、今までのところ明らかにはできていません。同条件における相対比較としては大きな支障はないものの、原因が気になる所です。
LLMのベンチマーク一般に通ずる話としては評価の方法・実装に結構左右される課題があります。医薬ドメインの評価手法についてはまた別記事でまとめてみようと思います。

以上、精査とまでは行きませんでしたが、本記事が既存LLMの性能の傾向を知る一助になれば幸いです。

おわりに

EQUESでは引き続き、「最先端の機械学習技術をあやつり社会の発展を加速する」をミッションに研究開発と社会実装に取り組んでいきます。一緒に事業を創出する仲間を募集しています。詳しくは以下をご覧ください。

https://www.wantedly.com/companies/company_6691299

2024〜2025にかけて、EQUESでは現在経産省・NEDO「GENIAC」の採択事業者として薬学分野・製薬業務に特化したLLMの開発に挑戦しました。現在社会実装も推し進めています。この領域にご興味ある方のご連絡をお待ちしています。詳しくは以下もご覧ください。

https://www.meti.go.jp/policy/mono_info_service/geniac/selection_2/index.html

Discussion