深圳市大数据研究院王本友教授团队开源中文医疗大模型华佗GPT(HuatuoGPT)
近期,香港中文大学(深圳)、深圳市大数据研究院王本友教授团队训练并开源了一个新的医疗大模型 ——HuatuoGPT(华佗GPT),以使语言模型具备像医生一样的诊断能力和提供有用信息的能力。
在医疗领域,大规模语言模型(LLM)具有广阔的应用潜力。尽管像 ChatGPT 这样的语言模型能够生成内容详实、表述流畅、逻辑清晰的回复,但其在回应患者描述症状时,缺乏专业性和对患者输入的精确解读。其回复常常包含多种可能性,并以较高层次的建议形式呈现,但往往缺少深入的上下文理解能力,使得其帮助患者的具体情况有限。
相比之下,现实世界中医生与患者的互动数据能够更准确地反映医疗情景的复杂性,并提供准确无误的诊断建议,具有极高的专业性。然而,由于时间的限制,医生的回应常常简洁至不能充分传达信息,甚至有时会显得不连贯。若仅依靠这些数据来训练模型,得到的模型难以流畅地应对多样的指令或对话,其生成的回应也会显得短小、表述不佳,有时信息含糊,这对患者并不友好。
香港中文大学(深圳)、深圳市大数据研究院王本友教授团队利用指令微调和强化学习在 ChatGPT 和医生的回复中找到结合点,训练并开源了一个新的医疗大模型 ——HuatuoGPT。HuatuoGPT 致力于通过融合 ChatGPT 生成的 “蒸馏数据” 和真实世界医生回复的数据,以使语言模型具备像医生一样的诊断能力和提供有用信息的能力,同时保持对用户流畅的交互和内容的丰富性,对话更加丝滑。
-
论文地址:https://arxiv.org/pdf/2305.15075.pdf -
github 地址:https://github.com/FreedomIntelligence/HuatuoGPT
-
Demo 地址:https://www.huatuogpt.cn/
该论文提出的语言模型训练方法可以结合医生和 ChatGPT 的数据,充分发挥它们的互补作用,既保留真实医疗数据的专业性和准确性,又借助 ChatGPT 的多样性和内容丰富性的特点。
华佗GPT
1、混合数据集微调 HuatuoGPT 使用了四种不同的数据集,分别如下:
-
蒸馏 ChatGPT 指令数据集(Distilled Instructions from ChatGPT):这个数据集受到 Alpaca 模型创建指令集的方法启发,从 ChatGPT 中提炼出医疗相关的指令。与之前工作不同的是,本方法还加入了科室和角色信息,根据采样的科室或角色生成符合条件的指令数据集。
-
真实医生指令数据集(Real-world Instructions from Doctors):这个数据集来源于真实医生和患者之间的问答。医生的回复通常简洁且口语化,因此本方法通过润色以提高其可读性。
-
蒸馏 ChatGPT 对话数据集(Distilled Conversations from ChatGPT):这个数据集通过为两个 ChatGPT 模型提供共享的对话背景,让它们分别模仿医生和患者进行对话。
-
真实医生对话数据集(Real-world Conversations with Doctors):这个数据集来源于真实医生的对话,但对医生的回复使用模型进行了润色。
这些数据集共同为模型提供了一个统一的语言模式、医生的诊断能力以及指令跟随能力。
2、基于 AI 反馈的强化学习
为了进一步提升模型生成的质量,HuatuoGPT 还应用了基于 AI 反馈的强化学习技术(RLAIF)。使用 ChatGPT 对模型生成的内容进行评分,考虑内容的用户友好程度,并结合医生的回答作为参考,将医生回复的质量纳入考量。利用 PPO 算法将模型的生成偏好调整到医生和用户之间的一致性,从而增强模型生成丰富、详尽且正确的诊断。
在评估 HuatuoGPT 的性能表现上,团队成员采用了自动评估和人工评估两种方式相互验证,在单轮问答场景和多轮交互式诊断场景中分别进行了评估。
图:单轮问答场景的自动评测结果
针对单轮问答场景,团队成员精心收集了涵盖 10 个医疗领域意图的 100 个问题,并利用 GPT-4 进行自动评估。具体来说,团队提供了两个模型对同一问题生成回复,并使用 GPT-4 对每个模型的回复进行分析和打分。最终的测试结果显示,相较于基于 LLaMa 和 ChatGLM 的开源中文医疗模型,HuatuoGPT 表现显著优秀(以 HuatuoGPT 为基准)。这一优势得益于 HuatuoGPT 同时使用了从 ChatGPT 蒸馏的数据和真实世界数据进行训练,并借助来自 ChatGPT 和专业医生的混合反馈进行了优化。此外,HuatuoGPT 在总体性能上甚至超过了 GPT-3.5-turbo。
图:多轮诊断场景的自动评测结果
对于多轮问诊场景,团队成员收集了涵盖 20 个科室的 100 个多轮对话进行了评估。评估结果显示,HuatuoGPT 不仅全面优于目前的开源中文医疗模型,而且在大部分科室的表现上均优于 GPT-3.5-turbo,这为 HuatuoGPT 在处理更加复杂的多轮问诊场景中的优异性能提供了有力的证据。
在人工评估方面,团队成员使用了自动评估中的样本进行评估验证。团队成员邀请专业医生为模型的输出结果进行人工评估。下表是单轮问答场景和多轮诊断场景的评估结果。评估结果表明,无论是单轮的人工评测还是多轮的人工评测结果都与自动评估的结果保持了一致,这充分验证了模型性能评估的一致性和可靠性。
通过扫描下方二维码访问最新版华佗GPT:
彩蛋:团队还开放了HuatuoGPT的前置工作Huatuo-26M 医疗问答数据集(并不是HuatuoGPT的训练数据)https://github.com/freedomintelligence/huatuo-26m ,总共2600W的医疗问答数据全部开源到到了HuggingFace,如果需要清理好的干净数据请发邮件至 changmiaowang@cuhk.edu.cn ,请注明单位和承诺只用于科研目的。包括Huatuo-26M在内的三个公开的医疗问答数据集,HuatuoGPT的zero-shot性能超过GPT 3.5 turbo(ChatGPT)、ChatGLM和已有的医疗GPT,甚至远好于全微调的中等大小的T5和GPT。