10. MedQA-ChatGLM - A Medical QA Model Fine-tuned on ChatGLM Using Multiple fine-tuning Method and Real Medical QA Data
项目简介
基于真实医疗对话数据在ChatGLM上进行LoRA、P-Tuning V2、Freeze、RLHF等微调,形成中文医疗问答对话大模型。
项目的调校过程如下图所示:
项目发端于澳门理工大学,2023年5月份发布于github上。
论文及开源地址
项目没有正式的论文或者技术报告,但在提供的demo网址中,给出了简要的项目说明,包括概要、模型训练和数据集等。
https://www.wangrs.co/MedQA-ChatGLM/#
项目开源地址:
https://github.com/WangRongsheng/MedQA-ChatGLM
作者同时给出了其它关联及参考的项目及数据集地址:
- https://github.com/zhangsheng93/cMedQA2
- https://github.com/zhangsheng93/cMedQA
- https://medical.chat-data.com/
- https://huggingface.co/datasets/shibing624/medical
- https://github.com/hiyouga/ChatGLM-Efficient-Tuning
- https://github.com/jackaduma/ChatGLM-LoRA-RLHF-PyTorch
- https://github.com/THUDM/ChatGLM-6B
数据集构建
本项目采用的数据集是cMedQA2(https://github.com/zhangsheng93/cMedQA2)以及前身cMedQA1。 该数据集构建于2018年,数据集是基于中文医疗社区的问答采集的(参见论文:Multi-Scale Attentive Interaction Networks for Chinese Medical Question Answer Selectionhttps://ieeexplore.ieee.org/abstract/document/8548603)。 cMedQA2数据集分布情况如下:
DataSet | #Ques | #Ans | Ave. #words per Question | Ave. #words per Answer | Ave. #characters per Question | Ave. #characters per Answer |
---|---|---|---|---|---|---|
Train | 100,000 | 188,490 | - | - | 48 | 101 |
Dev | 4,000 | 7,527 | - | - | 49 | 101 |
Test | 4,000 | 7,552 | - | - | 49 | 100 |
Total | 108,000 | 203,569 | - | - | 49 | 101 |
项目源码库给出了所使用的微调训练数据集的构建脚本。
模型训练及效果
项目给出了进行以下微调方法的训练脚本:
- LoRA
- Freeeze
- P-Tuning V2
并给出了进行多GPU分布式训练的脚本及说明。
同时,也给出了项目进行推理(infer)、基于Gradio的Web Demo验证版本。
项目的试验环境是Linux系统,A100 (1X, 80GB)上进行的,给出了三种微调后的模型权重及训练时长,从而为后续实验研究提供了借鉴。
微调方式 | 模型权重 | 训练时长 | 训练轮次 |
---|---|---|---|
LoRA | MedQA-ChatGLM-LoRA | 28h | 10 |
P-Tuning V2 | MedQA-ChatGLM-PTuningV2 | 27h | 10 |
Freeze | MedQA-ChatGLM-Freeze | 28h | 10 |
项目在线环境的演示效果:
https://www.wangrs.co/MedQA-ChatGLM/
开放程度
项目给出了开放数据集、构建方法、微调模型训练方法及推理演示脚本,以及试验环境参数,相对比较全面,同时也罗列了当时搜集的开源医疗大模型、基座模型及数据集,体现了作者开放博取交流共进的专业素养。
项目给出了在线的问答演示:
项目也指出相关资源仅供学术研究之用,严禁用于商业用途。使用涉及第三方代码的部分时,请严格遵循相应的开源协议。
项目罗列的其它参考项目列表如下:
项目 | 数据集 | 底座模型 |
---|---|---|
ChatMed | Consult 包含50w+在线问诊+ChatGPT回复,TCM中医药诊疗数据集未公开 | LLaMA-7B |
ChatDoctor | HealthCareMagic-100k 包含100k+真实患者与医生对话数据集,icliniq-10k 包含10k+患者与医生对话数据集,GenMedGPT-5k 包含5k+由GPT生成的医患对话数据集 | LLaMA-7B |
Med-ChatGLM | Huatuo-data 、Huatuo-liver-cancer | ChatGLM-6B |
Huatuo-Llama-Med-Chinese | Huatuo-data 、Huatuo-liver-cancer | LLaMA-7B |
DoctorGLM | CMD. 、MedDialog 、ChatDoctor项目数据集 | ChatGLM-6B |
MedicalGPT-zh | 数据未开源 | ChatGLM-6B |
Dr.LLaMA | LLaMA | |
Medical_NLP 2 | - | - |
CMCQA 3 | - | - |
QiZhenGPT | - | - |
LLM-Pretrain-FineTune | - | - |
PMC-LLaMA | - | LLaMA-7B |
BianQue | - | - |
medAlpaca | - | LLaMA-7B |
MedicalGPT | - | - |
LLM-Pretrain-FineTune | - | - |
ShenNong-TCM-LLM | - | - |
Sunsimiao | - | - |