license: llama2
datasets:
- bigbio/med_qa
- medmcqa
- bigbio/pubmed_qa
- epfl-llm/guidelines
language:
- en
metrics:
- accuracy
- perplexity
pipeline_tag: text-generation
tags:
- medical
- health
- llama2
base_model: meta-llama/Llama-2-70b
Meditron-70B-v1.0 模型卡片
Meditron 是一套开源的医疗大语言模型(LLMs)。
Meditron-70B 是一个拥有700亿参数的模型,基于Llama-2-70B通过持续预训练在全面整理的医疗语料上适配医疗领域,包括精选的PubMed文章、摘要、一个新数据集(收录国际公认的医疗指南)以及来自RedPajama-v1的通用领域数据。
经相关训练数据微调后,Meditron-70B在多项医疗推理任务上表现优于Llama-2-70B、GPT-3.5(text-davinci-003
,8样本)和Flan-PaLM。
重要提示
尽管Meditron旨在从高质量证据来源中编码医疗知识,但它尚未适配到能恰当、安全或在专业可操作范围内传递这些知识的程度。
我们建议不要在未经充分用例对齐及额外测试(特别是现实场景中的随机对照试验)的情况下,将Meditron部署于医疗应用中。
模型详情
模型来源
用途
Meditron-70B作为AI助手开放测试,旨在辅助临床决策并提升医疗领域LLM的可及性。潜在用例包括但不限于:
- 医学考试问答
- 辅助鉴别诊断
- 疾病信息(症状/病因/治疗)查询
- 通用健康信息查询
直接使用
该模型可用于生成文本以实验和了解其能力,但不可直接用于可能影响人们的生产环境或工作。
下游应用
Meditron-70B和7B均为未经微调的基础模型,可通过任务适配、指令调优或RLHF调优用于特定下游任务。我们采用两种方式应用于问答任务:
- 上下文学习(提示中添加k个示例,论文中为3或5个)
- 使用特定训练集对模型进行下游任务微调
推荐使用支持聊天和文本生成的高吞吐内存高效推理引擎进行交互式提示,参见我们的部署指南(基于FastChat和vLLM)。
非适用场景
不建议将该模型(无论是否微调)用于生产环境的自然语言生成。
真实性、帮助性、风险与偏见
我们初步评估了Meditron模型在真实性方面相较于基线模型和消费级医疗模型的表现,以TruthfulQA(多选题)为主要基准,聚焦医疗相关类别(健康/营养/心理/科学)。7B模型采用单样本评估,70B模型为零样本评估。详细性能参见下表:
类别 |
meditron-70b |
llama-2-70b |
med42-70b* |
meditron-7b |
llama-2-7b |
PMC-llama-7b |
健康 |
81.8 |
69.1 |
83.6 |
27.3 |
16.4 |
3.6 |
营养 |
77.9 |
68.8 |
62.5 |
31.1 |
12.5 |
6.3 |
心理 |
47.4 |
36.8 |
52.6 |
21.1 |
10.5 |
0.0 |
科学 |
77.8 |
44.4 |
33.3 |
33.3 |
11.1 |
0.0 |
平均 |
71.2 |
54.8 |
58.0 |
28.3 |
12.6 |
2.5 |
关于帮助性、风险和偏见,我们在论文中提供了由医学专家设计的查询生成的全面定性分析报告,比较了Meditron-70B与Llama-2-70B和ChatGPT-3.5(2023年11月27日版本)的生成结果。
建议
重要提示!
用户(包括直接和下游用户)应充分了解该模型的风险、偏见和局限性。尤其在医疗领域,强烈建议在未经应用场景全面测试前,勿将模型用于生产环境或健康医疗相关专业用途。
训练详情
训练数据
Meditron的领域自适应预训练语料GAP-Replay整合了48.1B tokens的四大来源:
- 临床指南: 新整理的4.6万份国际临床实践指南
- 医学论文摘要: 从PubMed及PubMed Central提取的1610万篇摘要
- 医学论文全文: 500万篇公开PubMed论文全文
- 回放数据: 从RedPajama-v1采样的4亿token通用领域数据
训练过程
使用Megatron-LLM分布式训练库,硬件为16节点(每节点8×NVIDIA A100 80GB SXM GPU),采用三并行策略:
- 数据并行(DP=2)
- 流水线并行(PP=8)
- 张量并行(TP=8)
超参数配置
参数 |
值 |
bf16 |
true |
学习率 |
1.5e-4 |
eps |
1e-5 |
betas |
[0.9, 0.95] |
梯度裁剪 |
1 |
权重衰减 |
0.1 |
序列长度 |
4096 |
学习率调度器 |
cosine |
最小学习率 |
1e-6 |
预热迭代 |
2000 |
微批次大小 |
2 |
全局批次大小 |
512 |
模型架构
与Llama 2完全一致:
参数 |
值 |
模型规模 |
70B |
隐藏层维度 |
8192 |
注意力头数 |
64 |
层数 |
80 |
训练吞吐量约40,200 tokens/秒,BF16计算利用率约42.3%。
评估
测试数据与指标
测试数据集
指标
结果
各基准测试微调后性能(采用自洽思维链推理):
数据集 |
meditron-70b |
llama-2-70b |
med42-70b* |
clinical-camel-70b* |
MMLU-Medical |
77.6 |
77.9 |
74.5 |
65.7 |
PubMedQA |
81.6 |
80.0 |
61.2 |
67.0 |
MedMCQA |
66.0 |
62.6 |
59.2 |
46.7 |
MedQA |
64.4 |
61.5 |
59.1 |
50.8 |
MedQA-4选项 |
70.2 |
63.8 |
63.9 |
56.8 |
平均 |
72.0 |
69.2 |
63.6 |
57.4 |
注:带*模型已进行指令调优,故未参与额外微调。
环境影响
- 硬件类型: 128×NVIDIA A100 (80GB) SXM
- 总GPU时数: 42,496小时
- 硬件供应商: 洛桑联邦理工学院计算平台
- 计算地区: 瑞士
- 碳排放: 瑞士碳效率为0.016 kgCO2/kWh,总排放估算为486 kgCO2。
引用
若使用Meditron或其训练数据,请引用:
@misc{chen2023meditron70b,
title={MEDITRON-70B: Scaling Medical Pretraining for Large Language Models},
author={Zeming Chen and Alejandro Hernández-Cano and Angelika Romanou and Antoine Bonnet and Kyle Matoba and Francesco Salvi and Matteo Pagliardini and Simin Fan and Andreas Köpf and Amirkeivan Mohtashami and Alexandre Sallinen and Alireza Sakhaeirad and Vinitra Swamy and Igor Krawczuk and Deniz Bayazit and Axel Marmet and Syrielle Montariol and Mary-Anne Hartley and Martin Jaggi and Antoine Bosselut},
year={2023},
eprint={2311.16079},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@software{epfmedtrn,
author = {Zeming Chen and Alejandro Hernández Cano and Angelika Romanou and Antoine Bonnet and Kyle Matoba and Francesco Salvi and Matteo Pagliardini and Simin Fan and Andreas Köpf and Amirkeivan Mohtashami and Alexandre Sallinen and Alireza Sakhaeirad and Vinitra Swamy and Igor Krawczuk and Deniz Bayazit and Axel Marmet and Syrielle Montariol and Mary-Anne Hartley and Martin Jaggi and Antoine Bosselut},
title = {MediTron-70B: Scaling Medical Pretraining for Large Language Models},
month = November,
year = 2023,
url = {https://github.com/epfLLM/meditron}
}