9. ShenNong-TCM-LLM - 神农中医药大模型
项目简介
项目是与ChatMed相伴而生的,号称首个中医药大模型。
项目旨在推动LLM在中医药领域的发展和落地,提升LLM的在中医药方面的知识与回答医学咨询的能力,同时推动大模型赋能中医药传承。
项目具有以下特点
- 模型的训练数据为中医药指令数据集ShenNong_TCM_Dataset。
- ChatMed_TCM_Dataset以项目组开源的中医药知识图谱为基础;
- 采用以实体为中心的自指令方法entity-centric self-instruct(https://github.com/michael-wzhu/ShenNong-TCM-LLM/blob/main/src/entity_centric_self_instruct.py), 调用ChatGPT得到11w+的围绕中医药的指令数据;
- ShenNong-TCM模型也是以LlaMA为底座,采用LoRA (rank=16)微调得到。微调代码与ChatMed代码库相同.
项目2023年6月底开源了中医药指令数据集ShenNong_TCM_Dataset的v0.2版本,数据量达到11w+; 同时上传ShenNong-TCM模型checkpoint至model.
论文及源码
源码地址
https://github.com/michael-wzhu/ShenNong-TCM-LLM
数据集构建
数据集构建已在项目简介中做了介绍,不再重述。
模型训练
采用中医药指令数据集ShenNong_TCM_Dataset进行大模型微调,可完全参考ChatMed代码库的代码和训练脚本;
垂直领域相较于通用领域的不同之处在于其一般是知识密集性的,而这些知识一般是围绕一些实体的, 因此项目提出了实体为中心的自指令方法entity-centric self-instruct
https://github.com/michael-wzhu/ShenNong-TCM-LLM/blob/main/src/entity_centric_self_instruct.py
即围绕垂直领域中的核心实体,以及各种不同的意图场景,进行指令的生成。项目提供了如何基于自己本地的知识库/知识图谱,进行entity-centric self-instruct的具体运行脚本及输入说明 。
其中提到了中医TCM-neo4j 知识图谱开源库:
https://github.com/ywjawmw/TCM_KG
模型效果
项目通过使用中医药指令数据集ShenNong_TCM_Dataset对中文LlaMA-7b模型进行LoRA微调,可使得该模型在回复中医药相关问题方面获得明显的提升。下面展示了几个典型中医药问题下不同模型的回复。更多测试样例见(./src/ShenNong-TCM-LLM - test examples.xls)
从上可以看到:
- ShenNong-TCM的回答会更加具有人性关怀一些,而中文LlaMA-7b模型的回复可能会比较生硬;
- ShenNong-TCM相较于中文LlaMA-7b模型的回答会更加丰富,具有更多可行的建议,特别是可以有效根据症状推荐方剂/中草药。
开放程度
与ChatMed类似,不再赘述。
值得注意的是,项目团队在模型评价方面也在持续努力,如ChatMed中提到的,有两个相关的开源项目:
- PromptCBLUE 中文医疗大模型评测标准
该项目由华东师范大学王晓玲教授团队联合阿里巴巴天池平台,复旦大学附属华山医院,东北大学,哈尔滨工业大学(深圳),鹏城实验室与同济大学共同完成, 对CBLUE基准进行二次开发,将16种不同的医疗场景NLP任务全部转化为基于提示的语言生成任务,形成首个中文医疗场景的LLM评测基准。
https://github.com/michael-wzhu/PromptCBLUE
- ShenNong-TCM-Evaluation-BenchMark
为了进一步有效、准确的评估大模型在中医药领域的表现,项目建立了一个标准化、综合性的中医评测框架ShenNong-TCM-Evaluation,该评测框架将充分考虑中医药领域的复杂性和专业性,涵盖多个方面,以确保大语言模型在真实场景下的实用性和适用性。具体内容及细节可以参见以下链接
https://github.com/ywjawmw/ShenNong-TCM-Evaluation-BenchMark