ChatGLM-Med: 基于中文医学知识的ChatGLM模型微调

工具软件1年前 (2023)发布 gpts
62 0

本项目开源了经过中文医学指令精调/指令微调(Instruct-tuning) 的ChatGLM-6B模型。我们通过医学知识图谱和GPT3.5 API构建了中文医学指令数据集,并在此基础上对ChatGLM-6B进行了指令微调,提高了ChatGLM在医疗领域的问答效果。

基于相同的数据,我们还训练了医疗版本的LLaMA模型:华驼

快速开始

Update: 由于chatglm更新很快,推荐使用chatglm官方的微调方案:https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md

首先安装依赖包,python环境建议3.9+

pip install -r requirements.txt

交互式测试

在安装好环境后,即可进行交互式测试:

python infer.py

数据集构建

我们采用了公开和自建的中文医学知识库,主要参考了cMeKG。医学知识库围绕疾病、药物、检查指标等构建,字段包括并发症,高危因素,组织学检查,临床症状,药物治疗,辅助治疗等。知识库示例如下:

{"中心词": "偏头痛", "相关疾病": ["妊娠合并偏头痛", "恶寒发热"], "相关症状": ["皮肤变硬", "头部及眼后部疼痛并能听到连续不断的隆隆声", "晨起头痛加重"], "所属科室": ["中西医结合科", "内科"], "发病部位": ["头部"]}

我们利用GPT3.5接口围绕医学知识库构建问答数据,设置了多种Prompt形式来充分利用知识。

指令微调的训练集数据示例如下:

"问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?"
回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。"

指令微调数据集质量仍有限,后续将进行不断迭代,同时医学知识库和数据集构建代码还在整理中,整理完成将会发布。

Instruct-tuning 指令微调

  • 下载ChatGLM-6B原始参数

请参照https://github.com/THUDM/ChatGLM-6B,并将下载的模型放入model目录下。

  • 指令微调

    sh scripts/sft_medchat.sh

请根据实际情况调整batch size等超参,默认为我们使用的参数。

  • 新数据指令微调

如果想用自己的数据集继续指令微调/指令精调(Instruct-tuning)ChatGLM,可以构建与data目录中训练集类似的文件格式进行。或参照ChatGLM-Instruct-Tuning仓库。

  • 计算资源需求

我们在一张A100-SXM-80GB显卡上进行了训练,根据经验,训练显存建议选择32G及以上。

模型效果对比

测试输入 ChatGLM-6B输出 ChatGLM-6B-Med输出
谷氨酰转肽酶水平会因吸毒或饮酒而升高吗? 吸毒和饮酒都会对身体的健康产生负面影响,包括对肝脏和心脏的影响。
饮酒可能导致肝脏损伤和心脏疾病,因为酒精会破坏肝脏和心脏的功能。长期饮酒还可能导致脂肪肝、肝硬化、心脏病等健康问题。
吸毒会对肝脏和心脏产生严重的损伤,导致肝脏纤维化、肝硬化、心脏血管疾病等。吸毒还可能导致精神障碍、社会退缩、暴力和犯罪等问题。
因此,无论是饮酒还是吸毒,都会对健康产生负面影响,应该避免过度使用。
谷氨酰转肽酶升高的原因有很多,包括感染、消化性溃疡、感染、药物副作用等,而吸毒或饮酒等不良行为可能会导致谷氨酰转肽酶的升高。
小李最近出现了心动过速的症状,伴有轻度胸痛。体检发现P-R间期延长,伴有T波低平和ST段异常 非常抱歉,我不理解您的问题。请提供更多背景信息或上下文,以便我更好地回答您的问题。谢谢! 小李出现了心动过速的症状,并且伴有胸痛,需要考虑是否有心肌病、冠状动脉粥样硬化等心血管疾病,建议进行心电图检查、血液检查、心脏超声检查等
…… …… ……

项目链接

https://github.com/SCIR-HI/Med-ChatGLM

© 版权声明

相关文章