Simulating clinical interventions with a generative multimodal model of human physiology
Guy Lutsker, Gal Sapir, Jordi Merino, Smadar Shilo, Anastasia Godneva, Eli Meirom, Shie Mannor, Hagai Rossman, Gal Chechik, Eran Segal
cs.AI
2026-04-30
HealthFormer 在 1.5 万人深度表型上做生理轨迹生成;零样本对齐 41 项 RCT 方向,营养试验舒张压个体变化预测 r=0.78。
临床决策靠的是生理怎么随时间变,以及同一种干预为什么在不同人身上差一截。现有模型多半在拟合病历:诊断码、医嘱、稀疏化验。病历是就诊日志,分辨率停在「来过医院的时刻」。饮食、睡眠、体脂、连续血糖、肠道菌群这些把健康往前推的量,几乎不在序列里。队列还偏向已有症状的人,临床前轨迹更难学到。
单模态基础模型(视网膜、CGM、临床文本)在各自信号里很强,一次只看见一个系统。他汀降 LDL、运动降血压这类任务模型则一次只回答一个终点。静态多模态融合能拼特征,拼不出跨年的动力学。
缺的对象是一条按时间排好的生理轨迹,并且能被直接问「如果加上这个干预会怎样」。HealthFormer 按这个目标训。
数据来自 Weizmann 主导的 Human Phenotype Project:15,319 人的多次到访深度表型,切成 12,102 人训练、3,217 人测试;测试集里 1,364 人有间隔约两年的第二次就诊。全库约 6,422 万 token。每人被编成最长 25,000 的时间有序序列,覆盖 667 项测量、19 个类别(血液、DEXA、睡眠、CGM、菌群、可穿戴、药物、饮食、心电图、超声等)。连续变量按训练集分位数分箱(血常规大约 15–20 档,CGM 129 档),类别变量直接枚举;词表 13,056。每个位置叠六路 embedding:离散 token、原始连续值、模态、7 维时钟(星期、小时、月份、年份等)、正弦位置、年龄与性别。
骨架是 1.39 亿参数的 decoder-only Transformer:14 层、宽 768、12 头,8 张 H100、有效 batch 16。关键设计是查询机制:把「目标模态 + 目标时间」注入最后一层隐状态,一次前向就能问任意测量在任意时刻的分布。干预不另训头。药和运动是往序列末尾追加类别 token,token 个数和间距编码频次与疗程;饮食和 CPAP 是改已有连续值再重新分箱。损失三项相加:分箱交叉熵、按模态标准差归一的 MAE,以及一次就诊内部双向、跨就诊因果的 split-context 纵向损失。缺失不做填补,没测到的模态不进序列。
同一次就诊内重建,踝肱指数、DEXA、睡眠的类别均值 Pearson r 分别是 0.82、0.81、0.79;若干单项超过 0.9。用第一次就诊预测约两年后的第二次,338 个模态里 330 个相关显著:人体测量均值 r=0.65,菌群 0.64,超声只有 0.25。和逐模态线性回归比,57 个有显著差的模态里 HealthFormer 赢 51 个;全体模态上平均 Δr 只有 +0.001,相对「上次值加年龄性别 BMI」这条线,统一表征的两年增益很薄。14M 增到 139M,纵向 r 单调上升。
权重和分词器冻结,零样本迁到四个独立队列。UK Biobank 74 个共享模态中位 r=0.52(71/74 显著),NHANES 0.39,Framingham 0.45,同组营养试验 PNP3 0.70。把 UKB 基线 embedding 做均值池化,再送进惩罚 Cox,30 个发病与死亡终点里 27 个超过年龄+性别+BMI,最大增益在慢阻肺(+0.13)、慢性肾病(+0.09)、高血压(+0.07)。绝对 C-index:心血管死亡 0.826、心衰 0.808、慢性肾病 0.834。有现成临床评分的对照全部被超过:高血压相对 Framingham CVD +0.06,缺血性卒中相对 PREVENT-ASCVD +0.17。
干预是这篇真正要卖的能力。PNP3 的 200 人完全没进训练集:输入基线、六个月 CGM 和饮食日志,零样本预测六个月变化。舒张压 r=0.78(n=194),BMI 0.63,空腹血糖 0.61,甘油三酯 0.89,HbA1c 0.49;HDL 不显著(n=15)。六项充分样本标志物的均值 r,从「只有基线」的 0.39 升到「CGM+饮食+中期复诊」的 0.64。10 项里 9 项的 MAE 低于「假设什么都不变」;HDL 没有。
再拿按各试验 Table 1 采样的 200 人合成队列,去对 41 项已发表 RCT。方向 41/41 一致,点估计落进发表 95% 区间 30/41。对得上的包括 ALLHAT 氨氯地平/氯噻酮降收缩压、依折麦布降 LDL、多数 SGLT2、二甲双胍和运动的血糖终点。对不上的成簇出现:高强度他汀和 STEP-1 高剂量司美格鲁肽被低估(瑞舒伐他汀降 LDL 预测 24.7% 对发表 46%;体重 8.3% 对 14.9%),HOPE 的雷米普利收缩压被高估(10.1% 对 2.4%),SGLT2/GLP-1 的血压和体重旁效应偏大 2–9 个百分点。
| 对照 | 指标 | 结果 |
| 同访重建 ABI / DEXA / 睡眠 | 类别均值 Pearson r | 0.82 / 0.81 / 0.79 |
| 两年纵向 vs 逐模态线性回归 | 显著差模态胜场;全体 Δr | 51/57;+0.001 |
| UKB 30 个终点 vs 年龄+性别+BMI | 提升个数 | 27/30 |
| PNP3 舒张压六个月变化 | 个体 Pearson r | 0.78(n=194) |
| 41 项 RCT | 方向一致;点估计落入发表 95% CI | 41/41;30/41 |
对做临床模型和数字孪生的人,这是一次把建模对象从病历换成生理轨迹的完整实验:预测、分层、干预模拟都是同一套生成查询。139M、8 张 H100、公开队列规模,训练配方跟得上。
现在能用的面很窄。队列间重建和风险 embedding 可以当特征提取器试;开药决策不能拿来当反事实引擎。论文自己的定位是「初始健康世界模型」,不是可上临床的数字孪生。
相对逐模态回归,两年预测的平均增益接近零。统一权重多出来的,是干预条件化和迁到 UKB 这种只重叠 74 项测量的队列。
训练是观察性轨迹,学到的是共现,不是因果。干预查询比较的是暴露相对未暴露的预后分层,不是同一个人换药的反事实;后者需要每人多种可比干预的结局,HPP 给不出。RCT 面板用合成队列,不是试验原受试者,结局也只覆盖连续标志物,没有硬终点。
剂量、依从、滴定、停药在词表里仍然粗。他汀 token 不区分中等强度和高强度。新一代高剂量 GLP-1 在 HPP 里稀疏,大效应尾部被往普通人群里更常见的小变化上回归。PNP3 虽未入训,但是同一研究组、同一入组标准和同一套 CGM/饮食记录协议,个体 r 会被协议同源抬高。
纵向任务上线性回归只落后 0.001 的平均 r,「跨系统增益」主要出现在有显著差的子集里。疾病预测走的是 embedding 加 Cox,不是生成式查询本身。合成 RCT 的入选还要求干预在训练集出现至少 30 次、该标志物本地 r≥0.30,等于事先丢掉模型本来就不会的终点。