来源:专知
本文约6000字,建议阅读10分钟
本综述旨在提供医学中LLMs的机遇和挑战的洞见,并作为构建实用有效的医学LLMs的宝贵资源。
大型语言模型(LLMs),如ChatGPT,由于其令人印象深刻的人类语言理解和生成能力,获得了极大的关注。因此,将LLMs应用于医学,以协助医生和病人护理,成为人工智能和临床医学领域的一个有前景的研究方向。为此,本综述提供了医学中LLMs当前进展、应用和面临挑战的全面概述。具体来说,我们旨在回答以下问题:1)什么是LLMs,如何构建医学LLMs?2)医学LLMs的下游表现如何?3)如何在实际临床实践中使用医学LLMs?4)使用医学LLMs会带来哪些挑战?5)我们如何更好地构建和利用医学LLMs?因此,本综述旨在提供医学中LLMs的机遇和挑战的洞见,并作为构建实用有效的医学LLMs的宝贵资源。医学LLMs的实用指南资源的定期更新列表可在 https://github.com/AI-in-Health/MedLLMsPracticalGuide 找到。
引言
在过去的几年中,广泛的通用大型语言模型(LLMs)[1, 2],如 PaLM [3]、LLaMA [4, 5]、GPT系列 [6, 7, 8] 和 ChatGLM [9, 10] 已经出现并推动了各种自然语言处理(NLP)任务的最新发展,包括文本生成、文本摘要和问答。受到通用LLMs巨大成功的启发,医学LLMs的开发和应用已获得日益增长的研究兴趣,因为它们旨在协助医疗专业人员并改善病人护理[11, 12, 13]。为此,已经做出了几项努力,将通用LLMs适应到医学领域,从而引发了医学LLMs的出现[14, 15, 16, 17, 18, 19, 20]。例如,基于PaLM [3],MedPaLM [14] 和 MedPaLM2 [15] 在美国医学执照考试(USMLE)[22]中取得了与人类专家(87.0 [21])相媲美的86.5的分数;基于公开可用的LLMs,例如LLaMA [4, 5],已经引入了几个医学LLMs,包括ChatDoctor [19]、MedAlpaca [16]、PMCLLaMA [21]、BenTsao [17] 和 Clinical Camel [18]。
尽管现有的医学LLMs取得了令人期待的结果,但在它们的开发和应用中仍然存在一些关键问题需要解决。首先,这些模型主要关注生物医学自然语言处理(NLP)任务,例如对话和问答,经常忽略了它们在临床实践中的实际应用[12]。最近的研究已开始探索医学LLMs在各种临床场景中的潜力,包括电子健康记录(EHRs)[23, 24]、出院摘要生成[13]、健康教育[25]和护理规划[26]。此外,大多数现有的医学LLMs主要在医学问答和对话生成任务上评估它们的性能,忽略了其他生物医学任务,如文本摘要、关系提取和信息检索。这些挑战在医学中LLMs的当前研究和应用中造成了一个缺口,这促使本综述提供医学中LLM开发和应用的全面回顾。本综述旨在涵盖各种主题,包括现有的医学LLMs、各种生物医学任务、临床应用以及相关挑战。
为了实现这一目标,本综述试图回答以下问题:1. 如何有效地构建医学LLMs?2. 当前的医学LLMs是如何评估的?医学LLMs除了传统NLP外还有哪些能力?3. 医学LLMs如何应用于临床设置?4. 在临床实践中实施医学LLMs时必须解决哪些挑战?5. 我们如何优化医学LLMs的构建,以增强它们在临床设置中的适用性,最终为医学和社会产生积极影响?
对于第一个问题,我们总结了现有的医学LLMs,详细介绍了它们的基本结构、参数数量和用于模型开发的数据集。此外,我们提供了这些模型构建过程的洞见。这些信息对于希望根据特定需求(如计算限制、私有数据和本地知识库)构建自己的医学LLMs的研究人员和医学从业者来说是宝贵的。对于第二个问题,我们对现有医学LLMs在十个生物医学NLP任务中的表现进行了广泛的调查。这种分析将使我们能够理解医学LLMs在不同方面如何胜过传统的医学AI模型。通过展示它们的能力,我们旨在阐明医学LLMs在临床环境中部署时带来的优势。第三个问题关注医学LLMs在临床环境中的实际应用。我们提供了七种临床应用场景的指南和洞见,提供了医学LLMs的具体实现,并突出了每种场景使用了哪些能力。第四个问题强调在临床实践中部署医学LLMs时必须克服的挑战。这些挑战包括幻觉(即生成连贯且与上下文相关但事实上不正确的输出)[27, 28, 29]、可解释性[30]、伦理、法律和安全问题[31]等。我们还提倡对医学LLMs进行更广泛的评估,包括诸如可信度[32]等方面,以确保它们在临床环境中的负责任和有效使用。对于最后一个问题,我们提供了发展医学LLMs的未来方向的洞见。这一部分作为指南,旨在帮助研究人员和从业者推进这一领域,并最大化医学LLMs在医学中的潜力。
总之,本综述做出了几个贡献:
我们提供了医学中大型语言模型的全面综述,分类现有的通用LLMs和医学LLMs,并总结了它们在十个生物医学任务中的评估。
我们强调了医学LLMs的临床应用,并为它们在各种临床环境中的部署提供了实用指南。
我们识别并讨论了在临床实践中应用医学LLMs的挑战,旨在激发在这一领域的进一步研究和发展。通过回答这些问题并提供关于医学LLMs的全面视角,我们希望促进对医学AI领域的更深入理解、合作和进步。
本文的整体结构如下:第2节回顾了关于LLMs和医学LLMs的现有研究,强调如何有效地构建医学LLMs;第??节总结了现有医学LLMs在十个生物医学AI任务上的表现;第3节详细介绍了医学LLMs在医学中的应用;第4节深入探讨了现有医学LLMs的挑战;第5节介绍了在发展和部署方面改进医学LLMs的几个潜在机会。最后,本文的结论在第6节给出。
本节讨论LLMs的临床应用。在每个小节中,我们首先介绍应用,然后讨论LLMs如何执行这项任务。最后,我们讨论LLMs在这个特定用例中的挑战和未来方向。
医疗大型语言模型
医学领域对大型语言模型(LLMs)的采用正受到越来越多的研究兴趣。现有的医疗LLMs主要是从零开始预训练、从现有的一般LLMs微调,或者直接通过提示(prompting)使一般LLMs适应医疗领域。因此,在本节中,我们将介绍从这三种方法获得医疗LLMs:预训练、微调和提示。表2总结了目前可用的医疗LLMs的详细信息。
预训练
预训练通常涉及在大量医疗文本上训练LLM,包括结构化和非结构化文本,以学习丰富的医学知识。这些语料库可能包括电子健康记录(EHRs)[79]、临床笔记[23]、DNA序列[47]和医学文献[67]。特别是,PubMed [63]、MIMIC-III临床笔记[68]和PMC文献[105]是三个广泛用于医学LLM预训练的医学语料库。例如,PubMedBERT[64]在PubMed上进行预训练;ClinicalBERT在MIMIC-III上进行预训练;而BlueBERT[69]结合了这两个语料库进行预训练;BioBERT[61]在PubMed和PMC上进行预训练。UF健康内部临床语料库(EHRs)进一步用于GatorTron[23]和GatorTronGPT[79]的预训练。
医疗LLMs的预训练目标通常涉及常用的掩码语言建模、下一句预测和下一个词预测,但为适应医学领域的需求而进行了改进。预训练后,这些医疗LLMs通常会在各种下游任务上进行微调和评估,以评估它们的理解和生成能力。目前,评估医疗LLMs的广泛使用的下游任务[23, 79]是医学问答(QA)和医学命名实体识别(NER),其中前者要求模型使用所学习的医学知识生成对问题的回应/答案,这对于诊断支持和医学研究等应用至关重要,而后者涉及从文本中识别医学实体,如疾病、治疗和药物。
具体来说,两个基准测试BLUE和BLURB被广泛用于提供模型的标准评估。BLUE(生物医学语言理解评估)基准测试[69]包括十个公共数据集,用于评估NER、关系提取、文档分类、句子相似性和推理;BLURB(生物医学语言理解与推理基准测试)[64]:BLURB是一个更全面的基准测试,包括十三个数据集,并进一步引入问答任务。
微调
从零开始训练LLMs通常需要大量的计算能力、成本和时间。因此,许多工作[14, 15, 20, 19, 16, 84, 18]提出用医学数据对一般LLMs进行微调,以学习特定领域的医学知识并获得医疗LLMs。当前流行的微调方法包括监督微调(SFT)、指令微调(IFT)、低秩适应(LoRA)和前缀调整。微调后的医疗LLMs在表2中进行了总结。
监督微调 监督微调(SFT)旨在利用高质量的医疗语料库,这些语料库可以是医生-患者对话[19]、医学问答[16]和知识图谱[84, 17]。构建的SFT数据用作继续预训练数据,以进一步预训练一般LLMs,使用相同的训练目标,例如下一个词预测。因此,SFT提供了一个额外的预训练阶段,让一般LLMs学习丰富的医学知识并与医疗领域对齐,将它们转化为专门的医疗LLMs。
SFT的多样性使得可以通过在不同类型的医疗语料库上训练来开发多样化的医疗LLMs。例如,DoctorGLM[20]和ChatDoctor[19]分别通过对ChatGLM[9, 10]和LLaMA[4]进行监督微调,基于医生-患者对话数据获得。MedAlpaca[16]使用超过160,000个医疗问答对进行微调,这些问答对来自多样化的医疗语料库。Clinicalcamel[18]结合了医生-患者对话、临床文献和医学问答对,以微调LLaMA2模型。特别是,Qilin-Med[84]和Zhongjing[106]通过进一步结合知识图谱,对Baichuan[107]和LLaMA[4]进行监督微调。
总体而言,现有研究已证明SFT在改善LLMs在医学任务上的表现方面的有效性。研究表明,SFT不仅提高了模型理解和生成医学文本的能力,还提高了其提供更准确的临床决策支持的能力[108]。
指令微调 指令微调(IFT)[109, 108, 1]首先构建基于指令的训练数据集,这些数据集通常由指令-输入-输出三元组组成,例如,指令-问题-答案。IFT的主要目标是进一步训练LLMs,提高它们遵循各种人类/任务指令的能力,使其输出与医疗领域对齐,并因此产生专门的医疗LLM。因此,SFT和IFT的主要区别在于,前者主要侧重于通过持续预训练将医学知识注入LLM,提高其理解医学文本和准确预测下一个词的能力,而IFT旨在提高模型遵循指令的能力,并调整其输出以匹配给定指令,而不是准确预测下一个词[109]。因此,为了提高医疗LLMs的性能,SFT更强调训练数据的数量,而IFT更强调数据的质量和多样性而非数量。
为了提高通过指令微调(IFT)增强大型语言模型(LLMs)的性能,重要的是确保IFT数据具有高质量,并包含广泛的医学指令和医学场景。这种多样性对于训练医学LLMs准确理解各种医学指令至关重要。
例如,MedPaLM [14] 和 MedPaLM-2 [15] 邀请合格的医疗专业人士开发指令数据以微调PaLM。同时,BenTsao [17] 和 ChatGLM-Med [110] 从知识图谱构建了基于知识的指令数据;Zhongjing [106] 进一步结合多轮对话作为指令数据来执行IFT。MedAlpaca [16] 同时结合了医疗对话和医学问答对进行指令微调。因此,IFT已被证明可以提高下游性能。由于IFT和SFT可以用于改进不同方面的性能,一些近期的研究 [106, 84] 尝试结合IFT和SFT以获得更强大的医学LLM。
具体来说,MedPaLM [14]、MedPaLM 2 [15]、Clinical Camel [18] 在多个问答数据集上评估了它们的性能,例如,MedQA(USMLE)[22]、MedMCQA [111]、PubMedQA [112] 和 MMLU [113]。
高效参数调整旨在显著减少微调大型语言模型时的计算和内存需求。其主要思想是在微调LLMs时,保持预训练LLMs中的大部分参数不变,只对最小的参数子集(或附加参数)进行微调。常用的高效参数调整技术包括低秩适应(LoRA)[114]、前缀调整 [115] 和适配器调整 [116, 117]。具体来说,1)LoRA:与微调完整秩权重矩阵不同,LoRA保留原始LLMs的参数,并仅在每个Transformer层的自注意模块中添加可训练的低秩矩阵 [114]。因此,它可以显著减少可训练参数的数量,从而提高微调的效率,同时仍使微调后的LLM能有效捕获下游任务的特征。2)前缀调整:它采取不同的方法,通过在每个Transformer层的输入中添加一小组连续的任务特定向量,即“前缀”[1]。这些前缀作为额外的上下文来引导模型的生成,而不改变原始的预训练参数权重。3)适配器调整:它涉及在预训练LLMs的每个Transformer层中引入小型神经网络模块,即适配器 [118]。这些适配器被微调,同时保持原始模型参数冻结。因此,这种方法允许灵活高效的微调,因为适配器引入的可训练参数数量相对较少,但它们使LLMs能有效适应下游任务。例如,对于医学LLMs,DoctorGLM [20]、基于LLaMA [4] 的MedAlpaca 和 Clinical Camel [18] 采用了LoRA [114] 来执行高效参数微调,以有效地将通用LLMs对齐至医学领域。
总的来说,高效参数调整对于开发特定领域或满足独特需求的LLMs非常有价值。
提示方法
尽管与预训练相比,微调节省了大量计算资源和成本,但它仍然需要进一步训练模型参数和收集高质量的微调数据集,因此仍会消耗计算资源。因此,一些研究工作,例如 MedPaLM [14],提出了几种“提示方法”来有效地将通用LLMs(例如 PaLM [3])与医学领域对齐,而无需训练任何模型参数。流行的提示方法包括少数示例提示(few-shot prompting)、思维链提示(chain-of-thought prompting)、自洽性提示(self-consistency prompting)和提示调整(prompt tuning)。
零/少数示例提示 零次提示的目的是给出指令来提示LLM按照给定的指令准确地执行任务。少数示例提示在要求LLM执行任务之前,会给它们展示少量示例。这种方法允许LLM从这些示例中学习以执行下游任务,并遵循给定的示例给出相应的答案 [7]。因此,少量的提示使得LLM能够准确理解并响应医学查询。例如,在医学领域,MedPaLM [14]通过为通用LLM PaLM [3]提供少量下游示例(例如医学问答对),显著提高了下游性能。
思维链提示 思维链提示是一种可以进一步显著提高模型输出的准确性和逻辑性的技术。具体来说,通过提示词,思维链提示技术旨在提示模型在处理下游(复杂)问题时生成中间步骤或推理路径 [100]。此外,思维链提示可以通过给出推理示例与少数示例提示结合使用。因此,LLM在生成回应时可以给出推理过程。在涉及复杂推理的任务中,如医学问答,思维链提示可以有效提高性能 [14, 15]。在医学LLMs中,思维链提示可以帮助LLMs模拟诊断思考过程,从而提供更透明和可解释的预测或诊断。
自洽性提示 自洽性提示是基于思维链提示进一步提高响应的鲁棒性 [119]。它鼓励模型多次尝试生成对同一问题的多个答案,然后从不同尝试中选择最一致的答案。因此,即使在思维链提示无效的情况下,自洽性提示也能改善结果。这种方法在医学领域尤其有用,其中诊断或治疗建议的一致性至关重要。
提示调整和指令提示调整 受提示和微调成功的启发,提出了提示调整 [120, 117] 以实现改善的下游性能。详细来说,与上述介绍的提示方法相比,这种方法引入了可学习的提示,即可训练的连续向量,这些向量可以在微调过程中进行优化/调整,以更好地适应不同的下游任务,从而为提示LLMs提供了一种更灵活的方式。
与传统的微调方法(训练所有模型参数)不同,提示调整只需要调整与提示本身相关的一小部分参数,无需大量训练模型的参数。因此,这种方法以最小的计算成本有效地将LLMs对齐到医学领域,准确地响应医学问题 [117, 116]。
最近,MedPaLM [14] 提出将上述所有提示方法结合起来,以在各种医学问答数据集上实现强大的性能。特别是在 MedQA(美国医学执照考试 (USMLE))数据集中,MedPaLM-2 达到了与人类专家相媲美的竞争精度 86.5。其他采用提示技术的医学LLMs列在表2中。
结论
近年来,大型语言模型(LLMs)在自然语言处理领域取得了巨大的进展,为其在医学中的应用开辟了新的机会。本文全面介绍了现有的医学LLMs,包括模型架构、参数规模、训练/微调数据、评估基准等详细信息。同时总结了它们在不同生物医学NLP任务中的表现。我们的分析显示,虽然LLMs在基准测试上取得了有希望的结果,但与真实世界临床实际之间仍存在显著差距。因此,我们进一步探索了LLMs在各种临床应用场景中的潜力,如诊断、临床记录生成和医学教育等。然而,在医疗环境中部署LLMs仍具有挑战性。同时指出了LLM医学应用所面临的挑战,如幻觉问题、缺乏可解释性以及数据和评估限制等方面。由于医疗领域对LLM应用还处于起步阶段,在充分发挥其优势方面需要未来研究和发展重点关注以下几个方面:开发新的评估基准,包括可信度、安全性和公平性等特定于医疗领域指标;加强医学与人工智能社区之间跨学科合作;构建多模态LLM以整合时间序列、视觉和音频数据;将LLM应用于更广泛范围内的医疗领域。总之,本文全面介绍了医疗领域中LLM技术在进展、应用和挑战方面,并旨在促进这一跨学科领域进一步研究和探索。尽管 LLMS 可能会显著改善未来临床实践和医学发现,但安全和可解释地实 现这一目标仍然是一个巨大的挑战 。这需要包括临床医生和 AI 研究人员在内的持续跨学科合作 ,并引入以人为中心的设计。此外,共同开发适当的训练数据、基准测试方法和部署策略,可以更快速地并负责任地实现匹配大型语言模型在匹配预测上。
编辑:黄继彦