LLM in Medical Domain: 一文速览大语言模型在医学领域的应用
© 作者|杨锦霞
机构|中国人民大学
研究方向|多模态学习
引言:近期,大型语言模型在各种任务上展现出优异的性能,展示了广阔的应用前景。然而,在医学领域,现有的模型主要是单一任务系统,缺乏足够的表达能力和交互能力。因此,目前的模型与实际临床工作流程中对它们的期望之间存在差距。虽然大型语言模型的出现和发展为交互式医学系统带来了希望,但由于其可能生成错误的输出和产生幻觉等问题,不能直接应用于实际场景。目前关于大模型在医学领域的研究主要集中在评估现有模型性能、构建适用的数据集以及指令微调等方面。
Large Language Models Encode Clinical Knowledge
http://arxiv.org/abs/2212.13138
本文的主要工作包括benchmark构建、LLM评测和指令微调。
提出一个涵盖医学检查、医学研究和消费者医疗问题的医学问答benchmark:MultiMedQA。这是一个由七个医学问答数据集组成的基准,包括六个现有数据集和新引入的一个数据集。这是一个评估LLM临床知识和问答能力的多样化基准,包括多项选择题、需要对医疗专业人员的问题进行较长格式回答的数据集,以及需要对非专业人员可能提出的问题进行较长格式回答的数据集。本文还提出了一个医生和非专业用户评估框架,从多个维度来评估LLM性能。
本文在MultiMedQA上评估了PaLM及Flan-PaLM。通过结合各种提示策略(few-shot, chain-of-thought and self-consistency prompting),Flan-PaLM在MedQA(USMLE),MedMCQA,PubMedQA和MMLU临床主题上超过了SOTA性能。特别是,它比之前的MedQA上的SOTA(USMLE)提高了17%以上。
由于在生成长文本的数据集上,Flan-PaLM和临床医生的结果显示出一定gap。本文提出了使用Instruction Prompt Tuning对Flan-PaLM进行微调。使用soft prompt作为在多个医学数据集之间共享的初始前缀,然后是相关的特定于任务的prompt(由instructions和/或few-shot示例组成,可能是CoT)以及实际问题和上下文。通过随计选取和人工评估过滤,最终使用40个来自HealthSearchQA,MedicineQA和LiveQA的例子用于Instruction Prompt Tuning训练,得到Med-PaLM模型。
Towards Expert-Level Medical Question Answering with Large Language Models
http://arxiv.org/abs/2305.09617
本文提出了Med-PaLM 2,是上面Med-PaLM工作的改进,它通过结合PaLM 2、医学领域微调和提示策略(包括一种新颖的ensemble refinement策略)来提升性能。Med-PaLM 2 在 MedQA 数据集上的得分高达 86.5%,比 Med-PaLM 提高了19%。
ChatDoctor: A Medical Chat Model Fine-tuned on LLaMA Model using Medical Domain Knowledge
http://arxiv.org/abs/2303.14070
ChatDoctor是一个主要在LLaMA上微调的医学领域的大语言模型。
收集对话数据集:出于真实性的考虑,本文从在线医疗咨询网站“HealthCareMagic”收集了约10万条真实的医患对话,并对这些数据进行了人工和自动过滤等预处理,并命名为 HealthCareMagic-100k。此外,从在线医疗咨询网站 iCliniq2 收集了大约1万条医患对话用于以评估模型的性能。
外部知识大脑:如果模型能够根据给定的权威可靠知识进行回答,那么模型的准确性将大大提高。对于医疗场景中的问答,本文收集并编译了一个数据库,其中包括大约 700 种疾病及其相关症状、进一步的医学测试或措施以及推荐的药物治疗。该数据库可以随时更新,无需重新训练模型。除了疾病数据库,一些权威的信息源也可以作为外部知识大脑,例如维基百科。
BenTsao: Tuning LLaMA Model With Chinese Medical Instructions
http://arxiv.org/abs/2304.06975
本文提出了本草模型(原叫“华驼“),一个生物医学领域的中文LLM。BenTsao建立在开源LLaMa-7B模型的基础上,整合了来自中国医学知识图谱(CMeKG)的结构化和非结构化医学知识,并采用基于知识的指令数据进行微调。
指标:对于医学问答任务,本文引入了一个新的评估指标 SUS。SUS 指标由三个维度组成:安全性 Safety,可用性Usability和流畅性 Smoothness。Safety 评估生成的响应是否有可能误导用户并对他们的健康构成威胁,Usability 评估生成的响应反映医学专业知识的程度,Smoothness 衡量生成的流畅度。
本文构建了一组中文对话场景测试集,同时为了评估模型性能招募了五名具有医学背景的注释员通过SUS维度进行评分。平均SUS分数如下表所示。尽管LLaMA获得了最高的安全分数,但其回答中信息含量较低。本文的华拓模型显着提高了知识的可用性。
http://arxiv.org/abs/2211.09085
本文指出,计算的最初希望是解决科学中的信息过载问题。本文训练了一个大语言模型Galactica,能够更好的自动组织科学知识。Galactica是在人类科学知识的大型语料库上进行训练的,语料库包括4800 万篇论文、教科书和讲义、数百万种化合物和蛋白质、科学网站、百科全书等。
本文提出了一组专门的tokenization用于不同的输入模态。对于引用、氨基酸序列、DNA序列等输入,使用[START_{ }]和[END_{ }]来包装文本。比如,对于引用,使用[START_REF] 和 [END_REF]来包装。本文还引入<work> token来表示逐步推理,模仿内部工作记忆上下文,同时还构造提示数据集将分步推理包装在<work></work>中。下图展示了使用<work> token来调用外部工具(python)并实现逐步计算的过程。
Are Large Language Models Ready for Healthcare? A Comparative Study on Clinical Language Understanding
http://arxiv.org/abs/2304.05368
本文在临床语言理解任务上对GPT-3.5、GPT-4 和 Bard 进行了全面评估。任务包括命名实体识别、关系提取、自然语言推理、语义文本相似性、文档分类和问答,并在此过程中提出了一种新颖的提示策略,self-questioning prompting(SQP)。SQP旨在通过鼓励模型更加了解自己的思维过程来提高模型性能,使他们能够更好地理解相关概念从而达到更深入的理解。下图是 SQP 的一般构建过程:
CAN LARGE LANGUAGE MODELS REASON ABOUT MEDICAL QUESTIONS?
http://arxiv.org/abs/2207.08143
本文主要测试 GPT-3.5(Codex 和 InstructGPT)是否可用于回答和推理基于现实世界的困难问题,即医学问题。主使用两个多项选择的医学考试问题和一个医学阅读理解数据集进行测试。本文研究了多种提示场景:CoT、zero- and few-shot和retrieval augmentation。
http://arxiv.org/abs/2304.01097
本文在ChatGLM的基础上构造中文的医学模型。
数据集构建:通过翻译 ChatDoctor的数据集来利用英文的高质量数据集。考虑到专业的大规模翻译代价较高,这里作者通过利用 ChatGPT 来采用一种简单且低成本的方法进行大规模翻译。首先构建高质量数据集:通过ChatGPT翻译选取的示例;然后使用这部分数据配对的中英文数据微调一个语言模型(如BART-based model),该语言模型就能获得专家级的知识并作为大语言模型的一个替代从而降低大规模翻译成本。对于疾病数据库里的知识,作者也利用 ChatGPT来构造指令数据。
Visual Med-Alpaca: A Parameter-Efficient Biomedical LLM with Visual Capabilities
本文提出Visual Med-Alpaca,是一个开源的、参数高效的生物医学基础模型,可以与医学“视觉专家”集成以进行多模态生物医学任务。该模型建立在LLaMa-7B架构上,使用由GPT-3.5-Turbo和人类专家协作策划的指令集进行训练。利用几个小时的指令调整和即插即用的视觉模块,Visual Med-Alpaca 可以执行各种医学任务。
数据集构建:从 BigBIO 存储库中的各种医学数据集中提取医学问题,然后提示 GPT-3.5-Turbo 合成这些问题的答案,之后执行多轮人工过滤和编辑来优化问答对,从而产生包含 54k 指令的高质量指令集。
视觉模态:Visual Med-Alpaca 支持两个不同的视觉expert:Med-GIT 和 DePlot。Med-GIT 是一个用于图像到文本生成的模型,这里使用 ROCO 数据集进行微调,以促进专门的放射学图像字幕生成。DePlot可以将图形或图表的图像转换为表格,其输出可以直接用于提示预训练的大型语言模型。
由于基础模型提供了一个模块化且适应性强的框架用于整合各种视觉模块,在此框架内,任何多模态的任务都可可以分为两个基本阶段:图像到文本的转换和基于文本的推理。在本文中,视觉专家(即视觉基础模型)将医学图像转换为中间文本表示,然后将转换后的数据用于提示预训练的 LLM,利用 LLM 固有的推理能力来生成适当的响应。
Visual Med-Alpaca 通过提示增强方法连接了文本和视觉模态。首先,图像输入被送入类型分类器,选择对应的视觉模型后得到文本输出,然后将其附加到文本输入以用于后续推理过程。然后,prompt manager将从图像和文本输入中提取的文本信息合并到 Med-Alpaca 的prompt中,之后再进行文本的推理产生输出。
最近,大型通用语言模型取得了显著的成功,能够遵循指令并生成与人类类似的回应。这种成功在一定程度上推动了多模态大模型的研究和发展,例如MiniGPT-4等。然而,这些多模态模型在医学领域的研究中很少见,虽然visual-med-alpaca在医学多模态模型方面取得了一些有成效的工作,但其数据仅限于英文诊断报告,对于推动中文医学多模态模型的研究和发展并不利。因此,为了解决这个问题,本文开发了XrayGLM模型。
本文借助ChatGPT和公开的胸片图文对数据集,构造了中文的X光片-诊断报告数据集,并使用该数据集在 VisualGLM-6B上进行微调训练。
微信扫码关注该文公众号作者