🚀 DISC-MedLLM
DISC-MedLLM是由Fudan-DISC實驗室設計的醫療領域大語言模型,專為對話式醫療場景打造,能滿足醫療諮詢、治療詢問等多種需求,提供高質量的健康支持服務。
🚀 快速開始
本倉庫包含以Baichuan-13b-base為基礎模型的DISC-MedLLM。
請注意,由於項目仍在持續開發中,本倉庫中的模型權重可能與我們當前部署的演示版本有所不同。
查看DISC-MedLLM以獲取更多信息。
演示 | 技術報告
你可以點擊此鏈接嘗試我們的在線演示。
✨ 主要特性
DISC-MedLLM有效彌合了通用語言模型與現實醫療諮詢之間的差距,實驗結果證明了這一點。得益於我們的目標導向策略以及基於現實醫患對話和知識圖譜將大語言模型與人工反饋相結合的框架,DISC-MedLLM具備以下特點:
📦 安裝指南
當前版本的DISC-MedLLM基於Baichuan-13B-Base。你可以直接從HuggingFace 倉庫下載我們的模型權重,或者通過演示代碼自動獲取。
💻 使用示例
基礎用法
>>> import torch
>>> from transformers import AutoModelForCausalLM, AutoTokenizer
>>> from transformers.generation.utils import GenerationConfig
>>> tokenizer = AutoTokenizer.from_pretrained("Flmc/DISC-MedLLM", use_fast=False, trust_remote_code=True)
>>> model = AutoModelForCausalLM.from_pretrained("Flmc/DISC-MedLLM", device_map="auto", torch_dtype=torch.float16, trust_remote_code=True)
>>> model.generation_config = GenerationConfig.from_pretrained("Flmc/DISC-MedLLM")
>>> messages = []
>>> messages.append({"role": "user", "content": "我感覺自己頸椎非常不舒服,每天睡醒都會頭痛"})
>>> response = model.chat(tokenizer, messages)
>>> print(response)
此外,由於當前版本以百川模型為基礎模型,你可以參考其倉庫進行int8、int4量化推理部署。不過,使用量化部署會導致性能下降。
📚 詳細文檔
數據集
為了訓練DISC-MedLLM,我們構建了一個名為DISC-Med-SFT的高質量數據集,該數據集由超過470k個不同的示例組成,這些示例來自現有的醫療數據集。我們採用目標導向策略,通過精心選擇的幾個來源有針對性地重構數據集。這些數據源有助於大語言模型獲取醫學領域知識,使行為模式符合人類偏好,並捕捉現實世界在線醫療對話的分佈。
數據集 |
原始來源 |
規模 |
重構的人工智能醫患對話 |
MedDialog |
400k |
重構的人工智能醫患對話 |
cMedQA2 |
20k |
知識圖譜問答對 |
CMeKG |
50k |
行為偏好數據集 |
手動選擇 |
2k |
其他 |
MedMCQA |
8k |
其他 |
MOSS - SFT |
33k |
其他 |
Alpaca - GPT4 - zh |
1k |
訓練
你可以使用與我們相同的數據模式來微調我們的模型。我們的訓練代碼基於Firefly,但採用了不同的數據模式和對話格式。我們僅提供全參數微調的代碼:
deepspeed --num_gpus={num_gpus} ./train/train.py --train_args_file ./train/train_args/sft.json
在嘗試開始訓練之前,請檢查sft.json
的設置。
如果你想使用其他訓練代碼微調我們的模型,請使用以下對話格式:
<\b><$user_token>content<$assistant_token>content<\s><$user_token>content ...
我們使用的user_token
和assistant_token
分別是195
和196
,與Baichuan-13b-Chat相同。
聲明
由於語言模型本身存在侷限性,我們不能保證該模型生成信息的準確性或可靠性。此模型僅供個人和學術團體進行研究和測試使用。我們敦促用戶對通過模型輸出獲得的任何信息或醫療建議進行批判性評估,強烈不建議盲目信任或遵循此類信息。對於因使用該模型而產生的任何問題、風險或不良後果,我們不承擔責任。
📄 許可證
本倉庫中的源代碼使用遵循Apache 2.0許可證。
引用
@misc{bao2023discmedllm,
title={DISC-MedLLM: Bridging General Large Language Models and Real-World Medical Consultation},
author={Zhijie Bao and Wei Chen and Shengze Xiao and Kuang Ren and Jiaao Wu and Cheng Zhong and Jiajie Peng and Xuanjing Huang and Zhongyu Wei},
year={2023},
eprint={2308.14346},
archivePrefix={arXiv},
primaryClass={cs.CL}
}