哈工大牛了!开源中医大模型,中医走向世界!

这个太牛了!哈工大有高人,难怪美国要禁止哈工大,水平太高!

开源医疗大模型,华佗!本草(原名:华驼)模型仓库,基于中文医学知识的大语言模型指令微调

源代码

http://www.gitpp.com/goldenbear/huatuo-llama-med-chinese

本草(原名:华驼)模型仓库,基于中文医学知识的大语言模型指令微调

哈尔滨工业大学社会计算与信息检索研究中心健康智能组

IMG_256

ChatGPT的出现确实代表了自然语言处理领域的一次革命性进展,它展示了深度学习技术在处理自然语言方面的强大能力。在这个背景下,哈尔滨工业大学针对中医领域的语言知识发布了“本草”大模型(原名华佗大模型),这一举措具有深远的意义。

首先,“本草”大模型是专门针对中医领域构建的大型语言模型。中医作为中国传统医学的瑰宝,其理论知识和实践经验非常丰富,但同时也包含着大量专业术语和复杂的理论体系。通过深度学习技术对中医文献和知识进行训练和学习,“本草”大模型能够更深入地理解和解析中医语言,从而为中医领域的研究和实践提供强有力的支持。

其次,“本草”大模型的出现有助于推动中医领域的智能化和信息化进程。借助“本草”大模型,中医工作者可以更方便地进行知识检索、病症分析和治疗方案推荐等工作,从而提高工作效率和准确性。同时,这也为中医领域的教学和科普工作提供了新的手段,使得中医知识能够更加易于传播和被理解。

此外,“本草”大模型还具有广阔的应用前景。随着技术的不断发展,“本草”大模型可以进一步与其他医疗信息系统进行集成,为中医临床决策提供辅助支持。同时,它也可以作为智能问答系统的基础,为患者提供更加便捷和高效的医疗咨询服务。

总的来说,“本草”大模型的意义在于它将深度学习技术应用于中医领域,为中医语言的理解和处理提供了新的工具和方法。这不仅有助于推动中医领域的技术进步和智能化发展,也为中医知识的传承和创新提供了新的可能。

本项目参考了以下开源项目,在此对相关项目和研究开发人员表示感谢。

活字: https://github.com/HIT-SCIR/huozi

Facebook LLaMA: https://github.com/facebookresearch/llama

Stanford Alpaca: https://github.com/tatsu-lab/stanford_alpaca

alpaca-lora by @tloen: https://github.com/tloen/alpaca-lora

CMeKG https://github.com/king-yyf/CMeKG_tools

文心一言 https://yiyan.baidu.com/welcome 本项目的logo由文心一言自动生成

A Quick Start

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

pip install -r requirements.txt

针对所有基模型,我们采用了半精度基模型LoRA微调的方式进行指令微调训练,以在计算资源与模型性能之间进行权衡。

基模型

活字1.0,哈尔滨工业大学基于Bloom-7B二次开发的中文通用问答模型

Bloom-7B

Alpaca-Chinese-7B,基于LLaMA二次开发的中文问答模型

LLaMA-7B

LoRA模型权重下载

LoRA权重可以通过百度网盘或Hugging Face下载:

🔥对活字进行指令微调的LoRA权重文件

基于医学知识库以及医学问答数据集 百度网盘

对Bloom进行指令微调的LoRA权重文件

基于医学知识库以及医学问答数据集 百度网盘和Hugging Face

对Alpaca进行指令微调的LoRA权重文件

基于医学知识库 百度网盘和Hugging Face

基于医学知识库和医学文献 百度网盘和Hugging Face

对LLaMA进行指令微调的LoRA权重文件

基于医学知识库 百度网盘和Hugging Face

基于医学文献 百度网盘和Hugging Face

下载LoRA权重并解压,解压后的格式如下:

**lora-folder-name**/

– adapter_config.json   # LoRA权重配置文件

– adapter_model.bin   # LoRA权重文件

基于相同的数据,我们还训练了医疗版本的ChatGLM模型: ChatGLM-6B-Med

Infer

我们在./data/infer.json中提供了一些测试用例,可以替换成其它的数据集,请注意保持格式一致

运行infer脚本

#基于医学知识库

bash ./scripts/infer.sh

#基于医学文献

#单轮

bash ./scripts/infer-literature-single.sh

#多轮

bash ./scripts/infer-literature-multi.sh

infer.sh脚本代码如下,请将下列代码中基模型base_model、lora权重lora_weights以及测试数据集路径instruct_dir进行替换后运行

python infer.py \

–base_model ‘BASE_MODEL_PATH’ \

–lora_weights ‘LORA_WEIGHTS_PATH’ \

–use_lora True \

–instruct_dir ‘INFER_DATA_PATH’ \

–prompt_template ‘TEMPLATE_PATH’

提示模板的选择与模型相关,详情如下:

活字&Bloom LLaMA&Alpaca
templates/bloom_deploy.json 基于医学知识库templates/med_template.json

基于医学文献templates/literature_template.json

也可参考./scripts/test.sh

方法

基模型在医学问答场景下效果有限,指令微调是一种高效的使基模型拥有回答人类问题能力的方法。

数据集构建

医学知识库

我们采用了公开和自建的中文医学知识库,主要参考了cMeKG。

医学知识库围绕疾病、药物、检查指标等构建,字段包括并发症,高危因素,组织学检查,临床症状,药物治疗,辅助治疗等。知识库示例如下:

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

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

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

“问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?”

回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。”

我们提供了模型的训练数据集,共计八千余条,需要注意的是,虽然训练集的构建融入了知识,但是仍存在错误和不完善的地方,后续我们会利用更好的策略迭代更新数据集。

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

医学文献

此外,我们收集了2023年关于肝癌疾病的中文医学文献,利用GPT3.5接口围绕医学文献的【结论】构建多轮问答数据。在·./data_literature/liver_cancer.json中我们提供了其中的1k条训练样例。目前,训练样本的质量仍然有限,在后续我们会进一步迭代数据,会以公开数据集的形式对外进行发布。训练样本的示例如下:

IMG_257

目前,我们只开放针对”肝癌”单个疾病训练的模型参数。在未来,我们计划发布融入文献结论的医学对话数据集,并且会针对“肝胆胰”相关16种疾病训练模型。

相关细节可参考我们的文章:《探索大模型从医学文献中交互式知识的获取》

Finetune

如果想用自己的数据集微调大语言模型,请按照./data/llama_data.json中的格式构建自己的数据集

运行finetune脚本

bash ./scripts/finetune.sh

训练细节

计算资源需求参考

基于LLaMA模型的指令微调过程中,我们在一张A100-SXM-80GB显卡上进行了训练,训练总轮次10轮,耗时约2h17m。batch_size=128的情况下显存占用在40G左右。预计3090/4090显卡(24GB显存)以上显卡可以较好支持,根据显存大小来调整batch_size。

实验过程

超参设置和实验过程可以参考wandb的链接:

https://wandb.ai/thinksoso/llama_med/runs/a5wgcnzt/overview?workspace=user-thinksoso

IMG_258

免责声明

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

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容