Home

Awesome

启真医学大模型 & MedCopilot

QiZhenGPT

QiZhenGPT: An Open Source Chinese Medical Large Language Model

本项目利用启真医学知识库构建的中文医学指令数据集,并基于此在Chinese-LLaMA-Plus-7BCaMA-13BChatGLM-6B模型上进行指令精调,大幅提高了模型在中文医疗场景下效果,首先针对药品知识问答发布了评测数据集,后续计划优化疾病、手术、检验等方面的问答效果,并针对医患问答、病历自动生成等应用展开拓展。

MedCopilot

MedCopilot是一款基于启真医学大模型启真医学知识库医疗临床数据研发的智慧医疗助手,旨在为患者、医生和医院管理提供全面的智慧支持。通过整合先进的人工智能技术、丰富的医学知识和临床数据,MedCopilot将成为医疗行业的新质生产力。

MedCopilot目前已在浙江大学第二附属医院正式上线使用

<img src="./pics/medcopilot1.jpg" alt="image-20230525165523821" style="zoom: 53%;" />

更新记录

更新

[2024/08/09] 更新MedCopilot相关信息;

[2023/06/27] 开源启真医学大模型体验版(QiZhen-CaMA-13B-Checkpoint-12400),旨在提高医学领域疾病、药品知识问答的准确性;

[2023/06/09] 开源启真医学大模型体验版(QiZhen-CaMA-13B-Checkpoint-6000),旨在提高医学领域药品知识问答的准确性;

[2023/06/02] 开源启真医学大模型体验版(QiZhen-CaMA-13B-Checkpoint-3600),旨在提高医学领域药品知识问答的准确性;

[2023/05/30] 开源20k训练数据(该数据集来自于启真医学知识库收集整理的真实医患知识问答数据以及在启真医学知识库的药品文本知识基础上,通过对半结构化数据设置特定的问题模板构造的指令数据);

[2023/05/30] 开源启真医学大模型体验版(QiZhen-ChatGLM-6B- Checkpoint-2500),旨在提高医学领域药品知识问答的准确性;

[2023/05/25] 开源药品适应症评测数据集;

[2023/05/24] 开源启真医学大模型体验版(QiZhen-Chinese-LLaMA-7B- Checkpoint-6000),旨在提高医学领域药品知识问答的准确性;

[2023/05/23] 开源启真医学大模型体验版(QiZhen-Chinese-LLaMA-7B- Checkpoint-3500),旨在提高医学领域药品知识问答的准确性;

MedCopilot功能细节

1. 功能清单助手

MedCopilot与 HIS系统和电子病历系统深度融合,利用启真医学大模型分析各个系统数据,自动汇总医生当日重要的工作事项。

  1. 入院患者统计与分析;
  2. 手术情况统计与分析;
  3. 会诊情况统计与分析;
  4. 文书书写情况统计与分析;
  5. 重点患者统计与分析;

2. 辅助诊疗助手

MedCopilot结合启真医学知识库和患者临床数据,提供个性化诊断和治疗建议,帮助医生做出更准确的医疗决策。

3. 医疗质量助手

MedCopilot依据国家医疗质量政策,实时监控医疗过程数据,及时发现和纠正潜在问题,提升整体医疗质量。

4. 病历文书助手

MedCopilot综合分析患者诊疗数据,自动生成符合规范的病历文书,减少医生的重复性工作,提高工作效率。

5. 其他功能

  1. 科研助手:论文解读
  2. 健康助手:报告解读、慢病管理

QizhenGPT细节

指令数据集构建

目前大多数开源的ChatLLM项目使用的是其他模型(如:ChatGPT)生成的指令数据,其不可避免的存在数据幻想的问题,数据幻想问题将严重影响LLM在实际场景中的应用和拓展。因此,本项目为了提高医疗领域的知识问答的准确性,使用如下方式构造指令数据集:

  1. 启真医学知识库收录的真实医患知识问答数据(疾病、药品、检查检验、手术、预后、食物等),共计560K条指令数据;
  2. 药品知识数据:在启真医学知识库的药品文本知识基础上,通过对半结构化数据设置特定的问题模板(如:“{药品}的适应病症是什么?”)构造指令数据集,共计180K条指令数据;
  3. 疾病知识数据:在启真医学知识库的疾病文本知识基础上,通过对半结构化数据设置特定的问题模板(如:“{疾病}的典型症状是什么?”)构造指令数据集,共计298K条指令数据;

训练细节

  1. QiZhen-Chinese-LLaMA-7B- Checkpoint-3500:本项目基于Chinese-LLaMA-Plus-7B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第3500 steps(训练23h50min) ;
  2. QiZhen-Chinese-LLaMA-7B- Checkpoint-6000:本项目基于Chinese-LLaMA-Plus-7B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第6000 steps(训练40h56min);
  3. QiZhen-ChatGLM-6B- Checkpoint-2500:本项目基于ChatGLM-6B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第2500 steps(训练16h20min);
  4. QiZhen-CaMA-13B-Checkpoint-3600:本项目基于CaMA-13B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第3600 steps(训练37h37min)。
  5. QiZhen-CaMA-13B-Checkpoint-6000:本项目基于CaMA-13B进行指令微调,该项目在7张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第6000 steps(训练54h30min)。
  6. QiZhen-CaMA-13B-Checkpoint-12400:本项目基于CaMA-13B进行指令微调,该项目在6张A800(80G)上进行训练,本次开源的是LoRA权重为训练过程中的第12400 steps(训练114h46min)。

模型下载

模型指令数据集Base ModelLoRA下载
QiZhen-Chinese-LLaMA-7B- Checkpoint-3500740KChinese-LLaMA-Plus-7B百度网盘
QiZhen-Chinese-LLaMA-7B- Checkpoint-6000740KChinese-LLaMA-Plus-7B百度网盘
QiZhen-ChatGLM-6B- Checkpoint-2500740KChatGLM-6B百度网盘
QiZhen-CaMA-13B-Checkpoint-3600740KCaMA百度网盘
QiZhen-CaMA-13B-Checkpoint-6000740KCaMA百度网盘
QiZhen-CaMA-13B-Checkpoint-124001038KCaMA百度网盘

A Quick Start

QiZhen-Chinese-LLaMA-7B

  1. 环境安装;
pip install -r requirements.txt
  1. 获取Chinese-LLaMA-Plus-7B,详情见这里

  2. 下载LoRA,将模型下载并放在lora目录下;

  3. 执行scripts/merge_llama_plus.sh 脚本;

sh scripts/merge_llama_plus.sh
  1. 修改gradio_chinese-llama_demo.py里的模型位置参数;
  2. 启动demo;
python gradio_chinese-llama_demo.py

QiZhen-ChatGLM-6B

  1. 环境安装;
pip install -r requirements.txt
  1. 获取ChatGLM-6B,详情见这里

  2. 下载LoRA,将模型下载并放在lora目录下;

  3. 修改gradio_chatglm_demo.py里的模型位置参数;

  4. 启动demo;

python gradio_chatglm_demo.py

QiZhen-CaMA-13B-Checkpoint-3600

  1. 环境安装;
pip install -r requirements.txt
  1. 获取CaMA,详情见这里

  2. 下载LoRA,将模型下载并放在lora目录下;

  3. 修改gradio_cama_demo.py里的模型位置参数;

  4. 启动demo;

python gradio_cama_demo.py

预研

启真医学大模型坚持“数据+知识双轮驱动”的技术路线,通过大模型技术和医学知识库的紧密结合,融合医疗应用场景中的实际需求,从医学数据治理、医学推理、医患问答、病历自动生成、临床决策辅助支持系统等方面开展迭代研发,助力大模型技术在医疗行业的落地和应用实践。下图是“启真医学知识库辅助大模型生成答案”的案例,该项技术在测试后择机发布。

<img src="./pics/llm_kg1.jpg" alt="image-20230525165523821" style="zoom: 33%;" /> <img src="./pics/llm_kg2.jpg" alt="image-20230525165523821" style="zoom: 33%;" />

模型效果对比

测试1

测试2

测试3

测试4

实验评测

药品适应症评测

评测标准:随机选择94种药品数据,按照“{药品}的适应病症”组成指令,分别让ChatGPT(gpt3.5)、ChatGLM、QiZhe做出回答,然后请专业的医学人员对三个模型的答案该药品的药品说明书进行比对评分,以下是三个评分标准:

模型标准1标准2标准3
ChatGLM39.36%23.16%14.74%
ChatGPT47.87%30.85%15.96%
QiZhen-Chinese-LLaMA-7B-Checkpoint-350077.66%55.32%40.00%
QiZhen-Chinese-LLaMA-7B-Checkpoint-600090.43%73.40%65.96%
QiZhen-CaMA-13B-Checkpoint-360082.29%60.62%47.92%
QiZhen-CaMA-13B-Checkpoint-600090.43%80.85%72.34%
QiZhen-CaMA-13B-Checkpoint-1240091.49%82.98%72.34%

备注:

疾病评测

评测标准:随机选择100种疾病数据,按照“哪些药物能治疗{疾病}?”、“{疾病}需要做哪些检查?”、“{疾病}的临床表现有哪些?”组成“治疗药物”、“检查检验”、“临床表现”指令,分别让ChatGPT(gpt3.5)、ChatGLM、QiZhen0做出回答,然后请专业的医学人员对三个模型的答案启真医学知识库疾病知识进行比对评分,以下是三个评分标准:

模型临床表现标准1临床表现标准2临床表现标准3检查检验标准1检查检验标准2检查检验标准3治疗药物标准1治疗药物标准2治疗药物标准3
chatglm90.00%6.00%3.00%93.00%11.00%6.00%60.00%10.00%5.00%
chatgpt94.00%11.00%4.00%97.00%8.00%5.00%62.00%11.00%4.00%
QiZhen-CaMA-13B-Checkpoint-1240095.00%15.00%7.00%97.00%20.00%7.00%75.00%36.00%23.00%

致谢

此外,本项目基于以下开源项目二次开发,在此对相关项目和研究开发人员表示感谢。

License及免责声明

License

详见LICENSE

免责声明

本项目相关资源仅供学术研究之用,严禁用于商业用途。 使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目不对其准确性作出保证。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

引用说明

Technical paper is coming soon.