提示微调的多中心药品推荐模型 (TEMPT)
提出了一种名为 TEMPT 的预训练 - 提示微调多中心药品推荐模型,旨在解决数据稀疏及医院间开药分布差异问题。该方法首先通过 Mask Prediction 和 Contrastive Task 在全部医院数据上预训练通用医疗知识,随后利用提示向量针对各医院数据进行轻量级微调,避免灾难性遗忘。实验表明,相比传统推荐模型、大语言模型及多域推荐方法,TEMPT 在多中心场景下性能更优,尤其显著提升了小数据量医院的表现,同时兼顾了训练效率与存储成本。

提出了一种名为 TEMPT 的预训练 - 提示微调多中心药品推荐模型,旨在解决数据稀疏及医院间开药分布差异问题。该方法首先通过 Mask Prediction 和 Contrastive Task 在全部医院数据上预训练通用医疗知识,随后利用提示向量针对各医院数据进行轻量级微调,避免灾难性遗忘。实验表明,相比传统推荐模型、大语言模型及多域推荐方法,TEMPT 在多中心场景下性能更优,尤其显著提升了小数据量医院的表现,同时兼顾了训练效率与存储成本。

医生开药是治疗病人的重要手段,但面对复杂的疾病情况,这一过程对医生的专业水平要求极高且耗时费力。为应对这一挑战,自动化药品推荐系统应运而生。然而,现有研究多集中于为数据丰富的医院单独开发模型,忽视了现实中大量医院缺乏足够医疗数据的问题。
分析多中心医疗数据库 eICU 发现,大部分医院仅有不足 1500 个样本数据,这给充分训练药品推荐模型带来了巨大挑战。虽然使用所有医院数据训练统一模型看似可行,但不同医院因医疗条件和专业性差异,开药分布存在显著不同。数据显示,不同医院的平均每次开药数量差别很大,且医院间开药分布的 Jensen-Shannon Divergence (JSD) 距离普遍大于 0.4,部分甚至超过 0.8,表明分布差异显著。
现有的多域推荐方法(MDR)如 MMOE 和 PLE 通常适用于域数量较少的场景,难以适配多中心医院数量较大的情况;而基于 MLP 构建的方法如 STAR 则难以适配更先进的 Transformer 架构。为此,本文提出了预训练 - 提示微调的多中心药品推荐新范式 TEMPT。
多中心的电子医疗记录(EHR)包含多个医院的数据。每个治疗样本由诊断集合、治疗集合和用药集合构成。多中心药品推荐任务形式化为:在全部医院的 EHR 数据上训练一个模型,给定某医院中病人的诊断和治疗情况,为该病人推荐合适的药品组合。
TEMPT 模型包含两个训练阶段:预训练和提示微调。首先使用嵌入矩阵获得诊断和治疗的表征,并通过两层 Transformer 编码诊断和治疗集合(Medical Encoder)。为学习多中心通用医疗知识,先在全部医院数据上进行预训练;随后利用每个医院的数据进行提示微调以适配开药分布。
为诊断和治疗分配可学习的 Embedding 矩阵,将 ID 集合转换为 Embedding 集合。Medical Encoder 由两层 Transformer 构成,用于编码向量集合。为更好地学习公有医疗知识,Encoder 使用相同参数对诊断和治疗集合进行编码。类似于 BERT,在集合最前插入 [CLS] token,以其输出表征作为集合整体表征。
在预训练阶段,利用全部医院数据学习一般性医疗知识。针对数据稀疏及诊断治疗关系未被充分考虑的问题,设计了两个自监督任务:Mask Prediction 和 Contrastive Task。
诊断和治疗集合中的共现关系反映重要医疗知识。随机 Mask 掉集合中的一部分元素,得到新的集合表征。通过 MLP 预测被 Mask 掉的诊断和治疗。损失函数为预测诊断和预测治疗的损失之和。
治疗针对诊断,两者关联包含重要医疗知识。利用预训练得到的表征,经过 MLP 转换获取对比学习表征。采用基于 Batch 的对比学习方式,Batch 内对应位置的对角线为正样本,其余为负样本。计算对比学习损失函数。
微调阶段以药品推荐为目标。将诊断和治疗集合表征拼接,经 MLP 得到最终推荐结果。直接使用全量参数微调会导致灾难性遗忘,丢失通用医疗知识。因此提出针对每个医院的提示微调方法:为每个医院设计可微调的提示向量,插入到诊断和治疗向量集合的最前面,形成新的输入向量集合。微调时仅更新最后的 MLP 层和提示向量参数,Medical Encoder 参数固定,从而保留通用医疗知识。
在 eICU 数据集上进行广泛实验,该数据集是当前仅有的公开可用于多中心药品推荐的数据集。
对比四组方法:
总体效果显示,传统药品推荐模型远差于 MDR 和 TEMPT,原因在于未考虑多中心场景且数据量不足以支持充分训练。基于大模型的方法表现较差,因其擅长零样本设定且缺乏充分医疗领域知识。MDR 方法表现较好但仍逊于 TEMPT,因为 MMOE/PLE 难适配大量医院,STAR 难应用 Transformer 架构。Finetune 验证了预训练 - 微调方式适合该任务,但面临灾难性遗忘问题,不如提示微调方法。
实验验证了设计的合理性:使用不同参数的 Medical Encoder 或预训练任务使用相同 MLP 均导致效果下降。去除任一预训练任务也说明两者对学习通用医疗知识均有贡献。
全量训练耗时最长但存储消耗最小。ST 和 TF 因需微调全部参数,训练时间仍大于提示微调。存储方面,提示微调仅需存储不同医院的提示向量和 MLP 参数,消耗虽大于 FT 但显著少于 ST 和 TF。
按数据量将医院分为 small, medium 和 large。传统模型在小医院上表现较差,而本方法通过利用所有医院数据,极大提升了小医院效果,对医疗公平性具有价值。
本文首次探究了多中心药品推荐任务,提出了预训练 - 提示微调的两阶段方式完成该任务。未来将探究多中心药品推荐中的药物相互作用(DDI)问题,以及如何更好地利用病人属性信息和药品诊断文本信息。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online