模型概述
模型特點
模型能力
使用案例
🚀 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}
}



