跳到主要内容医疗大模型:数据与知识双轮驱动的医学推理与临床决策支持 | 极客日志PythonAI算法
医疗大模型:数据与知识双轮驱动的医学推理与临床决策支持
综述由AI生成启真医学大模型项目,采用数据与知识双轮驱动的技术路线,通过构建包含真实医患问答、药品及疾病知识的指令数据集进行指令微调。文章详细阐述了模型训练细节、快速使用方法及效果对比。评测结果显示,QiZhen 系列模型在药品适应症、疾病临床表现等任务上,相比 ChatGLM 和 ChatGPT 在准确率上有显著提升,有效减少了医疗幻觉问题,展示了大模型在医疗推理、医患问答及临床决策支持方面的应用潜力。
性能调优18 浏览 医疗大模型:数据与知识双轮驱动实现医学推理、医患问答、病历自动生成与临床决策
1. 指令数据集构建
目前大多数开源的 ChatLLM 项目使用的是其他模型(如 ChatGPT)生成的指令数据,其不可避免的存在数据幻想的问题,数据幻想问题将严重影响 LLM 在实际场景中的应用和拓展。因此,本项目为了提高医疗领域的知识问答的准确性,使用如下方式构造指令数据集:
- 启真医学知识库收录的真实医患知识问答数据(疾病、药品、检查检验、手术、预后、食物等),共计
560K 条指令数据;
- 药品知识数据:在启真医学知识库的药品文本知识基础上,通过对半结构化数据设置特定的问题模板(如:"{药品}的适应病症是什么?")构造指令数据集,共计
180K 条指令数据;
- 疾病知识数据:在启真医学知识库的疾病文本知识基础上,通过对半结构化数据设置特定的问题模板(如:"{疾病}的典型症状是什么?")构造指令数据集,共计
298K 条指令数据。
1.1 训练细节
- QiZhen-Chinese-LLaMA-7B-Checkpoint-3500:本项目基于进行指令微调,该项目在 7 张 A800(80G) 上进行训练,本次开源的是 LoRA 权重为训练过程中的第
3500 steps(训练 23h50min);
- QiZhen-Chinese-LLaMA-7B-Checkpoint-6000:本项目基于进行指令微调,该项目在 7 张 A800(80G) 上进行训练,本次开源的是 LoRA 权重为训练过程中的第
6000 steps(训练 40h56min);
- QiZhen-ChatGLM-6B-Checkpoint-2500:本项目基于进行指令微调,该项目在 7 张 A800(80G) 上进行训练,本次开源的是 LoRA 权重为训练过程中的第
2500 steps(训练 16h20min);
- QiZhen-CaMA-13B-Checkpoint-3600:本项目基于进行指令微调,该项目在 7 张 A800(80G) 上进行训练,本次开源的是 LoRA 权重为训练过程中的第
3600 steps(训练 37h37min);
- QiZhen-CaMA-13B-Checkpoint-6000:本项目基于进行指令微调,该项目在 7 张 A800(80G) 上进行训练,本次开源的是 LoRA 权重为训练过程中的第
6000 steps(训练 54h30min);
- QiZhen-CaMA-13B-Checkpoint-12400:本项目基于进行指令微调,该项目在 6 张 A800(80G) 上进行训练,本次开源的是 LoRA 权重为训练过程中的第
12400 steps(训练 114h46min)。
1.2 模型下载
| 模型 | 指令数据集 | Base Model | LoRA 下载 |
|---|
| QiZhen-Chinese-LLaMA-7B-Checkpoint-3500 | 740K | Chinese-LLaMA-Plus-7B | - |
| QiZhen-Chinese-LLaMA-7B-Checkpoint-6000 | 740K | Chinese-LLaMA-Plus-7B | - |
| QiZhen-ChatGLM-6B-Checkpoint-2500 | 740K | ChatGLM-6B | - |
| QiZhen-CaMA-13B-Checkpoint-3600 | 740K | CaMA | - |
| QiZhen-CaMA-13B-Checkpoint-6000 | 740K | CaMA | - |
| QiZhen-CaMA-13B-Checkpoint-12400 | 1038K | CaMA | - |
2. 模型快速使用
2.1 QiZhen-Chinese-LLaMA-7B
pip install -r requirements.txt
获取 Chinese-LLaMA-Plus-7B,详情见官方文档;
下载 LoRA,将模型下载并放在 lora 目录下;
执行 scripts/merge_llama_plus.sh 脚本:
sh scripts/merge_llama_plus.sh
- 修改
gradio_chinese_llama_demo.py 里的模型位置参数;
- 启动 demo:
python gradio_chinese_llama_demo.py
2.2 QiZhen-ChatGLM-6B
pip install -r requirements.txt
获取 ChatGLM-6B,详情见官方文档;
下载 LoRA,将模型下载并放在 lora 目录下;
修改 gradio_chatglm_demo.py 里的模型位置参数;
启动 demo:
python gradio_chatglm_demo.py
2.3 QiZhen-CaMA-13B-Checkpoint-3600
pip install -r requirements.txt
获取 CaMA,详情见官方文档;
下载 LoRA,将模型下载并放在 lora 目录下;
修改 gradio_cama_demo.py 里的模型位置参数;
启动 demo:
python gradio_cama_demo.py
3. 效果展示
启真医学大模型坚持'数据 + 知识双轮驱动'的技术路线,通过大模型技术和医学知识库的紧密结合,融合医疗应用场景中的实际需求,从医学数据治理、医学推理、医患问答、病历自动生成、临床决策辅助支持系统等方面开展迭代研发,助力大模型技术在医疗行业的落地和应用实践。
下图是'启真医学知识库辅助大模型生成答案'的案例,该项技术在测试后择机发布。
3.1 模型效果对比
测试 1
ChatGLM: 非布司他是一种用于治疗哮喘的新药,属于β2受体激动剂。它已经被批准用于治疗以下疾病:1. 哮喘...(内容略,存在事实错误)
ChatGPT: 非布司他(Fubuxitam)是一种药物...根据我了解到的信息,非布司他是一种血小板凝集抑制剂...(内容略,存在事实错误)
QiZhen-Chinese-LLaMA-7B-Checkpoint-3500: 本品用于痛风患者高尿酸血症的长期治疗。本品为处方药,必须由医生根据病情开处方拿药,并遵医嘱用药,包括用法、用量、用药时间等。不得擅自按照药物说明书自行用药。
QiZhen-CaMA-13B-Checkpoint-3600: 本品用于痛风患者高尿酸血症的长期治疗。
测试 2
ChatGLM: 氟奋乃静癸酸酯注射液是一种药物,适应症如下:1. 用于治疗抑郁症...(内容略,存在事实错误)
ChatGPT: 氟奋乃静癸酸酯注射液(Flumazenil Injection)是一种用于治疗苯二氮䓬类药物过量...(内容略,存在事实错误)
QiZhen-Chinese-LLaMA-7B-Checkpoint-3500: 本品用于精神分裂症、躁狂症等。也可用于肌紧张性疼痛。
QiZhen-CaMA-13B-Checkpoint-3600: 本品用于精神分裂症的各种表现。
测试 3
ChatGLM: 藏青果茶是一种天然的饮品...(内容略,存在夸大)
ChatGPT: 藏青果茶是一种以藏青果为主要原料制作的茶饮品...(内容略,存在推测)
QiZhen-Chinese-LLaMA-7B-Checkpoint-3500: 清热解毒、生津止渴。可缓解发热、口渴、咽喉肿痛等症状。
QiZhen-CaMA-13B-Checkpoint-3600: 藏青果茶具有清热利咽、消肿止痛的功效。藏青果茶可以用于缓解咽喉红肿疼痛、咽干灼热、声音嘶哑等症状。
测试 4
ChatGLM: 赖特综合征 (赖特综合征 I 型) 是一种先天性心脏杂音...(内容略,存在严重事实错误)
ChatGPT: 赖特综合征是指胃食管反流病(GERD)引起的...(内容略,存在严重事实错误)
QiZhen-CaMA-13B-Checkpoint-12400: 赖特综合征的主要临床表现为急性或慢性关节炎、尿道炎、结膜炎及皮肤黏膜病变等。赖特综合征是一种病因不明的慢性非特异性炎症性疾病,属于血清阴性脊柱关节炎的一种,其特征是反复发作性、游走性、不对称性的多关节炎,可伴有尿道炎、结膜炎、皮肤黏膜及眼部病变。
- 关节炎:最常见,任何关节均可受累,以膝、踝和足部小关节多见,局部可有红、肿、热、痛和功能障碍。
- 尿道炎:表现为尿频、尿急、尿痛、尿道口红肿、尿道分泌物增多等。
- 结膜炎:表现为单侧或双侧结膜炎症,可有结膜充血、水肿、眼睑浮肿、分泌物增多等。
- 皮肤黏膜病变:表现为皮肤脂溢性红斑、生殖器红斑、脓疱疹、皮肤脓疱疹、皮肤溃疡。
3.2 实验评测
3.2.1 药品适应症评测
评测标准:随机选择 94 种药品数据,按照'{药品}的适应病症'组成指令,分别让 ChatGPT(gpt3.5)、ChatGLM、QiZhen 做出回答,然后请专业的医学人员对三个模型的答案与该药品的药品说明书进行比对评分,以下是三个评分标准:
- 标准 1:模型答案命中一个适应症则回答正确;
- 标准 2:模型答案命中的适应症数目大于等于药品说明书适应症数目的 1/2 则回答正确;
- 标准 3:模型答案命中的适应症数目大于等于药品说明书适应症数目的 2/3 则回答正确。
| 模型 | 标准 1 | 标准 2 | 标准 3 |
|---|
| ChatGLM | 39.36% | 23.16% | 14.74% |
| ChatGPT | 47.87% | 30.85% | 15.96% |
| QiZhen-Chinese-LLaMA-7B-Checkpoint-3500 | 77.66% | 55.32% | 40.00% |
| QiZhen-Chinese-LLaMA-7B-Checkpoint-6000 | 90.43% | 73.40% | 65.96% |
| QiZhen-CaMA-13B-Checkpoint-3600 | 82.29% | 60.62% | 47.92% |
| QiZhen-CaMA-13B-Checkpoint-6000 | 90.43% | 80.85% | 72.34% |
| QiZhen-CaMA-13B-Checkpoint-12400 | 91.49% | 82.98% | 72.34% |
- 若 QiZhen-Chinese-LLaMA-7B-Checkpoint-6000:回复有'复读现象'(我们正在持续修复这个问题),请将
repetition_penalty 参数调大;
- QiZhen-ChatGLM-6B-Checkpoint-2500 没有进行评测,因为我们在实验过程中发现 ChatGLM 在指令微调的过程中不能很好的满足医疗知识事实问答的要求:当要求其回复比较精准时,模型'复读'的现象比较严重;在解决'复读'的问题时,其回答的事实性很差(数据幻想严重);
- QiZhen-CaMA-13B-Checkpoint-3600:该版本回复内容基本没有'复读'现象;
- QiZhen-CaMA-13B-Checkpoint-6000:相较于
QiZhen-CaMA-13B-Checkpoint-3600 我们增大了 LoRA 的参数量,效果得到了有效的提升。
3.2.2 疾病评测
评测标准:随机选择 100 种疾病数据,按照'哪些药物能治疗{疾病}?'、'{疾病}需要做哪些检查?'、'{疾病}的临床表现有哪些?'组成'治疗药物'、'检查检验'、'临床表现'指令,分别让 ChatGPT(gpt3.5)、ChatGLM、QiZhen0 做出回答,然后请专业的医学人员对三个模型的答案与启真医学知识库疾病知识进行比对评分,以下是三个评分标准:
- 标准 1:模型答案命中一个'治疗药物'('检查检验'、'临床表现')则回答正确;
- 标准 2:模型答案命中的'治疗药物'('检查检验'、'临床表现')数目大于等于药品说明书适应症数目的 1/2 则回答正确;
- 标准 3:模型答案命中的'治疗药物'('检查检验'、'临床表现')数目大于等于药品说明书适应症数目的 2/3 则回答正确。
| 模型 | 临床表现标准 1 | 临床表现标准 2 | 临床表现标准 3 | 检查检验标准 1 | 检查检验标准 2 | 检查检验标准 3 | 治疗药物标准 1 | 治疗药物标准 2 | 治疗药物标准 3 |
|---|
| chatglm | 90.00% | 6.00% | 3.00% | 93.00% | 11.00% | 6.00% | 60.00% | 10.00% | 5.00% |
| chatgpt | 94.00% | 11.00% | 4.00% | 97.00% | 8.00% | 5.00% | 62.00% | 11.00% | 4.00% |
| QiZhen-CaMA-13B-Checkpoint-12400 | 95.00% | 15.00% | 7.00% | 97.00% | 20.00% | 7.00% | 75.00% | 36.00% | 23.00% |
4. 总结与展望
本次医疗大模型项目验证了'数据 + 知识双轮驱动'技术路线的有效性。通过引入启真医学知识库的结构化与非结构化数据,显著降低了通用大模型在医疗垂直领域的幻觉问题。评测数据显示,QiZhen 系列模型在药品适应症识别、疾病临床表现描述及检查建议方面,相比主流开源模型(ChatGLM、ChatGPT)在关键指标上均有显著提升,特别是在复杂医疗知识的准确召回率上表现优异。
未来,随着更多高质量医疗语料的注入以及模型架构的优化,该技术路线有望进一步拓展至电子病历自动生成、临床决策支持系统(CDSS)深度集成等场景,为医疗服务提供更具可信度的智能化辅助工具。同时,针对模型推理速度与显存占用的优化也将是后续工程落地的重点方向。
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- 随机西班牙地址生成器
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
- Gemini 图片去水印
基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online