Llama3 OpenBioLLM 8B
模型概述
模型特點
模型能力
使用案例
🚀 OpenBioLLM-8B:生物醫學領域的開源大語言模型
OpenBioLLM-8B 是一款專為生物醫學領域設計的先進開源語言模型。由 Saama AI Labs 開發,該模型運用前沿技術,在眾多生物醫學任務中展現出卓越性能。
🚀 快速開始
你可以通過以下鏈接體驗在線演示、訪問項目的 GitHub 倉庫、查看相關論文以及加入 Discord 社區進行交流:
✨ 主要特性
- 🏥 生物醫學專業化:OpenBioLLM-8B 針對醫學和生命科學領域獨特的語言和知識需求進行了定製。它在大量高質量的生物醫學數據語料庫上進行了微調,能夠準確流暢地理解和生成特定領域的文本。
- 🎓 卓越性能:擁有 80 億參數的 OpenBioLLM-8B 在性能上超越了其他同規模的開源生物醫學語言模型。在生物醫學基準測試中,與 GPT - 3.5 和 Meditron - 70B 等更大的專有及開源模型相比,也取得了更優的結果。
- 🧠 先進的訓練技術:OpenBioLLM-8B 基於強大的 Meta - Llama - 3 - 8B 和 Meta - Llama - 3 - 8B 模型構建。它整合了 DPO 數據集和微調方法,以及自定義的多樣化醫學指令數據集。訓練流程的關鍵組成部分包括:
- 策略優化:Direct Preference Optimization: Your Language Model is Secretly a Reward Model (DPO)
- 排名數據集:berkeley - nest/Nectar
- 微調數據集:自定義醫學指令數據集(我們計劃在即將發表的論文中發佈樣本訓練數據集,請持續關注)
📦 安裝指南
使用 transformers 庫
重要提示:請使用 Llama - 3 指令版本提供的精確聊天模板,否則性能會下降。在極少數情況下,模型輸出可能會冗長。你可以考慮將 temperature 設置為 0 以減少這種情況的發生。
以下是使用 Transformers 庫的代碼示例:
import transformers
import torch
model_id = "aaditya/OpenBioLLM-Llama3-8B"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="auto",
)
messages = [
{"role": "system", "content": "You are an expert and experienced from the healthcare and biomedical domain with extensive medical knowledge and practical experience. Your name is OpenBioLLM, and you were developed by Saama AI Labs. who's willing to help answer the user's query with explanation. In your explanation, leverage your deep medical expertise such as relevant anatomical structures, physiological processes, diagnostic criteria, treatment guidelines, or other pertinent medical concepts. Use precise medical terminology while still aiming to make the explanation clear and accessible to a general audience."},
{"role": "user", "content": "How can i split a 3mg or 4mg waefin pill so i can get a 2.5mg pill?"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
pipeline.tokenizer.eos_token_id,
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.0,
top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
💻 使用示例
基礎用法
上述使用 transformers 庫的代碼示例展示瞭如何使用 OpenBioLLM-8B 進行文本生成,你可以根據需求修改 messages
中的內容來提出不同的醫學問題。
📚 詳細文檔
訓練過程
訓練超參數
點擊查看詳情
- learning_rate: 0.0002
- lr_scheduler: cosine
- train_batch_size: 12
- eval_batch_size: 8
- GPU: H100 80GB SXM5
- num_devices: 1
- optimizer: adamw_bnb_8bit
- lr_scheduler_warmup_steps: 100
- num_epochs: 4
Peft 超參數
點擊查看詳情
-
adapter: qlora
-
lora_r: 128
-
lora_alpha: 256
-
lora_dropout: 0.05
-
lora_target_linear: true
-
lora_target_modules:
- q_proj
- v_proj
- k_proj
- o_proj
- gate_proj
- down_proj
- up_proj
訓練結果
框架版本
- Transformers 4.39.3
- Pytorch 2.1.2+cu121
- Datasets 2.18.0
- Tokenizers 0.15.1
- Axolotl
- Lm harness for evaluation
基準測試結果
🔥 OpenBioLLM-8B 在 9 個不同的生物醫學數據集上表現優於 GPT - 3.5、Meditron - 70B 等更大的模型,儘管參數數量顯著較少,但平均得分達到 72.50%,取得了最先進的結果。該模型在臨床知識圖譜、醫學遺傳學和 PubMedQA 等特定領域任務中的出色表現,凸顯了其有效捕捉和應用生物醫學知識的能力。
🚨 GPT - 4、Med - PaLM - 1 和 Med - PaLM - 2 的結果取自其官方論文。由於 Med - PaLM 未提供零樣本準確率,我們使用其論文中的 5 樣本準確率進行比較。除 Med - PaLM - 2 和 Med - PaLM - 1 使用 5 樣本準確率外,所有結果均為零樣本設置。
臨床知識圖譜 | 醫學遺傳學 | 解剖學 | 專業醫學 | 大學生物學 | 大學醫學 | MedQA 4 選項 | PubMedQA | MedMCQA | 平均 | |
---|---|---|---|---|---|---|---|---|---|---|
OpenBioLLM - 70B | 92.93 | 93.197 | 83.904 | 93.75 | 93.827 | 85.749 | 78.162 | 78.97 | 74.014 | 86.05588 |
Med - PaLM - 2 (5 樣本) | 88.3 | 90 | 77.8 | 95.2 | 94.4 | 80.9 | 79.7 | 79.2 | 71.3 | 84.08 |
GPT - 4 | 86.04 | 91 | 80 | 93.01 | 95.14 | 76.88 | 78.87 | 75.2 | 69.52 | 82.85 |
Med - PaLM - 1 (Flan - PaLM, 5 樣本) | 80.4 | 75 | 63.7 | 83.8 | 88.9 | 76.3 | 67.6 | 79 | 57.6 | 74.7 |
OpenBioLLM - 8B | 76.101 | 86.1 | 69.829 | 78.21 | 84.213 | 68.042 | 58.993 | 74.12 | 56.913 | 72.502 |
Gemini - 1.0 | 76.7 | 75.8 | 66.7 | 77.7 | 88 | 69.2 | 58 | 70.7 | 54.3 | 70.79 |
GPT - 3.5 Turbo 1106 | 74.71 | 74 | 72.79 | 72.79 | 72.91 | 64.73 | 57.71 | 72.66 | 53.79 | 66 |
Meditron - 70B | 66.79 | 69 | 53.33 | 71.69 | 76.38 | 63 | 57.1 | 76.6 | 46.85 | 64.52 |
gemma - 7b | 69.81 | 70 | 59.26 | 66.18 | 79.86 | 60.12 | 47.21 | 76.2 | 48.96 | 64.18 |
Mistral - 7B - v0.1 | 68.68 | 71 | 55.56 | 68.38 | 68.06 | 59.54 | 50.82 | 75.4 | 48.2 | 62.85 |
Apollo - 7B | 62.26 | 72 | 61.48 | 69.12 | 70.83 | 55.49 | 55.22 | 39.8 | 53.77 | 60 |
MedAlpaca - 7b | 57.36 | 69 | 57.04 | 67.28 | 65.28 | 54.34 | 41.71 | 72.8 | 37.51 | 58.03 |
BioMistral - 7B | 59.9 | 64 | 56.5 | 60.4 | 59 | 54.7 | 50.6 | 77.5 | 48.1 | 57.3 |
AlpaCare - llama2 - 7b | 49.81 | 49 | 45.92 | 33.82 | 50 | 43.35 | 29.77 | 72.2 | 34.42 | 45.36 |
ClinicalGPT | 30.56 | 27 | 30.37 | 19.48 | 25 | 24.27 | 26.08 | 63.8 | 28.18 | 30.52 |
詳細醫學主題準確率
使用案例與示例
🚨 以下結果來自 OpenBioLLM - 70B 的量化版本
臨床筆記總結
OpenBioLLM - 70B 可以高效地分析和總結複雜的臨床筆記、電子健康記錄(EHR)數據和出院小結,提取關鍵信息並生成簡潔、結構化的摘要。
醫學問題解答
OpenBioLLM - 70B 可以回答廣泛的醫學問題。
點擊查看詳情
  臨床實體識別
OpenBioLLM - 70B 可以通過識別和提取非結構化臨床文本中的關鍵醫學概念(如疾病、症狀、藥物、程序和解剖結構)來執行高級臨床實體識別。憑藉其對醫學術語和上下文的深入理解,該模型可以準確地註釋和分類臨床實體,從而實現從電子健康記錄、研究文章和其他生物醫學文本來源中更高效的信息檢索、數據分析和知識發現。這一能力可以支持各種下游應用,如臨床決策支持、藥物警戒和醫學研究。
生物標誌物提取
分類
OpenBioLLM - 70B 可以執行各種生物醫學分類任務,如疾病預測、情感分析、醫學文檔分類。
去識別化
OpenBioLLM - 70B 可以檢測並從醫療記錄中刪除個人身份信息(PII),確保患者隱私並符合 HIPAA 等數據保護法規。
諮詢通知
雖然 OpenBioLLM - 70B 和 8B 使用了高質量的數據源,但其輸出仍可能包含不準確、偏差或不一致的內容,如果在未經進一步測試和改進的情況下用於醫療決策,可能會帶來風險。該模型的性能尚未在隨機對照試驗或現實世界的醫療環境中進行嚴格評估。
因此,我們強烈建議目前不要將 OpenBioLLM - 70B 和 8B 用於任何直接的患者護理、臨床決策支持或其他專業醫療目的。其使用應限於有資質的個人進行研究、開發和探索性應用,這些個人應瞭解其侷限性。
OpenBioLLM - 70B 和 8B 僅旨在作為輔助醫療專業人員的研究工具,絕不能替代合格醫生的專業判斷和專業知識。
要將 OpenBioLLM - 70B 和 8B 適當地調整和驗證用於特定的醫療用例,需要進行大量的額外工作,可能包括:
- 在相關臨床場景中進行全面的測試和評估
- 與循證指南和最佳實踐保持一致
- 減輕潛在的偏差和失敗模式
- 與人工監督和解釋相結合
- 符合監管和道德標準
請始終諮詢合格的醫療服務提供者以滿足個人醫療需求。
📄 許可證
該模型遵循 Meta - Llama 許可證。
🔧 技術細節
模型信息
屬性 | 詳情 |
---|---|
模型類型 | OpenBioLLM-8B |
基礎模型 | meta - llama/Meta - Llama - 3 - 8B |
模型大小 | 80 億參數 |
量化版本 | 可在 此處 獲取優化的量化版本 |
語言 | 英語 |
開發者 | Ankit Pal (Aaditya Ura)(來自 Saama AI Labs) |
許可證 | Meta - Llama 許可證 |
微調來源模型 | meta - llama/Meta - Llama - 3 - 8B |
更多信息資源 | 論文:即將發佈 |
📖 引用
如果你在工作中發現 OpenBioLLM - 70B 和 8B 很有用,請按以下方式引用該模型:
@misc{OpenBioLLMs,
author = {Ankit Pal, Malaikannan Sankarasubbu},
title = {OpenBioLLMs: Advancing Open - Source Large Language Models for Healthcare and Life Sciences},
year = {2024},
publisher = {Hugging Face},
journal = {Hugging Face repository},
howpublished = {\url{https://huggingface.co/aaditya/OpenBioLLM-Llama3-70B}}
}
相關論文正在撰寫中,即將發佈。
💌 聯繫我們
我們期待與你交流並在這個令人興奮的項目上進行合作!
貢獻者:
- Ankit Pal (Aaditya Ura) [aadityaura at gmail dot com]
- Saama AI Labs
- 注意:本人正在尋找有資助的博士機會,特別是與負責任的生成式 AI、多模態大語言模型、幾何深度學習和醫療 AI 技能相匹配的機會。
參考文獻
感謝 Meta 團隊 提供的優秀模型!
結果來源:
- [1] GPT - 4 Capabilities of GPT - 4 on Medical Challenge Problems
- [2] Med - PaLM - 1 Large Language Models Encode Clinical Knowledge
- [3] Med - PaLM - 2 Towards Expert - Level Medical Question Answering with Large Language Models
- [4] Gemini - 1.0 Gemini Goes to Med School



