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