模型概述
模型特點
模型能力
使用案例
🚀 Meditron-70B-v1.0
Meditron是一套開源的醫療大語言模型(LLM)。Meditron-70B是一個擁有700億參數的模型,它通過在精心策劃的醫療語料庫上進行持續預訓練,從Llama - 2 - 70B適配到醫療領域。該語料庫包括精選的PubMed文章、摘要、一個新數據集(包含國際公認的醫療指南)以及來自RedPajama - v1的通用領域數據。經過相關訓練數據微調後,Meditron-70B在多個醫療推理任務上優於Llama - 2 - 70B、GPT - 3.5 (text - davinci - 003
, 8-shot)和Flan - PaLM。
🚀 快速開始
Meditron-70B作為人工智能助手,可用於進一步測試和評估,以增強臨床決策能力,並提高醫療保健領域對大語言模型的可及性。如果你想以更交互的方式使用該模型,建議使用具有高吞吐量和內存效率的推理引擎,並搭配支持聊天和文本生成的用戶界面。你可以查看我們的部署指南,我們在其中使用了FastChat和vLLM。
✨ 主要特性
- 醫療領域適配:通過在醫療語料庫上持續預訓練,從Llama - 2 - 70B適配到醫療領域。
- 性能優越:在多個醫療推理任務上優於Llama - 2 - 70B、GPT - 3.5和Flan - PaLM。
- 多用途:可用於醫療考試問答、支持鑑別診斷、疾病信息查詢和一般健康信息查詢等。
📦 安裝指南
文檔未提供相關安裝步驟,暫不展示。
💻 使用示例
文檔未提供相關代碼示例,暫不展示。
📚 詳細文檔
模型詳情
屬性 | 詳情 |
---|---|
開發團隊 | EPFL LLM Team |
模型類型 | 因果解碼器專用Transformer語言模型 |
語言 | 主要為英語 |
模型許可證 | LLAMA 2 COMMUNITY LICENSE AGREEMENT |
代碼許可證 | APACHE 2.0 LICENSE |
預訓練基礎模型 | Llama - 2 - 70B |
上下文長度 | 4K tokens |
輸入 | 僅文本數據 |
輸出 | 僅生成文本 |
狀態 | 這是一個基於離線數據集訓練的靜態模型。隨著模型性能的提升,未來將發佈調優後的版本。 |
知識截止日期 | 2023年8月 |
模型來源
- 倉庫:epflLLM/meditron
- 訓練器:epflLLM/Megatron - LLM
- 論文:MediTron - 70B: Scaling Medical Pretraining for Large Language Models
使用場景
潛在用例
Meditron-70B可作為人工智能助手,用於進一步測試和評估,以增強臨床決策能力,並提高醫療保健領域對大語言模型的可及性。潛在用例可能包括但不限於:
- 醫療考試問答
- 支持鑑別診斷
- 疾病信息(症狀、病因、治療)查詢
- 一般健康信息查詢
直接使用
可以使用該模型生成文本,這有助於實驗和了解其能力。但不應直接將其用於可能影響人們的生產或工作中。
下游使用
Meditron-70B和Meditron-7B都是未經微調或指令調優的基礎模型。它們可以針對特定的下游任務和應用進行微調、指令調優或基於強化學習的人類反饋(RLHF)調優。我們有兩種方式將該模型用於下游問答任務:
- 我們在提示中添加k個演示(在我們的論文中為3或5個),應用上下文學習。
- 我們使用特定的訓練集對模型進行微調,以用於下游問答任務。
我們鼓勵並期待將基礎模型應用於更多樣化的應用中。
超出適用範圍的使用
不建議在生產環境中使用該模型進行自然語言生成,無論是否經過微調。
真實性、有用性、風險和偏差
真實性評估
我們針對基線模型和消費級醫療模型,對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結合了來自四個語料庫的481億個標記:
- 臨床指南:一個包含46K條國際公認的臨床實踐指南的新數據集,來自各種醫療相關來源,包括醫院和國際組織。
- 醫學論文摘要:從閉源的PubMed和PubMed Central論文中提取的1610萬個摘要。
- 醫學論文:從500萬篇公開可用的PubMed和PubMed Central論文中提取的全文文章。
- 回放數據:從RedPajama - v1中採樣的4億個通用領域預訓練數據標記。
數據預處理
請參閱我們論文中的詳細預處理步驟。
訓練過程
我們使用Megatron - LLM分佈式訓練庫(Nvidia的Megatron LM項目的衍生版本)來優化訓練效率。硬件由16個節點組成,每個節點配備8個NVIDIA A100(80GB)SXM GPU,通過NVLink和NVSwitch連接,配備單個Nvidia ConnectX - 6 DX網卡,並搭載2個AMD EPYC 7543 32核處理器和512GB內存。節點通過融合以太網的遠程直接內存訪問(RDMA)連接。
我們的三路並行方案使用:
- 數據並行(DP - 不同的GPU處理不同的批次子集):2
- 流水線並行(PP - 不同的GPU處理不同的層):8
- 張量並行(TP - 不同的GPU處理矩陣乘法的不同子張量):8
訓練超參數
參數 | 值 |
---|---|
bf16 | true |
lr | 1.5e - 4 |
eps | 1e - 5 |
betas | [0.9, 0.95] |
clip_grad | 1 |
weight decay | 0.1 |
DP size | 2 |
TP size | 8 |
PP size | 8 |
seq length | 4096 |
lr scheduler | cosine |
min lr | 1e - 6 |
warmup iteration | 2000 |
micro batch size | 2 |
global batch size | 512 |
速度、大小、時間
模型於2023年9月和10月進行訓練。
模型架構與Llama 2完全相同,具體如下:
屬性 | 值 |
---|---|
模型大小 | 70B |
隱藏維度 | 8192 |
注意力頭數量 | 64 |
層數 | 80 |
我們在480億個標記上訓練70B模型,吞吐量約為40200個標記/秒,這相當於bfloat16模型的浮點運算利用率約為42.3%。
評估
測試數據和指標
測試數據
指標
- 準確率:適用於多項選擇問答任務的評估。
結果
我們分別在每個基準(pubmedqa、medmcqa、medqa)的訓練數據上對meditron - 70b和llama - 2 - 70b進行微調。我們報告了以自一致性思維鏈作為推理模式的微調模型的性能。對於MMLU - Medical,使用在MedMCQA上微調的模型進行推理;對於MedQA - 4 - Option,使用在MedQA上微調的模型進行推理。如需更詳細的性能分析,請參閱我們的論文。
數據集 | 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 - Option | 70.2 | 63.8 | 63.9 | 56.8 |
平均 | 72.0 | 69.2 | 63.6 | 57.4 |
注意:帶有*的模型已經過指令調優,因此我們不再對其在任何訓練數據上進行進一步微調。
環境影響
- 硬件類型:128個NVIDIA A100(80GB)SXM
- 總GPU小時數:42496
- 硬件提供商:EPFL研究計算平臺
- 計算區域:瑞士
- 碳排放:瑞士的碳效率為0.016 kgCO2/kWh(https://www.carbonfootprint.com/docs/2018_8_electricity_factors_august_2018_-_online_sources.pdf)。128個A100運行332小時,即42496小時,熱設計功耗(TDP)為400W。假設電源使用效率(PUE)為1.8,總排放量估計為:(400W / 1000W/kWh / GPU * 0.016 kgCO2/kWh * 332 h * 128 GPU) * 1.8 PUE = 486 kgCO2。
引用
BibTeX: 如果你使用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}
}
⚠️ 重要提示
雖然Meditron旨在從高質量證據來源中編碼醫學知識,但它尚未適當地、安全地或在專業可行的約束範圍內提供這些知識。我們建議在沒有進行廣泛的用例對齊以及額外測試(特別是包括在現實世界實踐環境中的隨機對照試驗)的情況下,不要將Meditron部署到醫療應用中。
💡 使用建議
如果你想以更交互的方式使用該模型,建議使用具有高吞吐量和內存效率的推理引擎,並搭配支持聊天和文本生成的用戶界面。



