语言:
- 英文
许可证: llama3
标签:
- m42
- 健康
- 医疗保健
- 临床大语言模型
管道标签: 文本生成
推理: 禁用
许可证名称: llama3
Med42-v2 - 一套临床对齐的大语言模型套件
Med42-v2是由M42开发的一套开放获取的临床大语言模型(LLM),通过指令和偏好微调来扩展医学知识的可及性。基于LLaMA-3架构,包含80亿或700亿参数,这些生成式AI系统能够为医学问题提供高质量的回答。
关键性能指标:
- Med42-v2-70B在多数MCQA任务中表现优于GPT-4.0。
- Med42-v2-70B在MedQA零样本测试中取得79.10分,超越此前所有公开医疗大语言模型的最佳表现。
- 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系列模型尚未准备好投入实际临床使用。为确保安全性,正在进行广泛的人工评估。
- 可能生成错误或有害信息。
- 存在延续训练数据偏见的风险。
请负责任地使用本系列模型!未经严格安全测试,请勿将其用于医疗用途。
模型详情
免责声明:在未经进一步测试和验证前,本大语言模型尚未准备好用于临床场景。不应依赖其做出医疗决策或提供患者护理。
基于LLaMA-3模型,Med42-v2使用约10亿token的数据集进行指令微调,数据来源包括医学知识卡片、考试题目和开放领域对话等高质量开放资源。
模型开发者: M42健康AI团队
微调基础模型: Llama3 - 8B & 70B Instruct
上下文长度: 8k token
输入: 纯文本数据
输出: 模型仅生成文本
状态: 当前为基于离线数据训练的静态模型。性能增强后的调优模型新版本将持续发布。
许可证: Llama 3社区许可协议
研究论文: Med42-v2: 临床大语言模型套件
预期用途
Med42-v2系列模型旨在作为AI助手促进临床决策和医疗大语言模型应用,开放用于进一步测试评估。潜在用例包括:
- 医学问答
- 病历摘要生成
- 辅助医疗诊断
- 常规健康咨询
运行模型
可使用🤗 Transformers库的text-generation
管道进行推理。
import transformers
import torch
model_name_or_path = "m42-health/Llama3-Med42-8B"
pipeline = transformers.pipeline(
"text-generation",
model=model_name_or_path,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{
"role": "system",
"content": (
"您是一个乐于助人、尊重他人且诚实的医疗助手。您是M42(阿联酋)AI团队开发的Med42第二代版本。"
"始终在确保安全的前提下提供最有帮助的回答。"
"您的回答不应包含任何有害、不道德、种族歧视、性别歧视、有毒、危险或非法内容。"
"请确保回复内容社会公正且积极正面。若问题无实质意义或事实不清,请说明原因而非提供错误答案。"
"若不知晓问题答案,请勿传播虚假信息。"
),
},
{"role": "user", "content": "糖尿病有哪些症状?"},
]
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全分片数据并行(FSDP)框架。
评估结果
开放式问题生成
为全面评估模型输出质量,我们采用Prometheus-8x7b-v2.0作为"LLM裁判"。基于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样本)* |
- |
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未报告零样本表现。更多细节参见https://github.com/m42health/med42。
† 结果引用自论文GPT-4在医学挑战问题上的能力表现。
获取Med42与问题反馈
请通过以下方式报告软件"漏洞"或其他问题:
致谢
感谢Torch FSDP团队提供的强大分布式训练框架,EleutherAI评估工具团队的宝贵贡献,以及Hugging Face对齐团队在负责任AI发展中的工作。
引用
@misc{med42v2,
作者 = {Cl{\'e}ment Christophe and Praveen K Kanithi and Tathagata Raha and Shadab Khan and Marco AF Pimentel},
标题 = {Med42-v2: 临床大语言模型套件},
年份 = {2024},
电子预印本 = {arXiv:2408.06142},
网址={https://arxiv.org/abs/2408.06142},
}