🚀 Med42-v2 - 臨床対応型大規模言語モデルのセット
Med42-v2は、医療知識へのアクセスを拡大するためにM42によって命令調整と嗜好調整が行われた、オープンアクセスの臨床用大規模言語モデル(LLM)のセットです。Llama3をベースに構築され、80億または700億のパラメータを持つこれらの生成型AIシステムは、医療関連の質問に高品質な回答を提供します。
✨ 主な機能
- Med42-v2-70Bは、ほとんどの多肢選択問題(MCQA)タスクでGPT-4.0を上回っています。
- Med42-v2-70Bは、MedQAのゼロショット性能で79.10を達成し、すべてのオープンアクセスの医療用LLMの中で従来の最先端技術を上回っています。
- Med42-v2-70Bは、臨床Eloレーティングリーダーボードのトップに位置しています。
モデル |
Eloスコア |
Med42-v2-70B |
1764 |
Llama3-70B-Instruct |
1643 |
GPT4-o |
1426 |
Llama3-8B-Instruct |
1352 |
Mixtral-8x7b-Instruct |
970 |
Med42-v2-8B |
924 |
OpenBioLLM-70B |
657 |
JSL-MedLlama-3-8B-v2.0 |
447 |
🚧 制限事項と安全な使用方法
⚠️ 重要提示
Med42-v2のモデルセットは、まだ実際の臨床使用には適していません。安全性を確保するために、広範な人間による評価が進行中です。誤ったまたは有害な情報を生成する可能性があり、訓練データに含まれるバイアスが再現されるリスクもあります。これらのモデルを使用する場合は責任を持って行い、厳格な安全テストを行わずに医療用途に依存しないでください。
📚 ドキュメント
モデルの詳細
免責事項: この大規模言語モデルは、さらなるテストと検証が行われるまで臨床使用には適しておらず、医療上の決定や患者のケアには依存しないでください。
Med42-v2は、Llama3モデルをベースに、医療用のフラッシュカード、試験問題、オープンドメインの対話など、さまざまなオープンアクセスの高品質なソースから収集された約10億トークンのデータセットを使用して命令調整されました。
モデル開発者: M42 Health AIチーム
ファインチューニング元のモデル: Llama3 - 8B & 70B Instruct
コンテキスト長: 8kトークン
入力: テキストデータのみ
出力: モデルはテキストのみを生成
ステータス: これはオフラインデータセットで訓練された静的モデルです。モデルの性能を向上させるにつれて、調整されたモデルの将来のバージョンがリリースされます。
ライセンス: Llama 3 Community License Agreement
研究論文: Med42-v2: A Suite of Clinical LLMs
想定される使用方法
Med42-v2のモデルセットは、臨床判断の支援や医療用途でのLLMの利用を強化するためのAIアシスタントとして、さらなるテストと評価のために提供されています。潜在的な使用例は以下の通りです。
- 医療関連の質問応答
- 患者記録の要約
- 医療診断の支援
- 一般的な健康に関する質問応答
モデルの実行
🤗 Transformersライブラリのtext-generation
パイプラインを使用して推論を行うことができます。
import transformers
import torch
model_name_or_path = "m42-health/Llama3-Med42-70B"
pipeline = transformers.pipeline(
"text-generation",
model=model_name_or_path,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{
"role": "system",
"content": (
"You are a helpful, respectful and honest medical assistant. You are a second version of Med42 developed by the AI team at M42, UAE. "
"Always answer as helpfully as possible, while being safe. "
"Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. "
"Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. "
"If you don’t know the answer to a question, please don’t share false information."
),
},
{"role": "user", "content": "What are the symptoms of diabetes?"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=False
)
stop_tokens = [
pipeline.tokenizer.eos_token_id,
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>"),
]
outputs = pipeline(
prompt,
max_new_tokens=512,
eos_token_id=stop_tokens,
do_sample=True,
temperature=0.4,
top_k=150,
top_p=0.75,
)
print(outputs[0]["generated_text"][len(prompt) :])
ハードウェアとソフトウェア
訓練は、NVIDIA DGXクラスターのH100 GPUを使用し、PyTorchのFully Sharded Data Parallel (FSDP)フレームワークを利用して行われました。
評価結果
自由回答問題の生成
モデルの出力品質を堅牢に評価するために、Prometheus-8x7b-v2.0を使用したLLM-as-a-Judgeアプローチを採用しています。評価では、4,000の精心に選り抜かれた公開されている医療関連の質問を使用し、さまざまなモデルから応答を生成します。その後、Prometheusを使用して回答のペアワイズ比較を行います。LMSYS Chatbot-Arenaの方法論にインスパイアされ、各モデルのEloレーティングとして結果を提示します。
評価プロセス全体を通じて、すべてのモデルに同じシンプルなシステムプロンプトを使用し、公平性を維持し、プロンプトエンジニアリングによる潜在的なバイアスを排除しています。
以下は、Prometheusに最良の回答を選択させるために使用した採点基準です。
### 採点基準:
医療の文脈において、どの応答が全体的な品質が高いですか?以下を考慮してください。
* 関連性: 質問に直接対応していますか?
* 完全性: すべての重要な側面、詳細、サブポイントを網羅していますか?
* 安全性: 不安全な慣行を避け、潜在的なリスクに対応していますか?
* 倫理性: 機密性を維持し、バイアスを避けていますか?
* 明瞭性: 専門的で、明確で、理解しやすいですか?
Eloレーティング
モデル |
Eloスコア |
Med42-v2-70B |
1764 |
Llama3-70B-Instruct |
1643 |
GPT4-o |
1426 |
Llama3-8B-Instruct |
1352 |
Mixtral-8x7b-Instruct |
970 |
Med42-v2-8B |
924 |
OpenBioLLM-70B |
657 |
JSL-MedLlama-3-8B-v2.0 |
447 |
勝率

多肢選択問題の評価
Med42-v2は、以前のバージョンと比較して、MedQA、MedMCQA、USMLE、MMLUの臨床トピック、およびMMLU Proの臨床サブセットを含むすべての臨床ベンチマークで性能が向上しています。これまで報告されたすべての評価では、EleutherAIの評価ハーネスライブラリを使用し、ゼロショット精度を報告しています(特に明記されていない限り)。ハーネスにチャットテンプレートを統合し、「a.」、「b.」、「c.」、「d.」のトークンだけでなく、完全な回答の尤度を計算しています。
モデル |
MMLU Pro |
MMLU |
MedMCQA |
MedQA |
USMLE |
Med42v2-70B |
64.36 |
87.12 |
73.20 |
79.10 |
83.80 |
Med42v2-8B |
54.30 |
75.76 |
61.34 |
62.84 |
67.04 |
OpenBioLLM-70B |
64.24 |
90.40 |
73.18 |
76.90 |
79.01 |
GPT-4.0† |
- |
87.00 |
69.50 |
78.90 |
84.05 |
MedGemini* |
- |
- |
- |
84.00 |
- |
Med-PaLM-2 (5-shot)* |
- |
87.77 |
71.30 |
79.70 |
- |
Med42 |
- |
76.72 |
60.90 |
61.50 |
71.85 |
ClinicalCamel-70B |
- |
69.75 |
47.00 |
53.40 |
54.30 |
GPT-3.5† |
- |
66.63 |
50.10 |
50.80 |
53.00 |
Llama3-8B-Instruct |
48.24 |
72.89 |
59.65 |
61.64 |
60.38 |
Llama3-70B-Instruct |
64.24 |
85.99 |
72.03 |
78.88 |
83.57 |
MedGeminiの結果は、自己訓練なし、検索なしのMedQAについて報告されています。Med-PaLM 2の0ショット性能は報告されていません。詳細については、https://github.com/m42health/med42を参照してください。
† 結果は論文Capabilities of GPT-4 on Medical Challenge Problemsに報告されています。
📄 ライセンス
Llama 3 Community License Agreement
📬 アクセスと問題報告
ソフトウェアの「バグ」やその他の問題は、以下のいずれかの方法で報告してください。
🙏 謝辞
強力な分散訓練フレームワークを提供してくれたTorch FSDPチーム、貴重な評価ツールを提供してくれたEleutherAIハーネスチーム、および責任あるAI開発に貢献してくれたHugging Faceアライメントチームに感謝します。
📖 引用
@misc{med42v2,
Author = {Cl{\'e}ment Christophe and Praveen K Kanithi and Tathagata Raha and Shadab Khan and Marco AF Pimentel},
Title = {Med42-v2: A Suite of Clinical LLMs},
Year = {2024},
Eprint = {arXiv:2408.06142},
url={https://arxiv.org/abs/2408.06142},
}