12)BianQue —— 中文医疗对话模型扁鹊(BianQue)
项目简介
基于主动健康的主动性、预防性、精确性、个性化、共建共享、自律性六大特征,华南理工大学未来技术学院-广东省数字孪生人重点实验室开源了中文领域生活空间主动健康大模型基座ProactiveHealthGPT,包括:
- 经过千万规模中文健康对话数据指令微调的生活空间健康大模型扁鹊(BianQue)
- 经过百万规模心理咨询领域中文长文本指令与多轮共情对话数据联合指令微调的心理健康大模型灵心(SoulChat)
项目的目标是,生活空间主动健康大模型基座ProactiveHealthGPT 可以帮助学术界加速大模型在慢性病、心理咨询等主动健康领域的研究与应用。
项目 生活空间健康大模型扁鹊(BianQue) 是其中专注于中文医疗健康对话的大模型。
项目于2023年4月发布,发布了1.0版本及2.0版本。
论文及源码
尚未看到相关论文。
源码:
https://github.com/scutcyr/BianQue
scutcyr/BianQue-2 · Hugging Face
scutcyr/BianQue-1.0 · Hugging Face
数据集构建
项目组研究发现,在健康领域,用户通常不会在一轮交互当中清晰地描述自己的问题,而当前常见的开源医疗问答模型(例如:ChatDoctor、本草(HuaTuo,原名华驼 )、DoctorGLM、MedicalGPT-zh)侧重于解决单轮用户描述的问题,而忽略了“用户描述可能存在不足”的情况。哪怕是当前大火的ChatGPT也会存在类似的问题:如果用户不强制通过文本描述让ChatGPT采用一问一答的形式,ChatGPT也偏向于针对用户的描述,迅速给出它认为合适的建议和方案。
然而,实际的医生与用户交谈往往会存在“医生根据用户当前的描述进行持续多轮的询问”。并且医生在最后根据用户提供的信息综合给出建议,如下图所示。可以把医生不断问询的过程定义为 询问链(CoQ, Chain of Questioning) ,当模型处于询问链阶段,其下一个问题通常由对话上下文历史决定。
项目组结合当前开源的中文医疗问答数据集(MedDialog-CN、IMCS-V2、CHIP-MDCFNPC、MedDG、cMedQA2、Chinese-medical-dialogue-data),分析其中的单轮/多轮特性以及医生问询特性,结合实验室长期自建的生活空间健康对话大数据,构建了千万级别规模的扁鹊健康大数据BianQueCorpus。对话数据通过“病人:xxx 医生:xxx 病人:xxx 医生:”的形式统一为一种指令格式,如下图所示。
训练数据当中混合了大量target文本为医生问询的内容而非直接的建议,这将有助于提升AI模型的问询能力。
模型训练
扁鹊2.0是基于扁鹊健康大数据BianQueCorpus, 在ChatGLM-6B基础上,经过全量参数的指令微调训练得到了新一代BianQue【BianQue-2.0】( 扁鹊1.0采用了ClueAI/ChatYuan-large-v2作为基准模型)。扁鹊-2.0扩充了药品说明书指令、医学百科知识指令以及ChatGPT蒸馏指令等数据,强化了模型的建议与知识查询能力。以下为两个测试样例。
项目中并没有给出模型训练的训练脚本,但给出了已训练好的模型,并且给出了如何运用已训练好的模型进行推理infer测试的程序及依赖环境。
与其它项目相比,项目给出了如何在Windows环境下,进行模型推理应用的配置说明。
开放程度
项目仅给出了已微调的扁鹊模型及如何使用的代码,对于所使用的BianQueCorpus数据集及如何进行模型微调训练,并没有给出具体的代码,是一种应用层面的开放。
与其它医疗大模型一样,相关资料仅用于非商业研究使用。
项目简介
如BianQue项目所介绍,该项目是生活空间主动健康大模型基座ProactiveHealthGPT 的一部分,是经过百万规模心理咨询领域中文长文本指令与多轮共情对话数据联合指令微调后,得到的心理健康大模型灵心(SoulChat)。
项目于2023年6月初初次发布。
论文及源码
项目尚未公开发布技术报告或者论文,虽然项目作者提到会后续发布。
项目源码
https://github.com/scutcyr/SoulChat
scutcyr/SoulChat · Hugging Face
项目同时给出了内测网址
灵心
数据构建
项目组调研了当前常见的心理咨询平台,发现,用户寻求在线心理帮助时,通常需要进行较长篇幅地进行自我描述,然后提供帮助的心理咨询师同样地提供长篇幅的回复(见https://github.com/scutcyr/SoulChat/blob/main/figure/single_turn.png),缺失了一个渐进式的倾诉过程。但是,在实际的心理咨询过程当中,用户和心理咨询师之间会存在多轮次的沟通过程,在该过程当中,心理咨询师会引导用户进行倾诉,并且提供共情,例如:“非常棒”、“我理解你的感受”、“当然可以”等等。
考虑到当前十分欠缺多轮共情对话数据集,项目组一方面构建了超过15万规模的 单轮长文本心理咨询指令与答案(SoulChatCorpus-single_turn) ,回答数量超过50万(指令数是当前的常见的心理咨询数据集 PsyQA 的6.7倍),并利用ChatGPT与GPT4,生成总共约100万轮次的 多轮回答数据(SoulChatCorpus-multi_turn) 。
特别地,项目组在预实验中发现,纯单轮长本文驱动的心理咨询模型会产生让用户感到厌烦的文本长度,而且不具备引导用户倾诉的能力,纯多轮心理咨询对话数据驱动的心理咨询模型则弱化了模型的建议能力,因此,项目组混合SoulChatCorpus-single_turn和SoulChatCorpus-multi_turn构造成超过120万个样本的 单轮与多轮混合的共情对话数据集SoulChatCorpus 。所有数据采用“用户:xxx 心理咨询师:xxx 用户:xxx 心理咨询师:”的形式统一为一种指令格式。
模型训练及效果
项目选择了 ChatGLM-6B 作为初始化模型,进行了全量参数的指令微调,旨在提升模型的共情能力、引导用户倾诉能力以及提供合理建议的能力。
项目开源库中并没有相关的模型微调训练脚本或者具体操作方法,仅给出了微调后的模型,以及如何进行推理测试的脚本。
项目给出了可进行内测的网址:
灵心
开放程度
项目并没有给出模型训练的全过程、所用的数据集及脚本,仅给出了微调训练后的模型,以及如何使用模型进行推理测试的脚本。Demo脚本采用的Streamlit快速web框架。
项目参与了PULSE团队的Elo评测(https://github.com/openmedlab/PULSE#elo%E8%AF%84%E6%B5%8B)