ChatDoctor A Medical Chat Model Fine-tuned on LLaMA Model using Medical Domain Knowledge
Abstract
ChatGPT获得巨大成功,可是在医疗领域其回答准确性不足,医疗领域中没有类似能力的llm。因此,采集10万医患对话来微调语言模型,并添加了自主知识检索的功能。提出模型在理解患者需求和提供建议方面的能力有显著提升。
Introduction
现有llm训练过程中未包含医疗领域的数据,导致模型回复医学问题时准确性较差。通过实用医患对话数据微调大预言模型提升模型理解患者需求的能力。还设计了一种基于Wiki的医学领域数据库知识大脑,实时访问权威的医学信息,模型可以根据这些信息回答患者问题。实验证明,微调过的对话模型P\R\F1都要优于CHatGPT。采用LLaMA作为基座,实用Alpaca的52K指令跟踪数据训练通用会话模型。本文贡献有三个:
- 设计了一个微调医学llm的框架
- 收集、开放了对话数据集
- 提出一种能实时访问wiki,能在线分析的ChatDoctor模型
Mehtod
医患对话数据集
收集数据 + 人工过滤 + 语法纠错
外部知识大脑
llm推理过程中很可能给出错误答案,生成的答案往往是不可能控的、随机的,这在医学领域是不可接受的,于是构建一个数据库,其中包括约700种疾病及其相关症状,进一步的医学检测或措施,以及推荐的药物。数据库可以随时更新,无需对模型进行训练,理论上可以根据部门或特定目标建立特定疾病数据库。
基于知识大脑的ChatDoctor
在构建了外部知识大脑之后,我们需要让ChatDoctor自主检索他需要的知识,这通常可以通过构建适当的提示在一个大的语言模型中实现。为了使这一过程自动化,我们设计了关键词挖掘提示符,用于ChatDoctor提取关键字进行相关知识搜索。
A question is provided below. Given the question, extract keywords from the text.
Focus on extracting the keywords that we can use to best lookup answers to the
question.
{Question of patient}
Provide keywords in the following comma-separated format.
Keywords:
模型训练
使用LLaMA作为基座,以Alpaca的训练方式,使用HealthCareMagic-100k的对话对LLaMA模型进行微调,以获得一些基本的对话能力。使用6 * A100 进行3个小时的微调,训练超参数设置为:
Batch Size | learning rate | epoch | max length | warm up | weight decay |
---|---|---|---|---|---|
192 | 2e-5 | 3 | 512 | 0.03 | 0 |
实验结果
为了测试基于知识大脑的自主ChatDoctor模型的能力,向模型提出了一些最新的医学问题,如Mpox(猴痘),它于2022年11月28日被世界卫生组织(WHO)新命名。由于这是一个新术语,ChatGPT完全无法回答它,而ChatDoctor可以自主检索Mpox的Wikipedia内容,并给出准确的答案。对于一些一般性的医学问题,如中耳炎,ChatDoctor通过知识检索后提供了非常可靠的答案。Daybue在2023年3月被FDA批准为药物,我们的模型在自主信息检索后也提供了准确的答案。
为了定量评估ChatDoctor的表现,使用iCliniq的问题作为输入,然后使用iCliniq对应的真实医生的回答作为ground truth,也将相同的输入给ChatGPT并记录其回答。我们使用BERT分数分别计算ChatDoctor和ChatGPT的Precision, Recall和F1分数。我们发现经过微调的ChatDoctor模型在Precision, Recall和F1方面都优于ChatGPT。
讨论与结论
ChatDoctor首先使用真实的医患对话数据进行微调,从而让模型更好地理解患者的问题,从而做出更明智的回答,而且还能够自主检索大脑的知识,然后提供答案,进一步提高了模型响应的可信度。在实际应用中,ChatDoctor可以提高医疗诊断的准确性和效率,减少医疗专业人员的工作量,同时增加医疗咨询的机会,特别是对大多数服务不足的医院和第三世界国家的患者。我们相信,我们的聊天医生可以是一个宝贵的援助,改善病人的结果和推进医学研究。
但你不能用,因为这个模型在诊断和医嘱中潜在的语言错误可能会造成严重的后果。而大型语言模型往往会对他们不知道的知识产生许多不正确和有害的陈述(幻觉),这可能会导致滥用。ChatDoctor仅用于学术研究,任何商业用途和临床用途都是严格禁止的。首先,我们没有设计足够的安全措施,现有的模型不能保证医学诊断和建议的完全正确性。其次,我们的模型没有获得医疗保健相关目的[9]许可。第三,ChatDoctor基于LLaMA,拥有非商业许可,所以我们有必要继承这些规则。