赞
踩
这是23年5月发表在arxiv上的一篇文章。
武松
Yunxiang Li, Zihan Li, Kai Zhang, Ruilong Dan, You Zhang
LLM, ChatGPT, Prompt
在语言大模型百花齐放的当下,虽然各个模型都有着令人惊讶的表现,但仍然存在一些问题,比如模型容易产生错误的言论以及对事实的歪曲,这被称作"hallucination",即“幻觉”。如何降低幻觉是通用语言模型领域在未来的一个重要的研究方向,将LLM应用到具体的领域,结合领域知识做应用研究也是重要的研究方向。这篇文章中,作者用领域知识对语言大模型进行prompt微调,使得模型产生的回答具有权威依据。这篇工作中的领域权威知识来自作者构建的疾病数据库以及维基百科组成的外部知识库,通过构建分步的prompt提示来训练模型自动化检索这个外部知识库,获得可信回答,并将其组合成对话结果返回给病人。作者工作实现了LLM在医疗问答上的应用,并一定程度上解决了幻觉问题。
ChatDoctor基于LLaMA模型进行微调,进行了基于alpaca数据集的指令微调和作者收集的患者-医生对话数据集的微调。然后在此基础上设计了引入外部知识库查询的prompt模板,在医患对话过程中,使用prompt来获取模型更精准的输出。
作者团队需要构建一个患者-医生对话的数据集来对模型进行微调考虑到,往往会导致多样性不足和描述过度专门化的问题,这些问题往往与真实场景不同。收集真正的医患对话是一个更好的解决方案。因此,作者从一个在线医疗咨询网站healthcaremagic中收集了大约10万条真实的医患对话数据作为微调模型的训练数据集,并手动或自动地过滤数据,删除医生和患者的真实身份信息,并使用语言工具来纠正语法错误,该数据集命名为HealthCareMagic-100k,如图2.2所示。此外,作者也从在线医疗咨询网站iCliniq中收集了大约1万条患者-医生对话数据,用来评估模型的性能。
对于模型出现的幻觉(hallucination)问题,即模型的回答可能出现错误,且不可控制,这对于医疗领域是不可接受的。作者在这个问题上的解决办法是对模型回答的生成引入外部知识库的权威知识,使得模型生成的结果具有参考和可靠的来源。因此作者针对ChatDoctor构建了一个外部知识库,主要包括两部分:疾病数据库(Disease Database)和维基百科检索(Wikipedia retrieval)。作者的工作主要是构建了疾病数据库,其中包括大约700种疾病及其相关症状、进一步的医疗测试或措施,以及推荐的药物,如图2.3所示。外部知识库的知识是通过在模型推理阶段的prompt过程中进行检索的。外部知识库可以实时更新和检索,而无需重新训练模型,保证了回答的时效性。
要使得ChatDoctor能够自动地检索外部知识库并生成具有医患问答特色的回答,需要使用前两部分数据库进行检索。通过构建合适的prompts,来让模型自动检索外部知识。prompts包含以下几个步骤:
接着就会使用模型返回的几个关键词向维基百科的接口发起查询,并获取返回的文本(仅获取相关性最高的几个文本)。
作者提供了LoRA微调方式的代码,可以极大节省微调训练成本。
实验部分主要是与chatgpt进行比较,从定性和定量两个角度来进行对比。采用从iCliniq上获取的1万条医患对话数据来进行实验验证。
使用真实医患对话数据中的医生回答作为ground truth来计算模型输出与之的差距,用BERT Score计算回答的表现水平,具体计算Precision, Recall and F1 scores三个指标,对比ChatDoctor和ChatGPT的表现。结果如图4.1所示。
通过在面对实际患者问题下ChatDoctor和ChatGPT的回答来定性对比二者的表现水平。
@article{yunxiang2023chatdoctor,
title={Chatdoctor: A medical chat model fine-tuned on llama model using medical domain knowledge},
author={Yunxiang, Li and Zihan, Li and Kai, Zhang and Ruilong, Dan and You, Zhang},
journal={arXiv preprint arXiv:2303.14070},
year={2023}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。