哈工大开源的本草[原名:华驼]: 基于中文医学知识的LLaMA微调模型,未来家庭医生的雏形

名称: /SCIR-HI/Huatuo-Llama-Med-Chinese

地址: https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese

fork: 285    star: 3.1k    开发语言: Python

项目简介: Repo for HuaTuo (华驼), Llama-7B tuned with Chinese medical knowledge. 华驼模型仓库,基于中文医学知识的 LLaMA 模型指令微调    

本草经过中文医学指令精调/指令微调(Instruct-tuning) 的 LLaMA-7B 模型,由哈尔滨工业大学社会计算与信息检索研究中心健康智能组完成。
项目组通过 医学知识图谱 GPT3.5 API 构建了中文医学指令数据集,并在此基础上对 LLaMA 进行了指令微调,提高了 LLaMA 在医疗领域的问答效果。

LLaMA 又被称为羊驼模型,全称是 Large Language Model Meta AI,是由 Meta 开源的大模型,其参数量从 70 亿到 650 亿不等。

在使用时,只需要输入身体状况的描述,本草 就能给出诊断病情参考信息。是否可以畅想下,未来足不出户在家就可以完成部分疾病的诊断,或者可以开发出线上诊断服务,减少去医院的次数?

哈工大开源的本草[原名:华驼]: 基于中文医学知识的 LLaMA 微调模型,未来家庭医生的雏形

01
环境配置
项目使用python 开发,建议版本为 3.9+。安装依赖

pip install -r requirements.txt

 

02
模型下载
对 LLaMA 进行指令微调的LoRA 权重文件提供了百度网盘和 Huggingface 两种下载途径

  基于医学知识库LoRA权重文件

百度网盘下载地址:

https://pan.baidu.com/s/1jih-pEr6jzEa6n2u6sUMOg?pwd=jjpf

HuggingFace 下载地址:

https://huggingface.co/thinksoso/lora-llama-med

  基于医学文献的LoRA权重文件

百度网盘下载地址:

https://pan.baidu.com/s/1jADypClR2bLyXItuFfSjPA?pwd=odsk#list/path=%2F

文件下载后,解压后的目录如下:

#1.对 LLaMA 进行指令微调的 LoRA 权重文件#基于医学知识库lora-llama-med/  - adapter_config.json   # LoRA 权重配置文件  - adapter_model.bin   # LoRA 权重文件
#基于医学文献lora-llama-med-literature/  - adapter_config.json   # LoRA 权重配置文件  - adapter_model.bin   # LoRA 权重文件
除了LLaMA 模型的权重文件之外,还提供了Alpaca 执行微调的权重文件

基于医学知识库:

https://pan.baidu.com/share/init?surl=6oxcjzXnXjDpL8SKihgNxw&pwd=scir

基于医学知识库和医学文献:

https://pan.baidu.com/s/1HDdK84ASHmzOFlkmypBIJw?pwd=scir

02
数据集
项目组采用了公开和自建的中文医学知识库方式,主要参考了cMeKG (https://github.com/king-yyf/CMeKG_tools),并利用 GPT3.5 接口围绕医学知识库构建问答数据,设置了多种 Prompt 形式来充分利用知识。
知识库围绕疾病、药物、检查指标等构建,字段包括并发症,危因素,组织学检查,临床症状,药物治疗,辅助治疗等。知识库示例如下:
{"中心词": "偏头痛", "相关疾病": ["妊娠合并偏头痛", "恶寒发热"], "相关症状": ["皮肤变硬", "头部及眼后部疼痛并能听到连续不断的隆隆声", "晨起头痛加重"], "所属科室": ["中西医结合科", "内科"], "发病部位": ["头部"]}

项目组提供了模型的训练数据集,共计八千余条,指令微调的训练集数据示例如下:

"问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?"
回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。"
此外,项目组还收集了 2023年关于肝癌疾病的中文医学文献,利用 GPT3.5 接口围绕医学文献多轮问答数据。在·./data_literature/liver_cancer.json中提供了其中的 1k 条训练样例。训练样本的示例如下:

哈工大开源的本草[原名:华驼]: 基于中文医学知识的 LLaMA 微调模型,未来家庭医生的雏形

03
Finetune
支持使用自己的数据集进行微调,只需要按照./data/llama_data.json 的格式构建自己的数据集,然后执行命令
bash ./scripts/finetune.sh
04
训练细节
项目组在一张 A100-SXM-80GB 显卡上进行了训练,训练总轮次 10 轮,耗时大约 2h17m。batch_size=128 的情况下显存占用了 40G 左右。也可以使用 3090/4090 显卡,显存在 24GB 以上时,可以获得较好的效果。
05
模型效果对比
哈工大开源的本草[原名:华驼]: 基于中文医学知识的 LLaMA 微调模型,未来家庭医生的雏形

从对比结果中可以看出,本草 的表现要明显优于另外两个模型。

 
更多的内容可以到GitHub 查看:
https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese

END

哈工大开源的本草[原名:华驼]: 基于中文医学知识的 LLaMA 微调模型,未来家庭医生的雏形
© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...