🚀 BioMistral:适用于医学领域的开源预训练大语言模型集合
BioMistral是一系列专为医学领域打造的开源预训练大语言模型,以Mistral为基础模型,并在PubMed Central上进一步预训练。它在医学问答任务中表现出色,且支持多语言,为医学研究和应用提供了强大的工具。
🚀 快速开始
你可以使用Hugging Face的Transformers库来加载和使用BioMistral模型,具体代码如下:
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("BioMistral/BioMistral-7B")
model = AutoModel.from_pretrained("BioMistral/BioMistral-7B")
✨ 主要特性
- 医学领域适配:基于Mistral模型,在PubMed Central上进一步预训练,更贴合医学领域需求。
- 多语言支持:支持法语、英语、德语、荷兰语、西班牙语、葡萄牙语、波兰语、罗马尼亚语和意大利语等多种语言。
- 模型多样:提供多种模型变体,包括不同的合并策略和量化模型,满足不同场景需求。
- 性能优越:在多个医学问答基准测试中表现出色,优于现有开源医学模型,与专有模型具有竞争力。
📦 BioMistral模型
BioMistral是一套基于Mistral的进一步预训练的开源模型,适用于医学领域,使用来自PubMed Central Open Access(CC0、CC BY、CC BY - SA和CC BY - ND)的文本数据进行预训练。所有模型均使用法国国家科学研究中心(CNRS)的Jean Zay法国高性能计算机进行训练。
📦 量化模型
基础模型 |
方法 |
q_group_size |
w_bit |
版本 |
VRAM GB |
时间 |
下载地址 |
BioMistral - 7B |
FP16/BF16 |
|
|
|
15.02 |
x1.00 |
HuggingFace |
BioMistral - 7B |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
HuggingFace |
BioMistral - 7B |
AWQ |
128 |
4 |
GEMV |
4.68 |
x10.30 |
HuggingFace |
BioMistral - 7B |
BnB.4 |
|
4 |
|
5.03 |
x3.25 |
HuggingFace |
BioMistral - 7B |
BnB.8 |
|
8 |
|
8.04 |
x4.34 |
HuggingFace |
BioMistral - 7B - DARE |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
HuggingFace |
BioMistral - 7B - TIES |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
HuggingFace |
BioMistral - 7B - SLERP |
AWQ |
128 |
4 |
GEMM |
4.68 |
x1.41 |
HuggingFace |
💻 使用示例
基础用法
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("BioMistral/BioMistral-7B")
model = AutoModel.from_pretrained("BioMistral/BioMistral-7B")
📚 监督微调基准测试
|
临床知识图谱 |
医学遗传学 |
解剖学 |
专业医学 |
大学生物学 |
大学医学 |
MedQA |
MedQA 5选项 |
PubMedQA |
MedMCQA |
平均 |
BioMistral 7B |
59.9 |
64.0 |
56.5 |
60.4 |
59.0 |
54.7 |
50.6 |
42.8 |
77.5 |
48.1 |
57.3 |
Mistral 7B Instruct |
62.9 |
57.0 |
55.6 |
59.4 |
62.5 |
57.2 |
42.0 |
40.9 |
75.7 |
46.1 |
55.9 |
|
|
|
|
|
|
|
|
|
|
|
|
BioMistral 7B Ensemble |
62.8 |
62.7 |
57.5 |
63.5 |
64.3 |
55.7 |
50.6 |
43.6 |
77.5 |
48.8 |
58.7 |
BioMistral 7B DARE |
62.3 |
67.0 |
55.8 |
61.4 |
66.9 |
58.0 |
51.1 |
45.2 |
77.7 |
48.7 |
59.4 |
BioMistral 7B TIES |
60.1 |
65.0 |
58.5 |
60.5 |
60.4 |
56.5 |
49.5 |
43.2 |
77.5 |
48.1 |
57.9 |
BioMistral 7B SLERP |
62.5 |
64.7 |
55.8 |
62.7 |
64.8 |
56.3 |
50.8 |
44.3 |
77.8 |
48.6 |
58.8 |
|
|
|
|
|
|
|
|
|
|
|
|
MedAlpaca 7B |
53.1 |
58.0 |
54.1 |
58.8 |
58.1 |
48.6 |
40.1 |
33.7 |
73.6 |
37.0 |
51.5 |
PMC - LLaMA 7B |
24.5 |
27.7 |
35.3 |
17.4 |
30.3 |
23.3 |
25.5 |
20.2 |
72.9 |
26.6 |
30.4 |
MediTron - 7B |
41.6 |
50.3 |
46.4 |
27.9 |
44.4 |
30.8 |
41.6 |
28.1 |
74.9 |
41.3 |
42.7 |
BioMedGPT - LM - 7B |
51.4 |
52.0 |
49.4 |
53.3 |
50.7 |
49.1 |
42.5 |
33.9 |
76.8 |
37.6 |
49.7 |
|
|
|
|
|
|
|
|
|
|
|
|
GPT - 3.5 Turbo 1106* |
74.71 |
74.00 |
65.92 |
72.79 |
72.91 |
64.73 |
57.71 |
50.82 |
72.66 |
53.79 |
66.0 |
BioMistral 7B模型与基线模型的监督微调(SFT)性能对比,通过准确率(↑)衡量,并在3次随机种子的3 - shot中取平均值。DARE、TIES和SLERP是将BioMistral 7B和Mistral 7B Instruct合并的模型合并策略。最佳模型用粗体表示,次佳模型用下划线表示。*GPT - 3.5 Turbo的性能报告来自未进行SFT的3 - shot结果。
📄 许可证
本项目采用Apache - 2.0许可证。
📖 引用
Arxiv : https://arxiv.org/abs/2402.10373
@misc{labrak2024biomistral,
title={BioMistral: A Collection of Open-Source Pretrained Large Language Models for Medical Domains},
author={Yanis Labrak and Adrien Bazoge and Emmanuel Morin and Pierre-Antoine Gourraud and Mickael Rouvier and Richard Dufour},
year={2024},
eprint={2402.10373},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
⚠️ 重要提示
尽管BioMistral旨在封装来自高质量证据的医学知识,但它尚未针对在专业行动参数内有效、安全或适当地传达这些知识进行定制。我们建议在BioMistral未与特定用例进行全面对齐并经过进一步测试(特别是包括在现实世界医疗环境中的随机对照试验)之前,不要在医疗环境中使用它。BioMistral 7B可能存在尚未彻底评估的固有风险和偏差。此外,该模型的性能尚未在现实世界的临床环境中进行评估。因此,我们建议仅将BioMistral 7B用作研究工具,并建议不要将其部署在生产环境中用于自然语言生成或任何专业健康和医疗目的。