赵霞:基于大语言模型的电子病历应用(续)
《基于大语言模型的电子病历应用》一文在CHIMA微信公众号发布后,得到同行们的关注,大家希望在大语言模型(LLM)功能和电子病历(EMR)应用基础上,再介绍一下基于LLM的EMR应用涉及的LLM技术。以下整理了相关内容,供各位参考,请各位指正。
EMR文档预处理
LLM用于EMR文档,首先需要对EMR文档内容(如临床记录、手术记录、出院总结、检查报告和共享文档等)进行预处理,转换为LLM能识别和处理的数据格式,这是基于LLM的EMR应用的首要环节。
EMR病历文档格式主要包括Word(docx)、XML和PDF格式:Word(docx)可显示标题、段落、表格等完整语义信息,常用于电子病历在线编辑;XML格式(CDA或共享文档规范)作为结构化数据,能精确地定义文档层级和语义,主要用于电子病历存储、传输和交换;PDF格式本质上是页面描述语言,常用于电子病历归档保存,用于模型解析时需要额外进行版面分析和元素识别。在基于LLM的EMR应用中,采用哪种文档格式需要考虑使用哪种LLM技术(参考本文“LLM的主要技术”的内容)。对于提示词和RAG技术建议使用Word(docx)格式。对于API、微调和智能体技术可使用XML。Word(docx)、XML和PDF之间可以进行格式转换,但格式转换中可能会丢失部分信息。
了解EMR文档预处理的原理,有助于更好地理解和解释LLM处理EMR文档的技术和方法。EMR文档处理主要包括文档切分、Token化和向量化。
1.文档切分:切分(Chunking)将长文本分割为适合LLM处理、大小适当的独立知识块,切分原则是平衡语义完整性与计算效率。切分方法:
(1)按固定字符数拆分:以相同的字符数量(如每500字符)进行拆分。
(2)按句子拆分:通过标点或语义边界分割。
(3)按Token拆分:结合模型的最大Token限制(如4096Token),动态调整分块长度。
(4)递归拆分:先按段落拆分,再逐级细化至句子或子句层级。简单的按固定字符数量拆分会导致破坏语义。拆分中可以相邻分块保留部分重叠内容(如10%字符),避免上下文断裂,或者分块中保留记录标题、作者等元数据信息,辅助后续检索过滤。
2.Token化:将切块的文本转换为(离散单元),Token可以是1个单词、1个词组或者1个标点符号,一个切块的文本被转换为一串Token。 Token化常用方法:
(1)分词工具:将连续文本拆分为可计算的离散单元(Token),实现自然语言到数值序列的映射。分词工具是自然语言处理中将文本转换为离散语义单元的核心组件。
(2)子词编码:将文本拆分为比单词更小的语义单元(如词根、前缀、后缀或字符组合),解决传统分词方法的词汇表爆炸和未登录词处理的问题,主流方法如BPE(Byte-Pair Encoding)、预训练分词器(如Hugging Face Tokenizers)等。
3.向量化:将文本中的语义信息映射为高维连续向量的过程,通常称为嵌入(Embedding)。嵌入为切分文档的每个Token添加位置编码(即Token在文本切块中的位置),将离散的Token序列转化为密集向量,这个向量包括每个Token的内容和位置信息(即语义),向量使LLM能够捕捉词汇间的语义关联。在应用推理中,LLM通过输入向量间的相似度计算(如余弦相似度),支持语义检索与聚类,生成文字输出。向量化主要方法:
(1)嵌入模型:又分为静态嵌入模型和动态嵌入模型。静态嵌入模型如词袋模型/TF-IDF、Word2Vec、GloVe等,为每个词汇生成固定向量。动态嵌入模型是当前主流嵌入,是基于Transformer的预训练模型(如BERT、GPT),能生成上下文相关的向量。
(2)量化与优化:量化是降低模型参数精度,减少存储与计算开销,例如采用INT4/INT8量化等低精度压缩,减少向量存储的开销。优化是指提升模型性能(如精度、泛化性)或效率(如训练速度、资源利用率)。
以上处理都有相关的技术工具,处理过程中需要选择合适工具。文档拆分处理涉及语义和上下文,在特定的任务中需要人工参与。
LLM的主要技术
LLM作为通用大语言模型,虽然具备相当的医学知识,但对于专业医学应用是远远不足的。因此LLM在医院部署后,还需要进行领域适配、知识增强等场景任务驱动的后训练,才能在基于LLM的EMR应用中发挥很好的作用。在基于LLM的EMR应用中,LLM可以提供的后训练技术主要有以下技术:
1.提示词:LLM通过提示词提供的上下文预测下一个词的概率分布,逐步生成完整文本。提示词作为初始条件,直接影响LLM对后续内容的预测路径。提示词设计需要仔细选择词汇、构造清晰的句子结构,并考虑上下文信息,确保LLM能够准确理解用户的意图并产生符合预期的输出。提示词往往需要多轮迭代优化,根据LLM的回答,通过调整词汇选择、改变句子结构或添加额外的上下文信息,提高LLM的性能和准确性。
2.RAG:RAG(检索增强生成)是LLM后训练的重要环节,也是医院部署LLM模型后的首选的方法。RAG通过文档预处理将外部知识(如医院的各类文档、标准规范、医学文献等)存入检索向量数据库。在回答用户查询时,RAG通过查询向量与检索向量相似度(如余弦相似度),从检索数据库中提取相似度高的知识,输入LLM并生成回答。好的RAG方法能够显著减少LLM模型幻觉,提高检索准确性。RAG关键在于文档切分方式,要能最大程度保持切分块之间的语义和上下文关系。RAG的核心范式包括朴素RAG(仅依赖文档长度,无上下文优化)、高级RAG(上下文相关、检索改进和生成优化,答案准确率提升20%-30%)、模块化RAG(知识图谱关联、检索多源数据,答案准确率可达85%)和智能体RAG(RAG的高级范式,通过智能体自主决策闭环,答案准确率超90%)。还需要定期维护和更新检索向量数据库,保证LLM的时效性。
3.API:API是指LLM与外部系统的数据接口,在这里是指LLM与医院信息系统数据库的接口。LLM通过API实现与医院信息系统的数据交互,根据用户问题获取应用场景任务所需的数据。API是基于LLM的EMR应用的重要手段,能够实时获取EMR数据,实现实时和精准的应用场景推理。API有不同实现手段,包括传统的API接口,以及Function Call和MCP(Model Context Protocol)等面向模型的主流技术。除了API接口,经训练后LLM还可以自动生成SQL语句,直接查询获取数据库的指定数据。如果医院的LLM部署在外网,或可以连接外网,API还可以推动LLM与互联网上资源接口对接,从而获取数据。
4.微调:微调(Fine Tuning)将医院专有知识库、规范等知识融入LLM,增强业务场景应答能力。与RAG和API不同,微调是通过训练方式将知识嵌入(迁移)到LLM内部,以提升LLM的工作效率,不足的是知识可能更新滞后。医院用户对LLM的微调应尽量局限在模型顶层的轻量级调整,例如当前常用的低秩微调LoRA和QLoRA等,避免改变原模型权重,造成LLM的生成质量下降、推理能力退化现象。微调的另一个问题是训练数据准备,微调通常采用监督学习方式。用于微调的数据,一是要与应用场景数据一致,二是需要进行数据标注。例如,对于病历质量控制的应用场景,用于微调的数据就需要是病历质控的相关数据,并且要对这些数据进行标注,注明是否符合质控标准。
5.智能体:智能体(Agent)是指能够通过感知环境,自主推理决策并执行动作以实现特定目标的实体或系统。对于LLM的AI智能体来说,就是通过用户输入信息(如发出提问或输入数据),感知上下文、推理决策并生成结果输出的系统。AI智能体适用于特定场景任务,通常是流程和规则不确定,需要LLM推理和决策的场合。对于复杂的应用场景,可以通过多个AI智能体联合使用,完成复杂过程,降低模型复杂性、增加模型灵活性。将一个复杂的诊疗过程分解为若干个诊疗子过程,分别由各自的AI智能体顺序执行完成。
6.多模态:医疗数据本质具备多模态特征,包括医学影像、电生理信号、检查检验结果、病历文档、病理图像和组学信息等多种数据信息。多模态数据通过表示、融合、映射、对齐以及协同学习等技术整合起来,使得LLM能多维度精准感知患者的疾病既往、现状与预后,为医生在诊断疾病、制定治疗方案以及评估患者预后等方面提供精准的辅助决策支持。多模态应用需要支持多模态的LLM,例如医疗领域多模态LLM的DeepSeek-VL医疗版、Med-Gemini、LungDiag和Kyvo等。
7.蒸馏:模型蒸馏(Model Distillation)是一项模型优化技术,其核心意义在于将复杂大模型(教师模型)的知识迁移至轻量小模型(学生模型)中。模型蒸馏通过压缩模型体积、提升推理速度和节省资源开销显著降低模型的计算与部署成本,实现性能与效率的平衡。模型蒸馏包括基于响应(模型输出概率)的蒸馏、基于特征(模型层间特征)的蒸馏和基于关系(模型结构关系)的蒸馏等类型。
8.效果评估:效果评估是基于LLM的EMR应用的关键环节。常用的效果评估指标包括精准率(Precision)、召回率(Recall)、F1分数(F1 Score)和准确性(Accuracy)4项基本指标。精准率反映模型的预测准确性,召回率反映模型的捕抓能力,F1分数反映模型的平衡性,准确性反映模型全局预测能力。医院在建立或调整LLM应用(包括智能体)后,应进行效果评估,并通过持续迭代优化,不断改善模型的服务能力。对于应用于患者诊疗的LLM应用,效果评估是必须的过程。
上述的LLM基本技术,在实际应用中需要根据应用场景和功能要求进行选择和组合,以求获得最佳效果。例如一般的咨询问答,提示词加上RAG或API就可以了。但对于疾病辅助诊断和预测,RAG、API、微调和智能体等都是需要的。至于多模态、模型蒸馏等,可在进一步EMR深度应用中使用。
基于大语言模型的电子病历的应用是一个系统工程,涵盖从LLM选型和本地部署、EMR应用场景和数据准备、应用技术实施和测试评估等系列技术工作,整个过程需要系列的开发工具(包括模型底座的部署工具和领域模型的后训练工具)支持。随着LLM的广泛应用,各种开发工具和组件不断出现,用途、性能和标准化也不断完善,使用时可以择优使用。无论如何,实践才是硬道理,只有经过不断地实操和体验,才能获得满意的效果。
作者简介
赵霞,CHIMA委员,中国人民解放军南部战区总医院信息中心主任,高级工程师,生物医学工程学博士,硕士研究生导师。