模型简介
模型特点
模型能力
使用案例
🚀 Meditron-7B-v1.0
Meditron是一套开源的医疗大语言模型(LLMs)。Meditron-7B是一个拥有70亿参数的模型,它基于Llama-2-7B,通过在精心策划的医疗语料库上进行持续预训练,使其适应医疗领域。该语料库包括精选的PubMed文章、摘要、一个新数据集(包含国际公认的医疗指南)以及来自RedPajama-v1的通用领域数据。经过相关训练数据微调后,Meditron-7B在多项医疗推理任务上的表现优于Llama-2-7B和PMC-Llama。
🚀 快速开始
Meditron-7B作为一个医疗领域的大语言模型,可用于多种医疗相关的任务。你可以按照以下步骤开始使用:
- 克隆模型仓库:epflLLM/meditron
- 参考训练和推理的相关代码进行操作。
✨ 主要特性
- 医疗领域适配:基于Llama-2-7B,通过在医疗语料库上持续预训练,适应医疗领域。
- 性能优异:在多项医疗推理任务上优于Llama-2-7B和PMC-Llama。
- 多用途:可用于医疗考试问答、支持鉴别诊断、疾病信息查询等多种医疗场景。
📦 安装指南
暂未提供具体安装步骤,可参考仓库中的文档进行安装。
📚 详细文档
模型详情
属性 | 详情 |
---|---|
开发团队 | EPFL LLM Team |
模型类型 | 因果解码器型Transformer语言模型 |
语言 | 主要为英语 |
模型许可证 | LLAMA 2 COMMUNITY LICENSE AGREEMENT |
代码许可证 | APACHE 2.0 LICENSE |
预训练基础模型 | Llama-2-7B |
上下文长度 | 2K tokens |
输入 | 仅文本数据 |
输出 | 模型仅生成文本 |
状态 | 这是一个基于离线数据集训练的静态模型。随着模型性能的提升,未来将发布调优后的版本。 |
知识截止日期 | 2023年8月 |
模型来源
- 仓库:epflLLM/meditron
- 训练器:epflLLM/Megatron-LLM
- 论文:MediTron-70B: Scaling Medical Pretraining for Large Language Models
用途
直接使用
可以使用该模型生成文本,这有助于实验和了解其能力。但不建议直接用于可能影响人们的生产或工作中。
下游使用
Meditron-70B和Meditron-7B都是未经过微调或指令调优的基础模型。可以对它们进行微调、指令调优或基于强化学习的人类反馈(RLHF)调优,以用于特定的下游任务和应用。有两种方式可用于下游问答任务:
- 在提示中添加k个示例(论文中为3或5个)进行上下文学习。
- 使用特定训练集对模型进行微调以用于下游问答任务。
鼓励将基础模型应用于更多样化的应用中。如果想以更交互的方式使用该模型,建议使用具有高吞吐量和内存效率的推理引擎,并搭配支持聊天和文本生成的用户界面。可以参考部署指南,其中使用了FastChat和vLLM。通过交互式用户界面平台BetterChatGPT收集生成结果进行定性分析。以下是使用的提示格式示例:
超出适用范围的使用
不建议在生产环境中使用该模型进行自然语言生成,无论是否经过微调。
真实性、有用性、风险和偏差
对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-7B的有用性、风险和偏差的评估非常有限。因此,如安全通知中所述,强烈反对在未进行进一步对齐和严格评估的情况下将其部署到医疗应用中!
建议
重要! 用户(直接用户和下游用户)应了解模型的风险、偏差和局限性。虽然该模型能够生成自然语言文本,但对其能力和局限性的探索才刚刚开始。在医学等领域,了解这些局限性尤为重要。因此,强烈建议不要将该模型用于自然语言生成的生产环境或与健康和医学相关的专业用途。
训练详情
训练数据
Meditron的领域自适应预训练语料库GAP-Replay结合了来自四个语料库的481亿个标记:
- 临床指南:一个包含46K条国际公认临床实践指南的新数据集,这些指南来自各种医疗相关来源,包括医院和国际组织。
- 医学论文摘要:从闭源的PubMed和PubMed Central论文中提取的1610万个摘要。
- 医学论文:从500万篇公开可用的PubMed和PubMed Central论文中提取的全文文章。
- 回放数据:从RedPajama-v1中采样的4亿个通用领域预训练数据标记。
数据预处理
详细的预处理过程请参阅论文。
训练过程
使用Megatron-LLM分布式训练库(Nvidia的Megatron LM项目的衍生库)来优化训练效率。硬件由1个节点的8个NVIDIA A100(80GB)SXM GPU组成,通过NVLink和NVSwitch连接,配备单个Nvidia ConnectX-6 DX网卡,并搭载2个AMD EPYC 7543 32核处理器和512GB内存。
采用的三种并行方案如下:
- 数据并行(DP - 不同的GPU处理不同的批次子集):2
- 流水线并行(PP - 不同的GPU处理不同的层):4
- 张量并行(TP - 不同的GPU处理矩阵乘法的不同子张量):1
训练超参数
参数 | 值 |
---|---|
bf16 | true |
lr | 3e-4 |
eps | 1e-5 |
betas | [0.9, 0.95] |
clip_grad | 1 |
weight decay | 0.1 |
DP size | 16 |
TP size | 4 |
PP size | 1 |
seq length | 2048 |
lr scheduler | cosine |
min lr | 1e-6 |
warmup iteration | 2000 |
micro batch size | 10 |
global batch size | 1600 |
模型大小
模型于2023年9月进行训练,模型架构与Llama 2完全相同,具体如下:
参数 | 值 |
---|---|
模型大小 | 7B |
隐藏维度 | 4096 |
注意力头数量 | 32 |
层数 | 32 |
评估
测试数据与指标
测试数据
指标
- 准确率:适用于多项选择题问答任务的评估。
结果
分别在每个基准(pubmedqa、medmcqa、medqa)的训练数据上对meditron-7b、llama-2-7b、pmc-llama-7b进行微调。报告微调后模型在以最高标记选择作为推理模式下的性能。对于MMLU-Medical,使用在MedMCQA上微调的模型进行推理;对于MedQA-4-Option,使用在MedQA上微调的模型进行推理。如需更详细的性能分析,请参阅论文。
数据集 | meditron-7b | llama-2-7b | pmc-llama-7b | Zephyr-7B-beta* | Mistral-7B-instruct* |
---|---|---|---|---|---|
MMLU-Medical | 54.2 | 53.7 | 56.4 | 63.3 | 60.0 |
PubMedQA | 74.4 | 61.8 | 59.2 | 46.0 | 17.8 |
MedMCQA | 59.2 | 54.4 | 57.6 | 43.0 | 40.2 |
MedQA | 47.9 | 44.0 | 42.4 | 42.8 | 32.4 |
MedQA-4-Option | 52.0 | 49.6 | 49.2 | 48.5 | 41.1 |
平均 | 57.5 | 52.7 | 53.0 | 48.7 | 38.3 |
注意:带有*的模型已经过指令调优,因此不再对其在任何训练数据上进行进一步微调。
环境影响
- 硬件类型:8个NVIDIA A100(80GB)SXM
- 总GPU小时数:588.8
- 硬件提供商:EPFL Research Computing Platform
- 计算区域:瑞士
- 碳排放:瑞士的碳效率为0.016 kgCO2/kWh(https://www.carbonfootprint.com/docs/2018_8_electricity_factors_august_2018_-_online_sources.pdf)。8个A100 GPU运行73.6小时,即588.8小时,TDP为400W。假设电源使用效率(PUE)为1.8,估计总排放量为:(400W / 1000W/kWh / GPU * 0.016 kgCO2/kWh * 73.6 h * 8 GPU) * 1.8 PUE = 6.8 kgCO2。
📄 许可证
本模型遵循LLAMA 2 COMMUNITY LICENSE AGREEMENT,代码遵循APACHE 2.0 LICENSE。
📚 引用
如果使用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}
}



