8. ChatMed: 中文医疗大模型,善于在线回答患者/用户的日常医疗相关问题

    项目简介

    以ChatGPT、GPT-4等为代表的大语言模型(Large Language Model, LLM)掀起了新一轮自然语言处理领域的研究浪潮,展现出了类通用人工智能(AGI)的能力,受到业界广泛关注。

    为推动LLM在中文医疗领域的发展和落地,提升LLM的医疗知识与回答医学咨询的能力,项目推出ChatMed系列中文医疗大规模语言模型:

    大模型赋能中医药传承。这一模型的训练数据为中医药指令数据集ChatMed_TCM_Dataset

    项目以开源的中医药知识图谱为基础,采用以实体为中心的自指令方法(entity-centric self-instruct),调用ChatGPT得到11w+的围绕中医药的指令数据。ShenNong-TCM-LLM模型也是以LlaMA为底座,采用LoRA微调得到。

    项目由华东师范大学计算机科学与技术学院智能知识管理与服务团队完成。

    项目初始发布于2023年4月份(5月份发布了ChatMed-Consult模型, 并且也在持续更新中。

    论文及开源地址

    https://github.com/michael-wzhu/ChatMed

    项目公开了训练数据及训练过程,并没有其它相关的技术报告。

    数据集构建

    项目的模型基座是LlaMA-7b, 中 采用文医疗在线问诊数据集ChatMed_Consult_Dataset的50w+在线问诊+ChatGPT回复作为训练集。

    根据作者经验,在线爬取的问诊数据,虽然可以反映真实世界的用户/患者的问诊需求,但是一般网上的回答良莠不齐。所以项目调用ChatGPT (gpt-3.5-turbo)得到问诊的回复(后续作者拟实现一个评估模型,给人工回复进行评分,降低API调用的成本)。

    模型训练

    项目公开了模型训练所需要的全部代码(https://github.com/michael-wzhu/ChatMed/blob/main/src/chatmed_llama_peft)。训练中借助DeepSpeed(ZeRO stage 3)实现分布式训练。项目训练采用了4张3090的显卡。

    模型效果

    项目给出了项目进行评测的脚本, 下面是对比示例:

    项目对比了经过权重转化与合并的中文LlaMA-7b,以及经过了ChatMed_Consult_Dataset 和LoRA微调的ChatMed-Consult模型。下面是几个示例对比。

    项目也给出了更多的测试样例:

    https://github.com/michael-wzhu/ChatMed/blob/main/src/web_services/test_examples/ChatMed-Consult_test.json

    作者的结论是:

    在线问诊,由于用户输入错字或者语音转文字带来噪音,问诊问题可能不会很规整。在这种情况下

    • 中文LlaMA-7b模型可能会产生没有意义的回答。而ChatMed-Consult可以有效的从干扰中理解用户问题,做出相应的回答;
    • ChatMed-Consult的回答会更加具有人性关怀一些,而中文LlaMA-7b模型的回复可能会比较生硬;
    • ChatMed-Consult相较于中文LlaMA-7b模型的回答会更加丰富,具有更多可行的建议。
    • 大模型作为医生的辅助,其可以多列举可能性和建议,但是不能太过武断的下结论。中文LlaMA-7b模型面对问诊问题会比较容易下直接下结论,似乎是有一些过度自信。ChatMed-Consult一般会说”以下是一些可能…”,相对更加谨慎。

    开放程度

    项目开源了基于LlaMA-7b的ChatMed-Consult模型,以及全部训练代码,也给出了测试代码。

    另外,项目将关联的其它项目、数据集等都进行了公开与链接,包括:

    项目申明仅供学术研究,严禁用于商业用途、