🚀 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用作研究工具,並建議不要將其部署在生產環境中用於自然語言生成或任何專業健康和醫療目的。