🚀 MMedLM
MMedLMは、医学分野の多言語言語モデル構築に向けた公式モデルウェイトです。多言語の医療データに対応し、高い性能を発揮します。
🚀 クイックスタート
MMedLMは、70億パラメータを持つ多言語医療基礎モデルです。InternLMをベースに、総合的な多言語医療コーパスであるMMedCでさらに事前学習されており、医療分野の知識が強化されています。
モデルの読み込み
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Henrychur/MMedLM", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Henrychur/MMedLM", torch_dtype=torch.float16, trust_remote_code=True)
⚠️ 重要提示
これは命令微調整を行っていない基礎モデルです。また、最新バージョンのtransformersを使用するとエラーが発生することが判明しています。transformers==4.28.1を使用することをお勧めします。
✨ 主な機能
- 多言語対応: 英語、中国語、日本語、フランス語、ロシア語、スペイン語などの多言語に対応しています。
- 医療分野の知識強化: MMedCでの事前学習により、医療分野の知識が強化されています。
📦 インストール
モデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Henrychur/MMedLM", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Henrychur/MMedLM", torch_dtype=torch.float16, trust_remote_code=True)
input_text = "医療に関する質問"
input_ids = tokenizer.encode(input_text, return_tensors='pt')
output = model.generate(input_ids)
output_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(output_text)
📚 ドキュメント
最新情報
- [2024.2.21] プレプリント論文がArXivに公開されました。詳細はこちらをご覧ください。
- [2024.2.20] MMedLMとMMedLM 2をリリースしました。MMedCでの自己回帰的な継続学習により、これらのモデルは他のすべてのオープンソースモデルと比較して優れた性能を達成し、MMedBenchではGPT-4に匹敵する性能を発揮します。
- [2023.2.20] MMedCをリリースしました。これは255億トークンを含む多言語医療コーパスです。
- [2023.2.20] MMedBenchをリリースしました。これは根拠付きの新しい多言語医療選択式質問応答ベンチマークです。ランキングはこちらで確認できます。
MMedBenchでの評価
さらに事前学習されたMMedLM 2は、異なる言語にわたる医療分野で素晴らしい性能を発揮します。
手法 |
サイズ |
年 |
MMedC |
MMedBench |
英語 |
中国語 |
日本語 |
フランス語 |
ロシア語 |
スペイン語 |
平均 |
GPT-3.5 |
- |
2022.12 |
❌ |
❌ |
56.88 |
52.29 |
34.63 |
32.48 |
66.36 |
66.06 |
51.47 |
GPT-4 |
- |
2023.3 |
❌ |
❌ |
78.00 |
75.07 |
72.91 |
56.59 |
83.62 |
85.67 |
74.27 |
Gemini-1.0 pro |
- |
2024.1 |
❌ |
❌ |
53.73 |
60.19 |
44.22 |
29.90 |
73.44 |
69.69 |
55.20 |
BLOOMZ |
7B |
2023.5 |
❌ |
トレーニングセット |
43.28 |
58.06 |
32.66 |
26.37 |
62.89 |
47.34 |
45.10 |
InternLM |
7B |
2023.7 |
❌ |
トレーニングセット |
44.07 |
64.62 |
37.19 |
24.92 |
58.20 |
44.97 |
45.67 |
Llama 2 |
7B |
2023.7 |
❌ |
トレーニングセット |
43.36 |
50.29 |
25.13 |
20.90 |
66.80 |
47.10 |
42.26 |
MedAlpaca |
7B |
2023.3 |
❌ |
トレーニングセット |
46.74 |
44.80 |
29.64 |
21.06 |
59.38 |
45.00 |
41.11 |
ChatDoctor |
7B |
2023.4 |
❌ |
トレーニングセット |
43.52 |
43.26 |
25.63 |
18.81 |
62.50 |
43.44 |
39.53 |
PMC-LLaMA |
7B |
2023.4 |
❌ |
トレーニングセット |
47.53 |
42.44 |
24.12 |
20.74 |
62.11 |
43.29 |
40.04 |
Mistral |
7B |
2023.10 |
❌ |
トレーニングセット |
61.74 |
71.10 |
44.72 |
48.71 |
74.22 |
63.86 |
60.73 |
InternLM 2 |
7B |
2024.2 |
❌ |
トレーニングセット |
57.27 |
77.55 |
47.74 |
41.00 |
68.36 |
59.59 |
58.59 |
MMedLM (Ours) |
7B |
- |
❌ |
トレーニングセット |
49.88 |
70.49 |
46.23 |
36.66 |
72.27 |
54.52 |
55.01 |
MMedLM 2 (Ours) |
7B |
- |
❌ |
トレーニングセット |
61.74 |
80.01 |
61.81 |
52.09 |
80.47 |
67.65 |
67.30 |
- GPTとGeminiは、APIを通じてゼロショット設定で評価されています。
- オープンソースモデルは、MMedBenchのトレーニングセットで学習を行った後に評価されています。
🔧 技術詳細
モデルはMMedCで以下のハイパーパラメータでさらに事前学習されています。
- 反復回数: 15000
- グローバルバッチサイズ: 512
- カットオフ長: 2048
- 学習率: 2e-5
📄 ライセンス
このプロジェクトはApache-2.0ライセンスの下で公開されています。
お問い合わせ
ご質問があれば、qiupengcheng@pjlab.org.cnまでお気軽にお問い合わせください。
引用
@misc{qiu2024building,
title={Towards Building Multilingual Language Model for Medicine},
author={Pengcheng Qiu and Chaoyi Wu and Xiaoman Zhang and Weixiong Lin and Haicheng Wang and Ya Zhang and Yanfeng Wang and Weidi Xie},
year={2024},
eprint={2402.13963},
archivePrefix={arXiv},
primaryClass={cs.CL}
}