大规模语言模型(large language models,LLMs)是近年来自然语言处理(natural language processing,NLP)领域的重大突破。不同于以往的BERT[1]等传统预训练语言模型,LLMs通过在万亿级别的海量文本语料中进行预训练,习得了丰富的语言知识和常识推理能力,展现出了惊人的小样本学习乃至零样本泛化能力,无需大量标注数据即可快速适应下游任务。此外,LLMs还具备强大的语言生成能力,可根据给定的上下文生成连贯、流畅、富有逻辑的文本。ChatGPT、PaLM、LLaMA等代表性LLMs的出现,标志着NLP正在从“特定任务导向”转向“通用人工智能”。
LLMs为医疗AI注入了新的活力。医学知识的获取和应用高度依赖非结构化文本数据,如电子病历(electronic medical records,EMRs)、医学文献等。传统的医疗AI方法难以充分挖掘这些文本数据的价值。而LLMs恰恰擅长处理海量文本数据,为医疗领域的知识表示和推理应用开辟了新的途径。一方面,LLMs可通过在大规模医学文献语料中进行持续预训练,学习医学领域的专业词汇、概念、实体关系等,构建全面的医学知识库;预训练好的医疗LLMs可辅助医师进行疾病诊断、药物推荐、病历分析、医患沟通等。另一方面,LLMs还可应用于EMRs的自动化处理。原始EMRs通常格式不一、缺失值多、噪声大,给后续分析带来困难。LLMs可将非结构化的EMRs转化为结构化的信息,提取患者的主诉、病史、检查、诊断、治疗等关键信息,从而为疾病预测、药物警戒、智能问答等应用奠定基础。最新的研究成果表明,在大规模医学文本数据的支持下,医疗LLMs可在多项任务上达到甚至超越人类医师的水平。如谷歌研究团队提出的MedPaLM[2]模型在PubMed文献上进行预训练后,在医学问答、临床决策支持等任务上表现出色。清华大学开发的PMC-LLaMA[3]模型则利用PubMed Central(PMC)全文数据进行训练,在医疗命名实体识别、关系抽取等任务上取得了优异的效果。
尽管医疗LLMs取得了显著进展,针对医疗场景构建LLMs仍面临诸多挑战。首先,获取高质量且丰富的医学文本语料成本极高,不同LLMs所使用的数据质量和覆盖范围差异较大,影响模型的通用性和可靠性。医学文本中包含大量复杂的专业术语和领域特定的表达方式,且存在多义性和上下文依赖性,增加了模型理解和生成的难度。其次,现有模型在医学领域的应用缺乏针对性的优化设计,难以精准捕捉医疗专业知识的复杂性和细粒度特征。特别是在处理涉及多学科交叉的复杂医学问题时,模型的推理能力和决策准确性亟需提升。最后,随着医学知识的快速更新,模型知识库的更新滞后现象突出,导致模型易于出现“幻觉”,生成不符合事实的回答,威胁临床应用的安全性和可信度。此外,医学数据的隐私性和敏感性限制了数据的共享和使用,进一步增加了模型训练和优化的难度。
为应对上述挑战,本文基于通用大语言模型,提出了一种包含继续训练、有监督微调和强化学习的三阶段训练范式,并进一步构建了基于检索增强的知识获取架构,进一步强化模型在复杂医学问题上的推理能力。实验结果表明,本方法在C-EVAL和CMMLU两个标准中文评测基准中的医疗领域问题中表现优异,验证了其有效性。
1 医疗领域基础语言模型构建方法
本文针对医疗大语言模型在知识时效性和临床推理能力方面的局限,提出了一种基于电子病历数据和知识增强的模型构建方法。如
图1所示,该方法包含训练和推理两个核心环节。在训练环节,设计了一个仿生式三阶段训练框架,分别对应基础医学教育、临床实习和正式医师3个阶段。具体而言,首先通过医学文献和电子病历数据的继续训练构建领域知识表示,然后利用标注数据进行有监督指令微调以获取特定临床任务能力,最后基于专家反馈的强化学习提升模型决策水平。在推理环节,设计了基于检索的知识增强机制,通过实时调用外部医学知识库为模型推理提供动态知识支持。这种静态训练与动态知识增强相结合的范式设计,旨在构建一个具备持续学习能力和可靠临床决策能力的医疗大语言模型。下文将详细介绍训练框架和知识增强机制的具体设计。
1.1 任务定义
给定预训练语言模型 ,医疗文本语料集 ,医疗指令数据集 ,以及医师反馈数据集 。其中, 表示医学文献和病历等领域文本, 为指令和目标响应对, 分别表示临床场景、模型响应和专家评分。
1.2 基于继续训练的领域知识获取
本研究构建了一个大规模的医疗文本语料库用于模型继续训练。该语料库的构建过程包括数据采集和系统化预处理两个关键步骤。在数据采集阶段,我们从4个维度收集医疗领域文本:(1)专业医学教材与教辅材料;(2)医学期刊论文及会议文献;(3)标准化医学知识库;(4)电子病历数据集。其中,电子病历数据主要来自MIMIC-Ⅲ重症监护数据库和经过脱敏处理的医院系统记录。 为确保语料质量和标准化程度,本文设计了一套多阶段的数据预处理框架。该框架首先通过文本过滤算法剔除非医学相关内容,采用基于规则的方法识别并移除数据噪声。随后,利用医学文本分词模型进行语句切分和分词标注,该模型在医学领域语料上进行了特定优化。
在此基础上,我们基于UMLS (Unified Medical Language System) 构建了医学实体标准化模块,将不同表述形式的医学概念统一映射至标准术语体系。之后,将处理后的数据转换为结构化格式,构建了包含8.7亿Token的医疗文本语料库。经统计分析,该语料库覆盖了常见医学概念。本阶段采用只有解码结构的模型架构进行继续训练。对于输入序列 ,模型通过最大化序列的联合概率来优化参数:
其中为模型参数,表示位置之前的所有单元。
1.3 有监督医疗指令微调
本文构建了一个多任务导向的医疗指令数据集,包含4类核心子集:(1)症状-诊断数据集,将患者症状描述作为指令输入,相应诊断结果作为目标响应;(2)诊断-治疗数据集,以确诊结果为指令,对应治疗方案为响应;(3)拟诊讨论数据集,输入患者病情描述,输出对鉴别诊断情况及可能原因的系统性分析;(4)通用医疗指令数据集,基于临床医师实际工作指令,采用Self-Instruct方法进行数据扩充。
为规范化指令表达,针对不同任务设计了特定的模板格式。如在症状-诊断任务中,采用“根据以下症状进行诊断:[症状描述]”的标准化表达;在拟诊讨论任务中,使用“请对以下病例进行鉴别诊断分析:[病情描述]”的模板结构。同时对原始数据进行了系统化预处理,包括文本规范化、实体标准化和质量过滤等步骤。本阶段采用序列到序列的架构进行指令微调。将输入指令和目标响应拼接为完整序列,通过最小化响应部分的负对数似然进行优化:
1.4 基于医师反馈的强化学习方法
在
图1中,经过有监督指令微调,语言模型已经具备执行特定医疗任务的能力。然而,为确保模型在实际应用中的安全性、可控性和符合伦理标准,需要进一步开展基于医师反馈的强化学习过程,对其进行人类价值对齐。
本研究采用强化学习方法对模型进行价值对齐优化。针对强化学习阶段的数据构建,首先从3个维度收集原始数据:(1)医疗伦理指南文献,包括赫尔辛基宣言、日内瓦宣言等标准规范;(2)临床案例分析,对实际医疗决策案例的系统评估;(3)行业标准与规范,反映医疗实践中的专业准则。随后进行标准化处理:构建情景-决策对,对文本进行规范化和质量过滤,通过分层采样确保不同评分区间样本分布均衡。
在此基础上,基于BERT架构训练Reward模型用于评估模型输出的合规性。Reward模型将临床场景和模型响应拼接后输入BERT,通过分类头输出评分 。其损失函数定义为:
其中 为分类头映射函数,将[CLS]标记的输出映射为标量评分,为专家标注分数。在强化学习阶段,采用PPO算法进行优化。对于给定的临床场景 ,模型生成响应后由Reward模型给出评分。PPO的目标函数定义为:
其中表示新旧策略的概率比,为基于Reward评分计算的优势函数:
为裁剪系数,设为0.2。为平衡探索与利用,采用自适应KL惩罚项:
其中根据实际KL散度动态调整。通过此训练框架,模型能够基于专家反馈不断优化其决策行为,提升输出的规范性。
1.5 基于检索的知识增强推理
在
图1中,外部反馈和知识动态融合阶段对应的是模型检索式知识增强过程。尽管语言模型通过前期的预训练和微调已掌握大量医学知识,但这些知识仍是静态的,无法实时更新和扩展。为进一步提升模型的医疗推理能力,使其能够应对不断变化的医疗需求和复杂的医学问题,本文引入基于检索的知识增强方法,类似于医师在诊疗过程中参考最新医学文献或指南,以确保其决策的准确性和时效性。
在知识库构建方面,本文开发了一个融合多源异构数据的医学知识库系统,该系统包含以下3方面。(1)利用医学教材、词典、百科等资源构建的大规模知识库,涵盖疾病、药品、治疗、解剖等多个医学子领域的核心概念;(2)临床指南和共识:来源于UpToDate、DynaMed等综合性临床决策支持系统,NGC、GIN等临床指南数据库的权威医学指南;(3)病例报告语料库:由脱敏后的EMRs提取而来的真实病例报告。
在知识检索阶段,本文采用BGE作为文本编码器。对于输入查询 和知识库文档 ,分别计算其向量表示:
文档相关度通过余弦相似度计算:
选取相似度最高的Top-k文档作为上下文知识。为了整合检索知识,我们采用基于Prompt的知识注入方式,将检索到的相关文档作为附加的上下文信息,输入查询为,检索到的Top-k相关文档集合为。知识融入采用序列拼接方式:
其中表示序列拼接操作。模型基于拼接后的完整序列生成回答,序列拼接方式保持了检索知识的完整语义信息,使模型能够在推理过程中充分利用外部知识。
2 模型验证
为了全面评估本文提出的医疗领域大模型训练范式的有效性,本文设计了一系列实验,分别从通用领域模型对比、电子病历数据增强、检索式知识融合3个角度,展示本文方法在医疗问答任务上的优势。
2.1 数据描述
为了全面评估本文提出的医疗大语言模型在临床实践中的实用性,我们构建了多源异构的评测数据集。首先,从公开数据集方面,选取了C-Eval和CMMLU两个标准中文评测基准中的医疗领域问题。这些数据集包含了结构化的多选题形式,可以客观评估模型在医学知识掌握和推理能力方面的表现。
在真实临床场景数据方面,经过严格的脱敏处理和质量控制,所选数据包含住院病历、手术记录、检查报告等多个阶段。此外,我们特别筛选出300份完整的典型病例作为评测集,这些病例涵盖了内科、外科、妇产科等多个专科,能够全面检验模型在不同临床场景下的表现。每份病例都包含完整的病史、体格检查、辅助检查、诊疗过程等信息,并由高年资主治医师进行标注和质量审核。
2.2 实现细节
本研究基于Baichuan2-7B进行实验。所有训练在8×NVIDIA A100 GPU上进行。在继续预训练阶段,Batch size设置为128,使用AdamW优化器(β1=0.9,β2=0.999),初始学习率为1e-5,采用线性预热策略(warmup_steps=1 000)。训练持续100 K steps,使用混合精度训练,梯度裁剪阈值设为1.0。在指令微调阶段,采用LoRA进行参数高效微调,其中Rank=8,α=32。Batch size设为32,学习率为2e-4,训练10个Epochs。在RLHF阶段,PPO算法的Clip ratio ε设为0.2,初始KL惩罚系数β=0.1。采用Mini-batch训练,Batch size为8,每轮训练4个Epochs。Reward模型基于BERT-base构建,使用AdamW优化器,学习率设为1e-5。推理检索增强每个输入Query通过检索获取相似度最高的知识作为上下文增强。
2.3 公开基准评测
为评估模型的整体性能,本文首先在中文公共数据集C-Eval和CMMLU中进行了系统测试。在评估过程中,我们专门提取了与医学相关的问题子集进行测试,以确保评估结果能够准确反映模型在医疗领域的实际表现。本文对比了几种现有的基线模型。
HuatuoGPT[4],HuatuoGPT-Ⅱ[5]:基于通用大语言模型调整的医学专用模型,旨在提升在医学文本任务中的表现。
Llama2-Chat (
https://huggingface.co/THUDM/chatglm2-6b):属于Meta的LLaMA系列,经过微调后适用于对话生成任务,并在多种语言理解任务中取得较好的效果。
ChatGLM2,ChatGLM3 (
https://huggingface.co/ THUDM/chatglm3-6b):基于解码结构的通用对话模型,具备强大的中文处理能力,在中文语境中的表现尤为突出。
Qwen-7B-Chat (
https://huggingface.co/Qwen/Qwen1.5-7B-Chat):面向多任务学习的模型,具备较强的推理能力和处理能力,在医学推理任务中有显著的优势。
ChatGPT (
https://chat.openai.com):由OpenAI开发的广泛应用的对话生成模型,在多个领域,包括医学领域,具备较好的通用性和推理能力。
如
表1所示,通过与这些基线模型的比较,验证了本文提出方法的有效性和优势,本模型在两个评测基准上均取得了最优成绩。具体而言,在CMMLU医疗相关任务上,本模型达到60.30%的准确率,显著优于通用大模型如ChatGPT(50.37%)和Baichuan2-Chat(52.95%),同时也超过了专门面向医疗领域的HuatuoGPT-Ⅱ(59.08%)。在C-Eval医疗领域测试集上,本模型的表现更为突出,以65.43%的准确率领先第2名HuatuoGPT-Ⅱ(62.40%)约3个百分点。同时,本模型也大幅超越了Llama2-Chat(32.64%,31.47%)等通用基座模型的表现,表明针对医疗领域的特殊优化确实带来了实质性的性能提升。这些结果共同验证了本模型在医学知识掌握和专业推理能力方面的优越性。
2.4 临床场景评测
为评估基于检索的知识增强方法在实际医疗场景中的效果,我们设计了系统性的对比实验。实验采用两种方案:Base(不使用任何外部知识的原始模型)和Re-Aug(将检索到的医学文献、临床指南等知识通过简单拼接作为额外上下文输入)。测试数据源于300份真实病历,包含完整的病史、检查结果等信息。本实验设置中,评估指标包含了生成文本的平均长度(Len)、人工评估得分(Manual)、GPT-4自动评分(GPT-4)、ROUGE-L分数()、F1分数()、精确匹配率(EM)、命中率(Hit)、平均效用(MAU)和多样性(Dis)。
实验分别在3种数据处理场景下进行,即原始EMR、压缩后的EMR以及压缩后的EMR与实验室数据组合。在原始EMR场景中,检索增强方法使人工评分从2.84提升至3.02,GPT-4评分提升0.15(3.31→3.46),ROUGE-L和F1分别提升2.16%和1.42%,同时生成文本的多样性提升2.20%。在压缩EMR场景下,尽管基线表现相对较低,检索增强方法仍带来了显著改善,特别是在ROUGE-L(提升3.41%)和F1(提升5.05%)等客观指标上。在最复杂的EMR与实验室数据组合场景中,检索增强方法表现出最强的改进效果,人工评分提升0.31(2.97→3.28),GPT-4评分提升0.22,精确匹配率提升4.89%(
表2)。从结果来看,实验室结果缺乏足够的临床上下文支持,可能导致模型产生片面理解,完整的EMR和实验室数据组合会导致输入序列过长,影响模型处理效率。通过对实验室数据进行必要压缩,我们在保持关键信息的同时优化了模型输入。实验结果充分证明了检索增强方法在提升模型临床决策支持能力方面的显著效果。该方法不仅提高了模型在各项指标上的表现,更重要的是展现出了在处理不同类型医疗数据时的稳健性能。特别是在复杂病例分析中,检索增强机制帮助模型提供了更全面、更准确的临床建议,这对于提升医疗大语言模型的实际应用价值具有重要意义。
2.5 典型案例评测
本文首先将医疗领域大模型与ChatGLM2-6B和GPT-4进行人工对比,以评估领域适应训练的必要性。从定性分析来看,ChatGLM2-6B在医学知识和表达专业性上存在明显不足。以“女,51岁,已婚,山西省籍。主因进食吞咽困难6年于入院。”的病例为例,ChatGLM2-6B虽然给出了一些初步的诊断思路,如考虑食管痉挛、进一步检查等,但推断欠缺深入的依据,治疗建议也比较笼统,整体专业性有限。相比之下,本模型基于电子病历数据训练,在医学专业知识和语言组织上都更接近真实医师。它能够通过系统的鉴别诊断分析,逐一讨论食管良性狭窄、食管贲门癌、Chagas病等可能性及依据,体现了扎实的专业知识功底和缜密的临床思维。GPT-4在医学知识的广度上则表现出强大的优势,从贲门失弛缓、胃底黏膜下肿物、慢性胃炎等多个角度,对患者的病情进行了全面梳理,但GPT-4的表述相对较为口语化和冗长,而本模型更加简洁凝练,与医师的书写习惯更为贴近。综合来看,尽管GPT-4展现了惊人的医学洞见,但本模型在专业性和实用性上更胜一筹,特别是在与医师的日常工作流程结合时,结果见表3。